Pi Pico Enhances RadioShack Computer Kit

While most of us now remember Radio Shack as a store that tried to force us to buy batteries and cell phones whenever we went to buy a few transistors and other circuit components, for a time it was an innovative and valuable store for electronics enthusiasts before it began its long demise. Among other electronics and radio parts and kits there were even a few DIY microcomputers, and even though it’s a bit of an antique now a Raspberry Pi Pico is just the thing to modernize this Radio Shack vintage microcomputer kit from the mid 80s.

The microcomputer kit itself is built around the 4-bit Texas Instruments TMS1100, one of the first mass-produced microcontrollers. The kit makes the processor’s functionality more readily available to the user, with a keypad and various switches for programming and a number of status LEDs to monitor its state. The Pi Pico comes into the equation programmed to act as a digital clock with an LED display to drive the antique computer. The Pi then sends a switching pulse through a relay to the microcomputer, which is programmed as a binary counter.

While the microcomputer isn’t going to win any speed or processing power anytime soon, especially with its clock signal coming from a slow relay module, the computer itself is still fulfilling its purpose as an educational tool despite being nearly four decades old. With the slow clock speeds it’s much more intuitive how the computer is stepping through its tasks, and the modern Pi Pico helps it with its tasks quite well. Relays on their own can be a substitute for the entire microcontroller as well, like this computer which has a satisfying mechanical noise when it’s running a program.

Continue reading “Pi Pico Enhances RadioShack Computer Kit”

A General-Purpose PID Controller

For those new to fields like robotics or aerospace, it can seem at first glance that a problem like moving a robot arm or flying an RC airplane might be simple problems to solve. It turns out, however, that control of systems like these can get complicated quickly; so much so that these types of problems have spawned their own dedicated branch of engineering. As controls engineers delve into this field, one of their initial encounters with a control system is often with the PID controller, and this open source project delivers two of these general-purpose controllers in one box.

The dual-channel PID controller was originally meant as a humidity and temperature controller and was based on existing software for an ATmega328. But after years of tinkering, adding new features, and moving the controller to an ESP32 platform, [knifter] has essentially a brand new piece of software for this controller. Configuring the controller itself is done before the software is compiled, and it includes a GUI since one of the design goals of the project was ease-of-use. He’s used it to control humidity, temperature and CO2 levels in his own work at the University of Amsterdam, but imagines that it could see further use outside of his use cases in things like reflow ovens which need simple on/off control or for motors which can be controlled through an H-bridge.

The PID controller itself seems fairly robust, and includes a number of features that seasoned controls engineers would look for in their PID controllers. There are additionally some other open-source PID controllers to take a look at like this one built for an Arduino, and if you’re still looking for interesting use cases for these types of controllers one of our favorites is this PID controller built into a charcoal grill.

Cute Brass Lunar Lander Is A Neat Little Environment Monitor

Sometimes form can make a project more attractive than its simple function. [Mohit Bhoite]’s free-form builds are great examples of this. His latest effort is a gorgeous little device that displays environmental readings, and it’s shaped like a lunar lander. (Nitter) Just exquisite!

The device is based around a Seeedstudio XIAO nRF52840 dev board. It’s hooked up to a BME280 sensor which delivers temperature, humidity and air pressure readings from the immediate environment. These readings are displayed on a tiny 128×32 OLED display, along with the current time. Power is via a compact 14250 lithium cell.

So far, so simple, but the real magic is in the housing. It’s a wireframe lunar lander lookalike which [Mohit] put together using brass wire and some careful soldering. It adds so much to the build, which wouldn’t be nearly as attractive if just assembled on a PCB. It’s not his first rodeo, either. He previously built a cute device (Nitter) with an animated face in 2019 using similar techniques; it used a CCS811 gas sensor to detect air quality.

Often, we find ourselves falling most in love with devices that please the eye. [Mohit] certainly demonstrates a great skill in building things that fit this brief. Sometimes, it only takes a bit of thought and careful application of the mind to bring a beautiful aesthetic to your projects, and the results can be most rewarding. Try his Hackaday Supercon talk if you want to learn more. Continue reading “Cute Brass Lunar Lander Is A Neat Little Environment Monitor”

Breaking The Flash Encryption Feature Of Espressif’s Microcontrollers

Espressif’s ESP32 microcontrollers come with a Flash encryption feature that when enabled ensures that the data and code stored on the (usually external) Flash chip is encrypted with AES-256 (ESP32) or better (ESP32-C3, -C6). For the ESP32 this encryption feature has been shown to be vulnerable to side channel attacks (SCA), leading [courk] to not only replicate this result with a custom ESP Correlation Power Analysis (CPA) board (pictured) that captures power usage of the MCU, but also to try his luck with the ESP32-C3 and ESP32-C6 parts that should be tougher nuts to crack.

Whereas the ESP32 uses a fairly straightforward AES-256 encryption routine that together with the exposed Flash communication lines on the QSPI bus make for a textbook SCA example, the ESP32-C3 ups the encryption to XTS-AES, which uses two 128-bit keys on the -C3 part (XTS-256). This particular MCU is still susceptible to the same SCA attack with CPA, making it somewhat harder to attack than the ESP32, but by no means impossible.

Continue reading “Breaking The Flash Encryption Feature Of Espressif’s Microcontrollers”

Saving PIC Microcontrollers With DIY Programmer

When working on a project, plenty of us will reach for an Atmel microcontroller because of the widespread prevalence of the Arduino platform. A few hackers would opt for a bit more modern part like an ESP32. But these Arduino-compatible platforms are far from the only microcontrollers available. The flash-based PIC family of microcontrollers is another popular choice. Since they aren’t quite as beginner or user-friendly, setting up a programmer for them is not as straightforward. [Tahmid] needed to program some old PIC microcontrollers and found the Pi Pico to be an ideal programmer.

The reason for reaching for the Pico in the first place was that [Tahmid] had rediscovered these decade-old microcontrollers in a parts bin but couldn’t find the original programmer. Thanks to advances in technology in the last ten years, including the advent of micropython, the Pico turned out to be the ideal programmer. Micropython also enables a fairly simple drag-and-drop way of sending the .hex file to the PIC, so the only thing the software has to do is detect the PIC, erase it, and flash the .hex file. The only physical limitation is that the voltages needed for the PIC are much higher than the Pico can offer, but this problem is easily solved with a boost converter (controlled by the Pico) and a level shifter.

[Tahmid] notes that there’s plenty of room for speed and performance optimization, since this project optimized development time instead. He also notes that since the software side is relatively simple, it could be used for other microcontrollers as well. To this end, he made the code available on his GitHub page. Even if you’re more familiar with the Arduino platform, though, there’s more than one way to program a microcontroller like this project which uses the Scratch language to program an ESP32.

Building A Loop Station With An RP2040

Loop stations are neat things, able to replay one or more loops of audio over and over again while you perform over the top of them. Musicians like [Marc Rebillet], [Reinhardt Buhr], and [Dub FX] have made careers out of this style of performance. [Yaqi Gao], [Xiaoyu Liang] and [Alina Wang] decided to build a loop station of their own, using the popular RP2040 chip.

At its simplest, a loop station must take in audio, record it, and then play it back. Generally, it can do this with several tracks and mix them together, while also mixing in the incoming audio as well. The group achieved this by inputting a guitar signal to the chip via an amplifier and the onboard analog-to-digital converter. The audio can be recorded as desired, and then played back via an external digital-to-analog converter. Live audio from the guitar is also passed through to allow performing over the recorded sound. The group also used an external half-megabyte FRAM chip to allow storing additional audio sample data, which can be trucked out over serial and saved.

It’s not the cleanest loop station in the world, with a relatively low sample rate causing some artifacts. Regardless, it definitely works, and taught the group plenty about working with digital audio in the process. For that reason alone, we’d call it a success.

Continue reading “Building A Loop Station With An RP2040”

A Very 21st Century Receiver For A Very 20th Century Band

The FM broadcast band has been with us since the middle of the 20th century, and despite many tries to unseat it, remains a decent quality way to pick up your local stations. It used to be that building an FM broadcast receiver required a bit of RF know-how, but the arrival of all-in-one receiver chips has made that part a simple enough case of including a part. That’s not to say that building a good quality FM broadcast receiver in 2024 doesn’t involve some kind of challenge though, and it’s one that [Stefan Wagner] has risen to admirably with his little unit.

Doing the RF part is an RDA5807MP single chip radio, but we’d say the center of this is the CH32V003 RISC-V microcontroller and its software. Twiddling the dial is a thing of the past, with a color display and all the computerized features you’d expect. Rounding it off in the 3D printed case is a small speaker and a Li-Po pouch cell with associated circuitry. This really is the equal of any commercially produced portable radio, and better than many.

Even with the all-in-one chips, there’s still fun in experimenting with FM the old way.