View on GitHub

Quorten Blog 1

First blog for all Quorten's blog-like writings

Searching around for hook-up wire jacket materials on Digi-Key, I am met with a variety of choices for the jacket material, but which ones to choose? For the sake of simple hobby projects, there is an obviosu eliminating answer. How hazardous are the materials?

There are a variety of jacket materials that incorporate fluorine. The advantage of these materials is increased strength and durability, increased working temperature range. The problem though… if they are burned, they release hydrofluoric acid… as gas, into the air that you breathe. And that is a really dangerous nasty chemical that you don’t want touching your body. Now that’s all fine and all if the working temperature range is well beyond soldering temperatures, but as it turns out, the temperature limit is 150 degrees Celsius (300 degrees Fahrenheit). That’s well below the temperature of soldering irons, so any materials with fluorine in them are a no-go for me.

20200306/https://en.wikipedia.org/wiki/ETFE

What is irradiated polyethylene? Here’s the key. When polyethylene is exposed to radiation, that causes cross-linking which increases the strength of it. Okay, great! All is good in terms of materials properties and composition as far as I am concerned.

20200306/https://en.wikipedia.org/wiki/Polyethylene
20200306/https://en.wikipedia.org/wiki/Irradiation
20200306/https://en.wikipedia.org/wiki/Cross-linked_polyethylene

Read on →

Okay, okay, so the question keeps coming up. What is the typical AWG used in the wires of USB cables? If I had to guess by looking at a USB cable for a mouse, I’d say 26 AWG.

But, according to these StackOverflow answers, most USB cables use 26 AWG or 26 AWG wire for the power pair. Okay, so I’m pretty much good on that one.

20200307/DuckDuckGo usb cable awg
20200307/https://electronics.stackexchange.com/questions/361321/awg-for-connecting-a-usb

But the other subject brought up. What is the typical AWG of Ethernet and telephone wire? 22 AWG to 26 AWG is typical.

Also, here’s another good point. According to these answers, 24 AWG wire can handle up to 2 A. That doesn’t quite cope with one of my previous statements…

20200307/https://www.engineeringtoolbox.com/wire-gauges-d_419.html

Read on →

When getting started with Raspberry Pi Zero, many times I was thinking about and wishing for a such thing as snap-on pin headers. It would provide an easy solder-free way to breadboard with Raspberry Pi Zero. Though I thought those didn’t exist, those really are a living reality, I just needed to know where to look. Here is one example, targeted at creating custom-sized Dual Inline Package (DIP) integrated circuits (IC) sockets, but it can also be used with single pin header wires so long as the prong is not too thick. Snaps to the side of plated through holes.

20200306/https://www.digikey.com/product-detail/en/mill-max-manufacturing-corp/346-43-140-41-013000/ED6464-40-ND/1212326

And here is the alternative that does not snap on.

20200306/https://www.digikey.com/product-detail/en/mill-max-manufacturing-corp/714-43-140-31-018000/ED9164-40-ND/4456601

And here is another alternative… I bought this one earlier thinking that I could use it to create custom-sized pin headers, but it proved to be too tight for that purpose. However, for the purpose of creating custom-sized DIP sockets, it works just fine.

20200306/https://www.digikey.com/product-detail/en/samtec-inc/SSA-132-S-T/SAM1122-32-ND/1105784

Programming FPGAs… looking more into this, I imagine there could be complications getting the FPGA programming software running on GNU/Linux. What hardware interface do I even have for programming an FPGA? Is it something like SPI? That would be ideal. Unfortunately, the details remain clouded…

First of all, many FPGAs do not have libre development tools. Only a few libre development tools have been developed through reverse engineering of the simplest of FPGAs, and they are not officially supported by the manufacturer. Worse yet, looks like the osftware may be primarily targeted toward development boards. Okay, okay, something is better than nothing, but maybe this won’t quite be good enough for me to use for an actual project.

20200305/DuckDuckGo linux fpga development
20200305/https://wiki.debian.org/FPGA
20200305/https://wiki.debian.org/FPGA/Lattice

In my previous search for economic complements to airlines that are experiencing a similar stock market drop, I found nothing. However, after some discussion with other folks and seeing it mentioned in stock news, I did find secondary companies being affected by the drop in airline activity. Energy companies… but not just any energy companies. Specifically, those energy companies that are involved in the business of jet fuel. This is a bit more challenging to search out because it is not as well advertised, but if you scourer for the hints you’ll find the relationship is quite striking. Not only are airline stocks heavily dependent on oil prices, vice versa is also true: decreases in the aviation industry also has a similar effect on the profitability of the companies that fuel them.

20200305/https://en.wikipedia.org/wiki/Jet_fuel
20200305/https://en.wikipedia.org/wiki/Shell_Oil_Company
20200305/https://en.wikipedia.org/wiki/Royal_Dutch_Shell
20200305/https://en.wikipedia.org/wiki/NuStar_Energy
20200305/https://en.wikipedia.org/wiki/Nustar_Fire
20200305/https://en.wikipedia.org/wiki/Phillips_66
20200305/https://en.wikipedia.org/wiki/Texaco
20200305/https://en.wikipedia.org/wiki/Chevron_Corporation
20200305/https://en.wikipedia.org/wiki/Standard_Oil#Successor_companies
20200305/https://en.wikipedia.org/wiki/ExxonMobil
20200305/https://en.wikipedia.org/wiki/BP
20200305/https://en.wikipedia.org/wiki/World_Fuel_Services
20200305/https://en.wikipedia.org/wiki/Marathon_Petroleum

Read on →

I have been in the middle of an epic pin shortage when designing a multi-purpose Raspberry Pi measurement device. But then, I had an epiphany. The SPI bus can be used to directly drive a plain old 8-bit shift register. The solution is simple. The SPI bus can use a rising edge clock for the data bus transfer, and that matches the clock discipline of a shift register. The SPI output is then wired to the shirt register data input. And, best of all, the SPI slave select signal can be used to your advantage. Once all bits have been shifted in and slave select is de-asserted, you can use that signal to trigger the switchover of the internal buffer of your shift register to set the outputs to the new values. And, what’s more, you can go and do likewise with shift register inputs. Even more, using the SPI interface to program your shift registers is both easier and faster than programming via GPIO pins.

20200304/https://en.wikipedia.org/wiki/Serial_Peripheral_Interface

Putting this altogether, I found out that I can restructure my “overdesigned” Raspberry Pi Zero system so that the 4-digit 7-segment display, 16-key matrix keyboard, 4 motor outputs, and one analog input (via HX711 Wheatstone bridge ADC) are all on the single SPI0 connection. The only GPIO pins I would use would be one for RESET on the display-keyboard module, and one for “AUX SPI slave select” between the display-keyboard versus motor outputs. Of course, I could alternately use SPI1 which has three slave selects, but either way it’s the same number of pins used. But that being said, I have enough pins freed to use both SPI0 and SPI1 simultaneously, as I might need if I use those fast custom optimized SPI display drivers.

Read on →

Sure, Linux realtime threads is one way to generate high frequency signals with Raspberry Pi reliably, but what are other methods mentioned out of the Internet? Oh, interesting, ChibiOS/RT is a realtime operating system that runs on Raspberry Pi and also Arduino. One portable operating system to write all your realtime code in.

20200304/DuckDuckGo raspberry pi generate microsecond one shot pulse
20200304/https://raspberrypi.stackexchange.com/questions/19765/rpi-gpio-as-a-high-speed-square-wave-generator
20200304/http://www.stevebate.net/chibios-rpi/GettingStarted.html

How do you build a power-on RESET circuit? The simplest method involves a capacitor and a comparator, but this won’t quite work if your power supply has a ramp-up time that is similar to the capacitor charge time.

20200304/https://en.wikipedia.org/wiki/Power-on_reset

Is there a reliable power-on RESET signal on Raspberry Pi? Well, looks like it could be that pretty much all GPIO pins on Raspberry Pi function as power-on RESET signals, so there you have it.

20200304/DuckDuckGo raspberry pi power on reset
20200304/https://raspberrypi.stackexchange.com/questions/1032/what-is-the-power-on-state-of-the-gpios

Read on →

When searching for an unrelated subject, I found these interesting Hackaday articles about the history of CRT video camera tubes and the history of parking meters. Interesting to see the Hackaday perspective on covering these subjects as opposed to the Wikipedia perspective. I must agree, the Hackaday site provides a useful forum for discussing a concise narrative that would be barred from Wikipedia.

20200303/https://hackaday.com/2020/02/27/recording-video-in-the-era-of-crts-the-video-camera-tube/
20200303/https://hackaday.com/2020/02/26/parking-meters-throughout-the-years-and-year-related-bugs/

So, when searching for information on SPI graphics displays on the Raspberry Pi, I found this nice custom driver that allows for faster framerates on SPI displays by sending only changed pixels rather than doing a whole refresh.

20200303/DuckDuckGo raspberry pi spi graphics display
20200303/https://hackaday.com/2018/10/21/blazing-fast-raspberry-pi-display-driver-will-melt-your-face-then-teach-you-how/
20200303/https://github.com/juj/fbcp-ili9341#how-it-works

Also, the driver documentation lists the compatible display controllers and the products that use the compatible display controllers. Great for making the buying decisions.

Please note that the driver custom codes directly against the low-level BCM2835 interface the assigned SPI interface, so you may not be able to use more than one SPI device through slave selects. In that case, you’ll need to wire your project to use SPI0 for the graphics display and SPI1 for all other SPI devices.

When GPIO pins are abundant, you just connect every single GPIO pin directly to your input or output devices. But, when GPIO pins are sparse, often times you can use combinatorial “glue” logic to achieve the functions you need and also save on GPIO pins. But, there’s a big question. Which chips are readily available for the functions you need?

Not all theoretically possible chips are easily available for purchase. Only the most popular ones are manufactured and on the mass market, and additionally, only a subset of such chips are available in the hobbyist-friendly through-hole design. From earlier discussion, I’ve noted that for hobby projects, sometimes it makes sense to use basic logic chips rather than a PLD because it keeps your overall system complexity down by not needing another layer of programmable chips, even though this can come at the expense of more complex wiring.

So, here’s the thing. Sometimes more complex wiring is a necessary evil when working with buying logic chips and wiring them together for glue logic.

Read on →