A Game Boy Advance – Downgraded!

We feature a large number of game console mods here, because enhancing the experience of using a classic machine often involves some really clever work. But here’s one that’s a bit different, instead of upgrading his Game Boy Advance, [Wenting Zhang] has downgraded it from a colour screen to a monochrome LCD. Take a look at the video below the break.

One might ask why this would be necessary, given that there are plenty of backlit colour LCD upgrades already for the GBA, but perhaps people who played the original might understand that it’s about improving the viewability over the rather poor-quality colour LCD original.

Interesting too is the choice of display controller. Where it might be expected to find an FPGA, instead there’s an PR2040. He goes into detail about its programming, and we hope it might inspire any others looking at screen transplants. Meanwhile if the name [Wenting Zhang] means anything to you, it should be for his other work with mono LCDs.

Continue reading “A Game Boy Advance – Downgraded!”

Is This The Smallest CP/M Machine Ever?

If you had an office word processor in the late 1970s, the chances are it ran Digital Research’s CP/M operating system. IBM went for Microsoft in the 1980s and the once-dominant player fell on hard times, but it survives today as a popular choice on retrocomputer platforms. Even the more compact Z80 systems are a little large for 2022, so when [Kian Ryan] needed the ultimate in CP/M portability it fell on a more modern piece of silicon. Hence he’s put it on a tiny RP2040-based board from Pimoroni alongside an Adafruit micro SD card breakout.

The tiny hardware is neat of course, but the real star of the show is the software. Non-CP/M aficionados will be interested to learn about RunCPM, and for this project, RunCPM 2040. This provides an emulated environment on a host microcontroller to run CP/M, allowing the operating system to be hosted on easier hardware than some of the original machines.

All this makes for a tiny development machine, but perhaps of more interest would be a machine that’s all-in-one with a display and perhaps a keyboard. The RP2040 is interesting in this case because of those programmable state machines. Could it be made to run a video display alongside RunCPM? We hope someone has a go at writing it.

An RP2040 Powered Pick And Place

Pick and place machines are a wonder to behold, as they delicately and accurately place part after part. Unfortunately, they have to have a similarly wondrous price tag. Luckily, they aren’t too difficult to make yourself as they share many properties of a 3D printer with some extra constraints. [Stargirl Flowers] released Starfish, an open-source pick-and-place control board based around an RP2040 to help people make their own.

She purchased a LumenPnP, and the itch to tinker became too much to ignore. The STM32 on the stock controller also happened to get fried, leaving an obvious opening to create a custom board. [Stargirl] chose Trinamic TMC2209 motor controllers to drive the three stepper motors. The power circuit is impressively overbuilt with a 3A fuse, a TVS diode for shunting voltage spikes, a P-channel MOSFET for reverse polarity protection, a low-pass filter for AC ripple, and a large 100μF capacitor.

The RP2040 is a good choice since it’s easy to get and has plenty of digital I/O. USB connects the board to the outside work and includes ESD TVS diodes to protect the board when connecting and disconnecting the USB port. Motors for vacuums are controlled by a 74HC2G34 buffer that drives enable lines to two MOSFETs. Solenoids are similar but with a high current peak and a much smaller current to keep them open. The DRV120 fits the bill as it is a single-channel relay with current regulation. I2C vacuum sensors are the same ones on the Lumen motherboard; they just required an I2C multiplexer.

It’s an extremely well-documented project explaining why each part was chosen and why. If you want to create an RP2040 project that needs to last, we consider this a guiding star. It’s all up on GitHub for you to take a look at.

This isn’t the first time we’ve seen RP2040 as part of a motor controller, and we suspect we’ll see more.

A Pi Pico plugged into a breadboard, with an I2C OLED display connected to it

Need An USB-I2C Adapter? Use Your Pico!

Given its abundance and simplicity, the RP2040 has no doubt become a favourite for USB peripheral building – in particular, USB-connected tools for electronics experiments. Today, we see one more addition to our Pico-based tool arsenal – a USB-I2C adapter firmware for RP2040 by [Renze Nicolai]. This is a reimplementation of the ATTiny-based I2C-Tiny-USB project and complies to the same protocol – thus, it’s compatible with the i2c-tiny-usb driver that’s been in the Linux kernel for ages. Just drag&drop the .uf2, run a script on your Linux system, and you will get a /dev/i2c-X device you can work with from userspace code, or attach other kernel drivers to.

The software will work with any RP2040 devboard – just connect your I2C devices to the defined pins and you’ll have them show up in i2cdetect output on your Linux workstation. As a demo, [Renze] has written a userspace Python driver for one of these SSD1306 128×64 OLEDs, and gives us a commandline that has the driver accept output of an ffmpeg command capturing your main display’s contents, duplicating your screen on the OLED – in a similar fashion that we’ve seen with the “HDMI” I2C-driven display a few months back. Everything you might need is available on the GitHub page, including usage instructions and examples, and the few scripts you can use if you want to add an udev rule or change the I2C clock frequency.

Just to name a few purposes, you can use a Pi Pico as a tool for SWD, JTAG, CAN, a logic analyser with both digital and analog channels, or even as a small EMP-driven chip glitching tool. The now-omnipresent $3 Pi Pico boards, it seems, are a serious contender to fondly remembered hacker tools of the past, such as the legendary BusPirate.

Continue reading “Need An USB-I2C Adapter? Use Your Pico!”

Card's author typing on the IBM PC110's keyboard, with the Pico W-based card plugged into the PCMCIA slot on the left. PC110's screen shows successful ping 8.8.8.8.8.

Pi Pico W Does PCMCIA, Gets This IBM PC110 Online

Bringing modern connectivity to retro computers is an endearing field- with the simplicity of last-century hardware and software being a double-edged sword, often, you bring a powerful and tiny computer of modern age to help its great-grandparent interface with networks of today. [yyzkevin] shows us a PCMCIA WiFi card built using a Pi Pico W, talking PCI ISA. This card brings modern-day WiFi connectivity to his IBM PC110, without requiring a separate router set up for outdated standards that the typical PCMCIA WiFi cards are limited by.

The RP2040 is made to talk PCI ISA using, of course, the PIO engine. A CPLD helps with PCI ISA address decoding, some multiplexing, and level shifting between RP2040’s 3.3V and the PCI 5 V levels. The RP2040 software emulates a NE2000 network card, which means driver support is guaranteed on most OSes of old times, and the software integration seems seamless. The card already works for getting the PC110 online, and [yyzkevin] says he’d like to improve on it – shrink the design so that it resembles a typical PCMCIA WiFi card, tie some useful function into the Pico’s USB port, and perhaps integrate his PCMCIA SoundBlaster project into the whole package while at it.

This is a delightful project in how it achieves its goal, and a pleasant surprise for everyone who’s been observing RP2040’s PIO engine conquer interfaces typically unreachable for run-of-the-mill microcontrollers. We’ve seen Ethernet, CAN and DVI, along many others, and there’s undoubtedly more to come.

We thank [Misel] and [Arti] for sharing this with us!

Mechanical Color Picker Types Hex Codes For You

Hex codes are a simple, unambiguous way to designate colors in digital media. However, going from a color in your head to a hex code can be difficult for the unpracticed. [Guy Dupont] built a little gadget by the name of the Dial Toner to do it for him (Nitter).

The Dial Toner has two dials for each color channel – Red, Green, and Blue. By turning the dials, one can choose a given color in the 8-bit RGB color space, and that color is then displayed on the device’s included RGB LED. Once selected, the button can be pressed to type the selected color’s hex code into a text box. The Dial Toner runs on a Xiao RP2040 microcontroller board, and is coded in CircuitPython.

[Guy] hopes to sell the Dial Toner on Etsy in future, and is even working on a CMYK version for print addicts. We’ve featured [Guy]’s work here before, too, in the form of his extended-play HitClips cartridges. Video after the break.

Continue reading “Mechanical Color Picker Types Hex Codes For You”

Walkmp3rson Is An MP3 Player Like Sony Never Made

If you weren’t already well aware, the 90s are like, so hot right now, and that includes cassette tapes for some reason. (Even though we personally didn’t have a CD player until 1998, they were around as early as 1982.) But if you don’t dig the quality of cassettes, or if you’d just rather carry around more than 45-120 minutes worth of music, than [John Edgar Park]’s Walkmp3rson is definitely the build for you. That’s pronounced ‘Walkperson’, as in a 21st century MP3-based update of the classic Walkman.

Inside this amazing 3D printed enclosure, you’ll find an Adafruit Feather RP2040 controlling the screen, handling input from the rotary encoder and those sweet mechanical keyswitches, and of course, playing audio files from SD cards through the amplifier breakout board. And no, this isn’t just another MP3 player — well, it kind of is, but the presentation really goes a long way here.

There are tons of retro-modern nods, like the cassette reel animation that plays on the TFT screen, the boxy enclosure, and the fact it involves physical media. Oh yes — you get to insert an SD card whenever you want to change albums/discographies/genres/whatever. In fact, this would be a great use of older, smaller SD cards. You could go all out and make tiny album art to slip inside those milky plastic cases. Check out the brief demo video after the break.

Looking to play your tunes on a microcontroller, but not a fan of the Walkman aesthetic? In June we covered a similar audio player powered by the ESP32 that does an uncanny impersonation of a portable tape deck that you might be interested in.

Continue reading “Walkmp3rson Is An MP3 Player Like Sony Never Made”