A System Board For The 8008

Intel processors, at least for PCs, are ubiquitous and have been for decades. Even beyond the chips specifically built by Intel, other companies have used their instruction set to build chips, including AMD and VIA, for nearly as long. They’re so common the shorthand “x86” is used for most of these processors, after Intel’s convention of naming their processors with an “-86” suffix since the 1970s. Not all of their processors share this convention, though, but you’ll have to go even further back in time to find one. [Mark] has brought one into the modern age and is showing off his system board for this 8008 processor.

The 8008 predates any x86 processor by about six years and was among the first mass-produced 8-bit processors even before the well-known 8080. The expansion from four bits to eight was massive for the time and allowed a much wider range of applications for embedded systems and early personal computers. [Mark] goes into some of the details for programming these antique processors before demonstrating his system board. It gets power from a USB-C connection and uses a set of regulators and level shifters to make sure the voltages all match. Support for all the functions the 8008 needs is courtesy of an STM32. That includes the system memory.

For those looking to develop something like this, [Mark] has also added his development tools to a separate GitHub page. Although it’s always a good idea for those interested in computer science to take a look at old processors like these, it’s not always the easiest path to get original hardware like this, which also carries the risk of letting smoke out of delicate components. A much easier route is to spin up an emulator like an 8086 IBM PC emulator on an ESP32. Want to see inside this old chip? Have a look.

Continue reading “A System Board For The 8008”

Multiply Your Multimeter With Relays And USB

Multimeters are a bit like potato chips: you can’t have just one. But they’re a lot more expensive than potato chips, especially the good ones, and while it’s tempting to just go get another one when you need to make multiple measurements, sometimes it’s not practical. That’s why something like this 2×4 relay-based multiplexer might be a handy addition to your bench

In this age of electronics plenty, you’d think that a simple USB relay board would be easy enough to lay hands on. But [Petteri Aimonen] had enough trouble finding a decent one that it became easier to just roll one up from scratch. His goal was to switch both the positive and negative test leads from up to four instruments to a common set of outputs, and to have two independent switching banks, for those times when four-lead measurements are needed. The choice of relay was important; [Petteri] settled on a Panasonic DPDT signal relay with low wetting current contacts and a low-current coil. The coils are driven by a TBD62783A 8-channel driver chip, while an STM32 takes care of USB duties.

The mechanical design of this multiplexer is just as slick as the electrical. [Petteri] designed the PCB to act as the cover for a standard Hammond project box, so all the traces and SMD components are mounted on the back. That just leaves the forest of banana-plug binding posts on the front, along with a couple of pushbuttons for manual input switching and nicely silkscreened labels. The multiplexer is controlled over USB using the SCPI protocol, which happily includes an instrument class for signal switchers.

We think the fit and finish on this one is fantastic, as is usual with one of [Petteri]’s builds. You’ll probably recall his calibrated current reference or his snazzy differential probe.

A raspberry pi-based digital readout above an old lathe

Roll Your Own DRO With An Added Twist

When using a manual machine tool such as a lathe or milling machine, there can be a lot of pressure to read the position and feed the axes at the correct rate. That’s why modern machines typically have some form of digital read-out (DRO). [Stefano Bertelli] has created a simple Raspberry Pi based DRO with an additional twist, that of a linked motor drive output.

A view of the custom RS485 interfaced DRO readout and motor controller
Realtime encoder position reading and motor control are best done with a dedicated microcontroller, ideally with a proper RTOS.

The axes that need to be monitored should be mechanically attached to a position sensor like a linear encoder or a rotary type. Using a linear sensor with a linear axis instead of a rotary encoder on the downstream dial is better. For the readout unit, [Stefano] used a WaveShare 7-inch touchscreen module with a Raspberry Pi 3 for the UI of the readout unit. The Pi has a custom-designed HAT, that performs power conditioning and provides a robust RS485 interface. Connected via that RS485 link is another custom PCB based on an STM32F411 with a few supporting power supplies and interfacing components. The job of this board is to interface to the position encoders, reading positioning pulses using interrupts. There is an additional stepper motor drive courtesy of a ULN2003 Darlington driver to allow the control of a single motorised axis. An additional motor driver module is required, which should be no surprise since driving a milling machine axis will require a fairly beefy motor. This GitHub repo contains the FreeRTOS-based firmware for this board. This motor drive has the ability to be connected to a measuring axis in a programmable way, enabling one axis to be adjusted to follow or jump in controlled steps with another. This feature can significantly simplify certain types of machining operations, as [Stefano] elaborates in the video.

Lastly, the Raspberry Pi runs a simple Python application with Kivy for the GUI. As [Stefano] explains in the video below, this makes debugging and modification quite simple.

Adding DROs to an older machine is an obvious but valuable hack. Here’s another way to do it. If that’s too much work, then you could just hack a digital readout calliper in there.

Continue reading “Roll Your Own DRO With An Added Twist”

Eliminate That Pesky Power-Only USB Cable With This Cable Tester

Ever wondered why your Arduino wasn’t programming, only to find out that the cable doesn’t have any data conductors? Worry not, [Spencer Maroukis] has got you covered with the USB Sleuth Cable Tester!

The cable tester is a beautiful black circular PCB, with USB ports of nearly every type on the edges. It works partially through passive detection with LEDs and otherwise through active detection of things like the orientation with an STM32 powered by a coin cell battery. But it gets better: There are disconnect switches and exposed pads to test some of the conductors with a digital multimeter!

It may not be necessary for all of us, but one thing is clear: When you needed a good USB cable, you wished you had this to actually test it. The design is open-source too, which is definitely nice if you want one for yourself.

Meanwhile this isn’t the first USB cable tester we’ve seen here.

Simulating A Time-Keeping Radio Signal

As far as timekeeping goes, there’s nothing more accurate and precise than an atomic clock. Unfortunately, we can’t all have blocks of cesium in our basements, so various agencies around the world have maintained radio stations which, combined with an on-site atomic clock, send out timekeeping signals over the air. In the United States, this is the WWVB station located in Colorado which is generally receivable anywhere in the US but can be hard to hear on the East Coast. That’s why [JonMackey], who lives in northern New Hampshire, built this WWVB simulator.

Normally, clocks built to synchronize with the WWVB station include a small radio antenna to receive the 60 kHz signal and the 1-bit-per-second data transmission which is then decoded and used to update the time shown on the clock. Most of these clocks have internal (but much less precise) timekeeping circuitry to keep themselves going if they lose this signal, but [JonMackey] can go several days without his clocks hearing it. To make up for that he built a small transmitter that generates the proper timekeeping code for his clocks. The system is based on an STM32 which receives its time from GPS and broadcasts it on the correct frequency so that these clocks can get updates.

The small radio transmitter is built using one of the pins on the STM32 using PWM to get its frequency exactly at 60 kHz, which then can have the data modulated onto it. The radiating area is much less than a meter, so this isn’t likely to upset any neighbors, NIST, or the FCC, and the clocks need to be right beside it to update. Part of the reason why range is so limited is that very low frequency (VLF) radios typically require enormous antennas to be useful, so if you want to listen to more than timekeeping standards you’ll need a little bit of gear.

Jana showing the board in action, with a magnetic probe attached to it

Add The Analog Toolkit To Your…Toolkit

Analog acquisition tools are super helpful whenever you want to run an experiment, test out a theory, or improve upon your code, and you won’t realize how much you always needed one up until you’re facing a situation where it’s the only tool for the task. Well, here’s a design you might just want to add to your next PCB order — the STM32G4 Analog Toolkit from [Jana Marie].

The recommended STM32G431 is a wonderful tool for the task in particular. For a start, this board exposes nine 16-bit ADC inputs, with six of them capable of differential mode and three of them having the PGA (Programmable Gain Amplifier) feature. There’s also two 12-bit DAC pins, two timer outputs, three GPIOs, and UART with I2C for the dessert. As a bonus, it can work as a PD trigger, giving you higher-than-5V voltages out of USB-C for any experiments of yours.

The board requires only a few components, most of them easily solderable, with the STM32 in the TQFP32 package. The BOM is optimized, the GPIOs are used up to the max, with two spare GPIOs driving an RGB LED using a witty control scheme. There’s even a place to clip an alligator clip, in case that’s what your probing hardware wants! All in all, this is a carefully crafted design certainly worth having on hand.

Make sure to get a few of these made before you find yourself desperately needing one! That said, there’s always a backup option, the venerable ATtiny85.

Open Source DC UPS Keeps The Low-Voltage Gear Going

We all like to keep our network gear running during a power outage — trouble is, your standard consumer-grade uninterruptible power supply (UPS) tends to be overkill for routers and such. Their outlet strips built quickly get crowded with wall-warts, and why bother converting from DC to AC only to convert back again?

This common conundrum is the inspiration for [Walker]’s DC UPS design, which has some interesting features. First off, the design is open source, which of course invites tinkering and repurposing. The UPS is built for a 12 volt supply and load, but that obviously can be changed to suit your needs. The battery bank is a 4S3P design using 18650 cells, and that could be customized as well. There’s an ideal diode controller that prevents DC from back-feeding into the supply when the lights go out, and a really interesting synchronous buck-boost converter in place of the power management chip you’d normally see in a UPS. The converter chip takes a PWM signal from an RP2040; there’s also an ESP32 onboard for web server and UI duties as well as an STM32 to run the BMS. The video below discusses the design and shows a little of the build.

We’ve seen a spate of DC UPS designs lately, some more elaborate than others. This one has quite a few interesting chips that most of us don’t normally deal with, and it’s nice to see how they’re used in a practical design.

Continue reading “Open Source DC UPS Keeps The Low-Voltage Gear Going”