View on GitHub

Quorten Blog 1

First blog for all Quorten's blog-like writings

Blender updates and PBR

2020-03-16

Categories: media-prog  
Tags: media-prog  

Blender has been quite the actively developed project over the years. It’s gone through several updates and changes, some of which I wasn’t fully aware of. So, for my own sake, I’ll highlight some of the main changes that I have experienced since the first time Blender got updated to version 2.5.

  • The Cycles GPGPU accelerated internal raytracing rendering engine got replaced by Eevee, a “PBR” renderer. What’s that? Basically, an evolutation on top of raytracing rendering engines to be more stringingly physically accurate, hence the acronym “Physically Based Renderer” (PBR).

  • The internal Blender Game Engine has been removed. It is considered deprecated and a more powerful external game engine such “like Godot” should be used instead.

20200316/https://en.wikipedia.org/wiki/Physically_based_rendering
20200316/https://en.wikipedia.org/wiki/Godot_(game_engine)

Ah, I remember Crystal Space was the old recommendation for an external game engine, but looks like they’ve been dethroned. Yep… looks like development froze over and the website is now partially broken. The page content is there, but the Content-Type reported by the server is no longer correct.

20200316/https://en.wikipedia.org/wiki/Crystal_Space

Shopping for Ethernet jacks for an electronics project, I saw that some had embedded LEDs. Ah, yes, das blinkenlights! If you have a choice between one jack that has blinkenlights and one that does not, why would you ever choose the one that doesn’t have them? The costs are approximately the same. Well, well, think about whether you really need those blinkenlights for your particular application. Maybe there’s not a monetary cost, but what kinds of materials are LEDs made out of? Are they easy to recycle or challenging to recycle?

And the answer is… they are challenging to recycle. Gallium is a key component of many LEDs, but it is a notoriously difficult metal to mine since there are virtually no concentrated ore deposits of Gallium. Typically it comes as a side effect of zinc ore, bauxite ore, and coal mining operations.

20200315/https://en.wikipedia.org/wiki/Light-emitting_diode
20200315/https://en.wikipedia.org/wiki/Light-emitting_diode_physics#Materials
20200315/https://en.wikipedia.org/wiki/Gallium

So, if you don’t need LEDs, don’t ask for them. Sure, for computer-grade electronics, you do need indicator LEDs to show that the box is powered on and working, but once you’ve got enough, you don’t need to keep asking for more.

I came upon this website that combines to great things together: geekiness and fashion. Yes, this is really what I was looking for… it’s hard to find interest in both categories in the same time. The author of this website was invited to the NASA Social and has an interest in space science.

20200315/https://www.pinkplanetsociety.com/
20200315/https://www.pinkplanetsociety.com/nasa-social-boeing-starliner-cst-100-orbital-test-flight-part-i-behind-the-scenes-at-ksc/
20200315/https://www.pinkplanetsociety.com/we-are-the-artemis-generation-nasa-opening-astronaut-applications-heres-the-requirements/

So, what the “shop this look” at the end of each post? Basically, the author keeps an inventory of all the clothing she wears in the pictures of the blog post, and then has links to all of it at the end, available for commercial purchase… sometimes. Looks like this is all contingent on mass production, so the more specialized and popular items are often found to be out of stock, especially on older posts.

Also space related: countdown cancellation? Yes, that’s the reason for countdowns on rocket launches, to check everything over and cancel if something is found wrong. Rocket launches are still challenging business.

20200315/https://nexthorizonsspaceflight.com/2020/03/15/spacex-scrubs-launch-at-engine-ignition/

What are those Z5U, Y5V, and C0G codes you see in the names of capacitors on Digi-Key? These are temperature operating range codes, they specify what temperature range the capacitor is capable of operating within and the variance in capacitance over that range. Of course, bigger temperature range ratings are more expensive, so only buy if your electronics really need to withstand the wider temperature range.

Of course, the other end of affairs is that all smaller package electronics are also cheaper, so if you are going for surface-mount capacitors, feel free to enjoy the larger operating temperature range when you buy in that form factor!

Also note, this Digi-Key article is also instrumental in specifying different classes of capacitors. It’s good to verify that the use case your capacitors are rated for is the same as your intended in-circuit use.

20200315/DuckDuckGo capacitor temperature coefficient
20200315/https://forum.digikey.com/t/understanding-ceramic-capacitor-temp-coefficients/727

KiCad has circuit simulation via ngspice. Does it simulate 7400 series integrated circuits? Unfortunately, no, because digital circuit simulation is not done well by an analog simulator. For that, you have to look toward a different digital or mixed-signal simulator.

20200313/DuckDuckGo 7400 series spice models
20200313/https://hackaday.com/2008/12/18/7400-series-logic-simulator/
20200313/https://forum.allaboutcircuits.com/threads/ltspice-74hc-library-from-yahoo-ltspice-group.46915/
20200313/https://www.reddit.com/r/AskElectronics/comments/yhi5j/74xx_lt_spice_library/

The Coronavirus has been spreading for quite some time, it is a full-blown pandemic. Here is some useful information about it. Curiously, although there haven’t been very many cases infecting children, children appear to be less heavily affected by the Coronavirus. This is unusual compared to typical flu symptoms.

20200313/https://www.nytimes.com/interactive/2020/us/coronavirus-us-cases.html
20200313/https://www.bbc.com/news/world-51839944
20200313/https://www.bbc.com/news/health-51774777

Can you debounce a tactile switch using a capacitor? Well, let’s search around. Now here are some stachoverflow folks who don’t know what they are talking about.

20200312/DuckDuckGo capacitor button debouncing
20200312/https://electronics.stackexchange.com/questions/64770/is-it-possible-to-use-just-a-capacitor-to-debounce-a-button#64771

Okay, let’s cut through that nonsense and I’ll provide my own accurate explanation. Yes, you can debounce a tactile switch using a capacitor, and you can also debounce a selector switch using two capacitors. Here’s how.

A resistor together with a capacitor between your GPIO input and power/ground acts as a low-pass filter. It wil work with both pull-up and pull-down circuits if wired correctly. Here’s how it works. Either the capacitor is empty and it will need to be charged up, or it is “full” (charged up to same voltage) and needs to be discharged. Not until the capacitor charge and voltage changes will the voltage to the GPIO input change.

For a pull-up input, wire the capacitor between the input and positive voltage supply. For a pull-down input, wire the capacitor between the input and ground. Although, if you are using ceramic capacitors, it doesn’t really matter which way you do it since the polarity is invertable and actually both ways work.

Read on →

When it comes down to picking transistors for modern computer-grade electronics projects, the question is between BJT and MOSFET. When you know for sure that you will only be controlling low current signals and are looking for the cheapest transistor to fit the bill, BJT is the clear winner. But what kind of BJT transistor should you choose, NPN or PNP? Looking at various circuits online, you’ll see that people use both, one or the other, without really any rhyme or reason. Except… that NPN tends to be preferred because it is conceptually easiser to understand: positive voltage turns the transistor on, no voltage or negative voltage turns the transistor off.

Well, after thinking about this for a little while, I came to some enlightenment. Let’s review some of my recent projects to analyze the problems I’ve made and what I could have and should have done better, especially if they are going through a V2 revision.

First of all, I had a 4-digit 7-segment common cathode LED display that I needed to control. How should I control it? Well, I looked at an example circuit that drive all the contacts directly from a microcontroller, and they used NPN transistors to sink the currents from the cathodes. Sounds fair enougn, I can just take the analog regulation components and paste them right into my own design. Wrong.

Read on →

Recently, I started using KiCad to play around and start learning. But then, when I really started using KiCad to collaborate on others on GitHub, I had to update to the latest version, version 5. I actually ended up starting to learn on version 4, and boy that was a mess in usability. Version 5 came with some significant usability improvements… except for perhaps one. Where is the built-in autorouter in KiCad version 5? I see it in the documentation, but I don’t see it in the user interface.

So, on I must go to searching the Internet and digging up community discussion to answer this. Unfortunately, as news has it, it was removed. If you want autorouting when using version 5, you have to export and import to the external Freerouter autorouter. Yeah, now that’s a nuisance and inconvenience for novices just getting started. You have to draw all the traces yourself? What a bunch of extra unnecessary effort when you are just getting started and not to a full final design yet!

Yeah, but that’s the way it has to be. On the flip side, you get much better features overall in version 5. Unlike in Blender, though, this all comes at the expense of file format incompatibility with version

  1. I mean, you can still partially read version 5 data in version 4, but some things will get broken that you’d think shouldn’t have to get broken.

In any case, if by accident I discovered this, it’s a good idea to have both version 4 and version 5 of KiCad around on hand for immediate use.

Read on →

Good note here to keep in mind when designing printed circuit boards. Traces under resistors is considered bad practice. Yeah, this makes sense when it is brought up, resistors generate heat, and heat increases resistance in traces, which degrades their primary purpose in the circuit.

20200312/https://github.com/worlickwerx/pi-parport/issues/29