View on GitHub

Quorten Blog 1

First blog for all Quorten's blog-like writings

Again, I reiterate, because this is important!

One of the prime limitations of all forms of structured light 3D scanning is that you get interference from secondary reflections. Ideally, you want to programmatically select points on the object by shining light onto the object’s surface and only observing the results from the first bounce of such light off the object’s surface. This is not strictly possible in the real world; however, there are mitigations you can take to approach this ideal.

The primary one applied universally is to powder coat the object. The very simplest powder coats simply assure that the object has a diffuse surface. By having a diffuse surface, light shined on the object can be observed equally from all angles. Also, although there will still be interference from secondary reflections, it will be exponentially reduced due to the fact that diffuse reflections scatter incident light in all directions, hence reducing the intensity of the reflection from every angle.

To have a more extreme exponential reduction in secondary reflections, the powder coat can have a darker color. For example, rather than a white color, it can have a dark gray color. The primary problem with this is that you need a brighter light source to capture the same quality of data at the same camera exposure settings, and therefore at the same camera speed. With lasers in particular, high power lasers are often commercially restricted due to their inherent danger to human eyesight, which means that simply increasing the brightness may be impractical.

Read on →

Okay, okay, I’ve been playing around with the 3D visualization in KiCAD, and now I want to be able to export a 3D model of a complete board with components populated on it. How do I do that? Ah, now that’s the trick question. In the earlier versions of KiCAD that used VRML and X3D format models for the boarda components, you simply couldn’t do it within KiCAD itself. Instead, you had to make sure you had STEP models of all the componentson the board, and then run a converter program called “StepUp” to generate a STEP model of the board that copies and embeds all the STEP models of the components. Then you can import the overall STEP model to MCAD and go from there to do things like visualize a multi-board assembly, design enclosures, and so on.

Alas, one point to keep in mind… with KiCAD, the 3D interface was in bad need of a lot of refactoring, and that turned out to be a lot more work than was expected. KiCAD was reworked to be able to work with STEP models directly, so hopefully exporting a 3D model of your entire board will be quick and painless in future versions of KiCAD. Please note that within this forum there are links to equivalent STEP models of the old KiCAD VRML models, so you can use that as a starting point if you’ve started using the old VRML models to get a 3D visualization of a board.

20200428/DuckDuckGo kicad export 3d model of board
20200428/https://forum.kicad.info/t/how-to-share-step-3d-model-with-all-the-components-on-the-pcb-too/2542

Read on →

I’ve been having trouble running OpenGL over an SSH-forwarded X11 connection. The problem is that OpenGL is rendered on the remote computer, then the rendered image is sent to the SSH client computer. Why is this?

Here’s why. OpenGL GLX opcodes are specified up to OpenGL 2.1. However, implementation of GLX opcodes for many of the newer features is optional. GLX opcodes are only mandatory up to OpenGL 1.4. OpenGL 1.5 introduced vertex buffer objects. Yeah, that must-have feature for virtually all modern 3D software, with the exception of (basic) 3D modeling software where all vertex data must exist in system memory.

So, that’s why most modern systems will default to “direct” rendering followed by forwarding the resulting image, even when they ought to usee indirect rendering for better 3D performance. The whole idea of indirect rendering, well is pretty clearly outside the motivations of late 2000s era OpenGL as a competitive platform for the video game market and GPUs targeted for such at the time. And even now in the present, things are still pretty much the same.

20200428/DuckDuckGo ssh remote x11 opengl
20200428/https://stackoverflow.com/questions/40260056/opengl-over-ssh-glx

Now, this is some interesting insight. 15 years ago, “a large retailer” (Walmart-Sam’s Club) “shook up the supply chain industry” by announcing that all suppliers must provide RFIDs on their shipments. The early days, interestingly, largely turned out to be a failure due to the difficulty of the RFIDs communicating with the readers and the lack of features and functions of the software that processed the data. But now, RFIDs have advanced quite a bit and are quite a bit more durable for this application use, not to mention that the gear for reading the RFIDs is much better. One of the problems with the early RFIDs was that they weren’t sticking to the packages well enough!

20200427/https://www.digikey.com/en/blog/asset-tracking-comes-into-its-own

Okay, okay, now that I’ve researched the actual voltage levels on computer inputs, I can revisit the idea of building a microphone input-based oscilloscope with more confidence.

A resistive divide-by-1000 voltage divider is a good starting point to get 5 V logic down to a voltage level similar to that from a “dynamic” moving coil microphone.

  • Bottom leg: 100 ohm
  • Top leg: To divide by 1000… 100 * 1000 = 100 K ohm

Yeah, this is the easiest selection of resistors, but technically the total resistance is 100.1 K ohm, so the division factor is 1001, not

  1. And is this sufficient resistor values for the current drain of the sensor? I’m pretty sure it is.

Are dynamic moving coil microphones those common ones you see on stage? Yes, these are the typical kind of microphones used on stage amplification, where the listeners are in the same room as the performer and it is important to use this type of microphone to supress the “howling” feedback loops that result when the microphone picks up the amplified output. Try plugging one of these into your audio input and see what kind of digital signal levels you get from your particular microphone input.

Read on →

What is the current status on the COVID-19 vaccine? Well, well, Wikipedia is the first find for reporting the current status.

20200426/DuckDuckGo covid-19 vaccine
20200426/https://en.wikipedia.org/wiki/COVID-19_vaccine
20200426/https://en.wikipedia.org/wiki/Phases_of_clinical_research#Phase_II

So, what does this all mean? Looks like there could be a high probability of at least one COVID-19 succeeding all the clinical research trials. However… we have reason to cast doubt on the success numbers due to the hurried nature of the vaccine development. It could be that all the candidates fail at a much higher rate.

Besides, we’ve never got a single vaccine certified for any previous human Coronavirus. It could be that we just have to live out this virus without the luxury of vaccines, not to mention it’s not even clear whether contracting the real COVID-19 directly builds long-term immunity, there is already evidence of reinfections.

20200426/https://www.businessinsider.com/coronavirus-vaccine-may-be-impossible-to-produce-scientists-covid-2020-4

Oil prices are crashing, does that mean it’s a good time to buy stocks? Hold on, there’s a problem looming ahead. Answer the question, why are oil prices crashing? Because there is no place to store the oil, so oil producers must pay refiners to cough up some spare storage locations and become ever closer to 100% storage consumed. But by doing so, oil companies are loosing money. And if they keep loosing money through this means for too long, they will go bankrupt. Why can’t they just stop producing oil? Because for many oil rigs, if you shut it off, you’ll never get it back going again… not without the extreme labor required to set it up in the beginning.

So, therein lies the problem. If the deal is too good, and it destroys companies, there will be nothing left to invest in.

20200425/https://www.richdad.com/oil-prices-crash

These are some interesting articles about how to start a business without quitting your job, and how to become a successful entrepreneur through mastering marketing and acquiring customers.

20200419/https://www.richdad.com/how-to-start-a-business 20200419/https://www.richdad.com/how-to-be-a-successful-entrepreneur

This is a really interesting article about the Roseau stone that was thought to be lost, but has been found. What happened? It was left sitting around on a historian’s desk while the question of what to officially do with it was unanswered, and was there for many years until the historian’s death. What happened then? All of the contents of his office were diligently archived without loss. Yes, indeed in the midst of the University of Minnesota’s history department, worker’s desk contents are archived in totality without fail, unlike the rest of the business world that would have swiftly thrown everything away. So, as soon as modern historians were able to trace this chain of custody history up to this point, they were able to consult the archival location of the historian’s desk contents and the Roseau stone was found once again.

20200417/https://www.continuum.umn.edu/2020/02/the-roseau-stone/

This is a good Digi-Key article on suppressing acoustic noise in switched-mode power supplies. Interesting point, a ceramic capacitor deforms under voltage swings and can act like a tiny piezo speaker when being charged and discharged!

20200417/https://www.digikey.com/en/articles/suppressing-acoustic-noise-in-switched-mode-power-supplies

This is another good article on different types of switched-mode power supply control architectures and the Torex HiSAT-COT in particular.

20200417/https://www.digikey.com/en/articles/torex-hisat-cot-control-architecture-tutorial