Everything fails eventually, but moving parts fail fastest of all– and optical drives seemingly more than others, at least in our experience. Even when they work, vintage drives often have trouble with CD-R, and original media isn’t always easy to find. That’s why it’s so wonderful that [polpo]’s RP2040 ISA card, the PicoGUS 2.0, now supports CD-ROM emulation.
We covered PicoGUS when it first appeared as an ISA sound card, and make no mistake, it can still emulate sound cards for retro-PC beeps and boops. It’s not just the Gravis Ultrasound (GUS) from which the project took its name, but Sound Blaster 2.0, MPU-401 for MIDI, Tandy 3-voice, and CMS/GameBlaster are all soft options. Like most sound cards back in the day, PicoGUS provides game port support as well.
The world of custom mechanical keyboards is vibrant, with new designs emerging weekly. However, keyboards are just one way we interact with computers. Ploopy, an open-source hardware company, focuses on innovative user interface devices. Recently, [Colin] from Ploopy introduced their latest creation: the Ploopy Knob, a compact and thoughtfully designed control device.
At first glance, the Ploopy Knob’s low-profile design may seem unassuming. Housed in a 3D-printed enclosure roughly the size of a large wristwatch, it contains a custom PCB powered by a USB-C connection. At its core, an RP2040 chip runs QMK firmware, enabling users to easily customize the knob’s functions.
The knob’s smooth rotation is achieved through a 6705ZZ bearing, which connects the top and bottom halves and spans nearly the device’s full width to eliminate wobble. Unlike traditional designs, the Ploopy Knob uses no mechanical encoder or potentiometer shaft. Instead, an AS5600 magnetic encoder detects movement with remarkable precision. This 12-bit rotary encoder can sense rotations as fine as 0.088 degrees, offering 4096 distinct positions for highly accurate control.
True to Ploopy’s philosophy, the Knob is fully open-source. On its GitHub Page, you’ll find everything from 3D-printed case files to RP2040 firmware, along with detailed guides for assembly and programming. This transparency empowers users to modify and build their own versions. Thanks to [Colin] for sharing this innovative device—we’re excited to see more open-source hardware from Ploopy. For those curious about other unique human-machine interfaces, check out our coverage of similar projects. Ploopy also has designs for trackballs (jump up a level on GitHub and you’ll see they have many interesting designs).
As you might imagine, this project got its start with the RP2040-based Pico Mac project by [Matt Evans], which we covered
The collector’s edition will come with a lovely box, but what’s in it is still open source so you can make your own.
before. [Nick] saw that, built it, and was delighted by it enough to think that if the Mac could run on such tiny hardware, how small could build a fully-usable replica Mac? The answer was 63 mm tall– at 5.5:1, that’s technically under the 6:1 scale that Barbie operates on, but if we had such a dollhouse we’d absolutely put one of these in it. (You just know Barbie’s an Apple kind of girl.)
The size was driven by the screen, which is a 2″ TFT panel with 480 x 640 pixel native resolution. Here [Nick] cheats a tiny bit– rather than trying to rewrite the PicoMac to output 640 x 480 and rotate the screen, he keeps the screen in portrait mode and drives it at 480 x 342 px. Sure, it’s not a pixel-perfect output, but no LCD is going to be a perfect stand in for a CRT, and who is going to notice 32 pixels on a 2″ screen? Regardless, that set the height of the computer, which is built around the portrait display. A highly detailed, and to our eyes, accurate replica of the original Macintosh case was printed to fit the LCD, coming in at the aforementioned 63mm tall.
Unfortunately this means the floppy drive could not be used for micro SD access– there is an SD card reader on this unit, but it’s on the back, along with a USB-C port, which is roughly where the mouse and keyboard ports are supposed to be, which is a lovely detail. Also delightful is the choice of a CR2 lithium battery for power, which is a form factor that will look just a bit familiar if you’ve been inside one of these old Macs.
We know [Happy Little Diodes] frequently works with logic analyzer projects. His recent wireless logic analyzer for the ZX Spectrum is one of the oddest ones we’ve seen in a while. The heart of the system is an RP2040, and there are two boards. One board interfaces with the computer, and another hosts the controller.
The logic analyzer core is powered by a common open-source analyzer from [Eldrgusman]. This is one of the nice things about open source tools. Most people probably don’t need a logic analyzer that plugs directly into a ZX Spectrum. But if you do, it is fairly simple to repurpose a more generic piece of code and rework the hardware, if necessary.
A quadrature encoder provides a way to let hardware read movement (and direction) of a shaft, and they can be simple, effective, and inexpensive devices. But [Paulo Marques] observed that when it comes to reading motor speeds with them, what works best at high speeds doesn’t work at low speeds, and vice versa. His solution? PicoEncoder is a library providing a lightweight and robust method of using the Programmable I/O (PIO) hardware on the RP2040 to get better results, even (or especially) from cheap encoders, and do it efficiently. Continue reading “Read Motor Speed Better By Making The RP2040 PIO Do It”→
Sometimes, a flat display just won’t cut it. If you’re looking for something a little rounder, perhaps your vision could persist in in looking at [lhm0]’s rotating LED sphere RP2040 POV display.
As you might have guessed from that title, this persistence-of-vision display uses an RP2040 microcontroller as its beating (or spinning, rather) heart. An optional ESP01 provides a web interface for control. Since the whole assembly is rotating at high RPM, rather than slot in dev boards (like Pi Pico) as is often seen, [lhm0] has made custom PCBs to hold the actual SMD chips. Power is wireless, because who wants to deal with slip rings when they do not have to?
The LED-bending jig is a neat hack-within-a-hack.
[lhm0] has also bucked the current trend for individually-addressable LEDs, opting instead to address individual through-hole RGB LEDs via a 24-bit shift-register. Through the clever use of interlacing, those 64 LEDs produce a 128 line display. [lhm0] designed and printed an LED-bending jig to aid mounting the through-hole LEDs to the board at a perfect 90 degree angle.
What really takes this project the extra mile is that [lhm0] has also produced a custom binary video/image format for his display, .rs64, to encode images and video at the 128×256 format his sphere displays. That’s on github,while a seperate library hosts the firmware and KiCad files for the display itself.
Although most people would use C, C++ or MicroPython for programming microcontrollers, there are a few more obscure options out there as well, with MicroZig being one of them. Recently [Andrew Conlin] wrote about how to use MicroZig with the Raspberry Pi RP2040 MCU, showing the process of writing an SSD1306 OLED display driver and running it. Although MicroZig has since published a built-in version, the blog post gives a good impression of what developing with MicroZig is like.
Zig is a programming language which seeks to improve on the C language, adding memory safety, safe pointers (via option types), while keeping as much as possible of what makes C so useful for low-level development intact. The MicroZig project customizes Zig for use in embedded projects, targeting platforms including the Raspberry Pi MCUs and STM32. During [Andrew]’s usage of MicroZig it was less the language or supplied tooling that tripped him up, and more just the convoluted initialization of the SSD1306 controller, which is probably a good sign. The resulting project code can be found on his GitHub page.