Bringing The 555 Mini-Notebook To Video

Like many of us [AnotherMaker] is a fan of the classic Forrest Mims electronics books, specifically, the Engineer’s Mini-Notebook series. They were great sources of inspiration, but at the time, he couldn’t afford to actually build most of the circuits described. Now as an adult, he decided to go through the 555 Timer IC Circuits Mini-Notebook, full of example circuits and explanations, all in Mims’ trademark handwritten style, and build all the circuits for real. And so, a series of YouTube videos are currently being released going over every circuit, how it works, and looking at waveforms on an oscilloscope!

So, PCBs were designed, each containing four of the circuits from the book. With the Mims circuit diagram on one side of the screen and the PCB on the other, [AnotherMaker] goes into a good amount of detail explaining how each circuit works, referring to the schematic and oscilloscope as needed. Each part in the series focuses on the next circuits in order, and eventually the whole series will cover every single circuit in the book.

It’s a great series of videos for anyone learning electronics, especially those who would like to learn about one of the most produced integrated circuits of all time! It’s also an excellent way to bring a fresh perspective to this classic book, while simultaneously bringing the content to a wider audience via online video.

Continue reading “Bringing The 555 Mini-Notebook To Video”

PCB Design Review: HAB Tracker With ATMega328P

Welcome to the Design Review Central! [VE3SVF] sends us their board, and it’s a HAB (High Altitude Balloon) tracker board. It’s got the venerable ATMega28P on it, a LoRa modem and a GPS module, and it can be powered from a LiIon battery. Stick this board with its battery onto a high-altitude balloon, have it wake up and transmit your coordinates every once in a while, and eventually you’ll find it in a field – if you’re lucky. Oherwise, it will get stuck hanging on a tree branch, and you will have to use a quadcopter to try and get it down, and then, in all likelihood, a second quadcopter so that you can free the first one. Or go get a long ladder.

The ATMega328P is tried and true, and while it’s been rising in price, it’s still available – with even an updated version that sports a few more peripherals; most importantly, you’re sure to find a 328P in your drawer, if not multiple. Apart from that, the board uses two modules from a Chinese manufacturer, G-Nice, for both GPS and Lora. Both of these modules are cheap, making this tracker all that more accessible; I could easily see this project being sold as a “build your own beacon” kit!

Let’s make it maybe a little nicer, maybe a little cheaper, and maybe decrease the power consumption a tad along the way. We’ll use some of the old tricks, a few new ones, and talk about project-specific aspects that might be easy to miss.

Continue reading “PCB Design Review: HAB Tracker With ATMega328P”

A New Raspberry 5 DSI Cable Makes Using Screens Easier

Arguably the greatest strength of the Raspberry Pi is the ecosystem — it’s well-supported by its creators and the aftermarket. At the same time, the proliferation of different boards has made things more complicated over the years. Thankfully, though, the community is always standing by to help fix any problems. [Rastersoft] has stepped up in this regard, solving an issue with the Raspberry Pi 5 and DSI screen cables.

The root cause is that the DSI cable used on the Raspberry Pi 5 has changed relative to earlier boards. This means that if you use the Pi 5 with many existing screens and DSI cables, you’ll find your flat ribbon cable gets an ugly twist in it. This can be particularly problematic when using the cables in tight cases, where they may end up folded, crushed, or damaged.

[Rastersoft] got around this by designing a new cable that avoided the problem. It not only solves the twist issue, but frees up space around the CPU if you wish to use a cooler. Thanks to modern PCB houses embracing flexible boards, it’s easy to get it produced, too.

This is a great example of the democratization of PCB and electronics production in general. 20 years ago, you wouldn’t be able to make a flex cable like this without ordering 10,000 of them. Today, you can order a handful for your own personal use, and share the design with strangers on a whim. Easy, huh? It’s a beautiful world we live in.

Model Rocket Nails Vertical Landing After Three-Year Effort

Model rocketry has always taken cues from what’s happening in the world of full-scale rockets, with amateur rocketeers doing their best to incorporate the technologies and methods into their creations. That’s not always an easy proposition, though, as this three-year effort to nail a SpaceX-style vertical landing aptly shows.

First of all, hats off to high schooler [Aryan Kapoor] from JRD Propulsion for his tenacity with this project. He started in 2021 with none of the basic skills needed to pull off something like this, but it seems like he quickly learned the ropes. His development program was comprehensive, with static test vehicles, a low-altitude hopper, and extensive testing of the key technology: thrust-vector control. His rocket uses two solid-propellant motors stacked on top of each other, one for ascent and one for descent and landing. They both live in a 3D printed gimbal mount with two servos that give the stack plus and minus seven degrees of thrust vectoring in two dimensions, which is controlled by a custom flight computer with a barometric altimeter and an inertial measurement unit. The landing gear is also clever, using rubber bands to absorb landing forces and syringes as dampers.

The video below shows the first successful test flight and landing. Being a low-altitude flight, everything happens very quickly, which probably made programming a challenge. It looked like the landing engine wasn’t going to fire as the rocket came down significantly off-plumb, but when it finally did light up the rocket straightened and nailed the landing. [Aryan] explains the major bump after the first touchdown as caused by the ascent engine failing to eject; the landing gear and the flight controller handled the extra landing mass with aplomb.

All in all, very nice work from [Aryan], and we’re keen to see this one progress.

Continue reading “Model Rocket Nails Vertical Landing After Three-Year Effort”

Build Your Own 16 MB 30-Pin SIMMs For Vintage PCs

Today’s memory sticks have hundreds of pins and many gigabytes of RAM on board. Decades ago, though, the humble 30-pin SIMM was the state of the art where memory was concerned. If you’ve got vintage gear, you can try and hunt down old RAM, or you can copy [Bits und Bolts] and make your own.

Previously, [Bits und Bolts] built a 4 MB SIMM, but he’s now ramped up to building 16 MB RAM sticks — the largest size supported by the 30-pin standard. That’s a ton compared to most 30-pin sticks from the 1980s, which topped out at a feeble 1 MB.

We get to see four of his 16 MB sticks installed in a 386 motherboard, set up to operate in the appropriate Fast Page Mode. He was able to get the system operating with 64 MB of RAM, an amount still considered acceptable in the early Pentium 3 era. Hilariously, memtest took a full ten hours to complete a single pass with this configuration. [Bits and Bolts] also tried to push the motherboard further, but wasn’t able to get it to POST with over 64 MB of RAM.

As [Bits und Bolts] demonstrates, if you can read a schematic and design a PCB, it’s not that hard to design RAM sticks for many vintage computers. We’ve seen some other RAM hacks in this vein before, too.

Continue reading “Build Your Own 16 MB 30-Pin SIMMs For Vintage PCs”

Misconceptions About Loops, Or: Static Code Analysis Is Hard

When thinking about loops in programming languages, they often get simplified down to a conditions section and a body, but this belies the dizzying complexity that emerges when considering loop edge cases within the context of static analysis. A paper titled Misconceptions about Loops in C by [Martin Brain] and colleagues as presented to SOAP 2024 conference goes through a whole list of false assumptions when it comes to loops, including for languages other than C. Perhaps most interesting is the conclusion that these ‘edge cases’ are in fact a lot more common than generally assumed, courtesy of how creative languages and their users can be when writing their code, with or without dragging in the meta-language of C’s preprocessor.

Assumptions like loop equivalence can fall apart when considering the CFG ( control flow graph) interpretation versus a parse tree one where the former may e.g. merge loops. There are also doozies like assuming that the loop body will always exist, that the first instruction(s) in a loop are always the entry point, and the horrors of estimating loop exits in the context of labels, inlined functions and more. Some languages have specific loop control flow features that differ from C (e.g. Python’s for/else and Ada’s loop), all of which affect a static analysis.

Ultimately, writing a good static analysis tool is hard, and there are plenty of cases where it’s likely to trip up and give an invalid result. A language which avoids ambiguity (e.g. Ada) helps immensely here, but for other languages it helps to write your code as straightforward as possible to give the static analysis tool a fighting chance, or just get really good at recognizing confused static analysis tool noises.

(Heading image: Control flow merges can create multiple loop entry
edges (Credit: Martin Brand, et al., SOAP 2024) )

Looking At Standard-Cell Design In The Pentium Processor

Die photo of the Intel Pentium processor with standard cells highlighted in red. The edges of the chip suffered some damage when I removed the metal layers. (Credit: Ken Shirriff)
Die photo of the Intel Pentium processor with standard cells highlighted in red. The edges of the chip suffered some damage when I removed the metal layers. (Credit: Ken Shirriff)

Whereas the CPUs and similar ASICs of the 1970s had their transistors laid out manually, with the move from LSI to VLSI, it became necessary to optimize the process of laying out the transistors and the metal interconnects between them. This resulted in the development of standard-cells: effectively batches of transistors with each a specific function that could be chained together. First simple and then more advanced auto-routing algorithms handled the placement and routing of these standard elements, leading to dies with easily recognizable structures under an optical microscope. Case in point an original (P54C) Intel Pentium, which [Ken Shirriff] took an in-depth look at.

Using a by now almost unimaginably large 600 nm process, the individual elements of these standard cells including their PMOS and NMOS components within the BiCMOS process can be readily identified and their structure reverse-engineered. What’s interesting about BiCMOS compared to CMOS is that the former allows for the use of bipolar junction transistors, which offer a range of speed, gain and output impedance advantages that are beneficial for some part of a CPU compared to CMOS. Over time BiCMOS’ advantages became less pronounced and was eventually abandoned.

All in all, this glimpse at the internals of a Pentium processor provides a fascinating snapshot of high-end Intel semiconductor prowess in the early 1990s.

(Top image: A D flip-flop in the Pentium. Credit: [Ken Shirriff] )