A C64 SID Replacement With Built-in Games

Developer [frntc] has recently come up with a smaller and less expensive way to not only replace the SID chip in your Commodore 64 but to also make it a stereo SID! To top it off, it can also hold up to 16 games and launch them from a custom menu. The SIDKick Pico is a simple board with a Raspberry Pi Pico mounted on top. It uses a SID emulation engine based on reSID to emulate both major versions of the SID chip — both the 6581 and the 8580. Unlike many other SID replacements, the SIDKick Pico also supports mouse and paddle inputs, meaning it replaces all functionality of the original SID!

Sound can be generated in three different ways: either using PWM to create a mono audio signal that is routed out via the normal C64/C128 connectors, an external PCM5102A DAC board, or using a different PCB design that has pads for an on-board DAC and TL072 op-amp. While many Commodore purists dislike using replacement chips, the reality is that all extant SID chips were made roughly 40 years ago, and as more and more of them fail, options like the SIDKick Pico are an excellent way to keep the sound of the SID alive.

If you want to hear the SIDKick Pico in action, you can check out the samples on the linked GitHub page, or check out the video below by YouTuber Wolfgang Kierdorf of the RETRO is the New Black channel. To get your hands on a SIDKick Pico, you can follow the instructions on the GitHub page for ordering either bare PCBs or pre-assembled PCBs from either PCBWay or your board manufacturer of choice.

Continue reading “A C64 SID Replacement With Built-in Games”

The Pi Pico, An SDR Receiver Front End

Making a software defined radio (SDR) receiver is a relatively straightforward process, given the right radio front end electronics and analogue-to-digital converters. Two separate data streams are generated using clocks at a 90 degree phase shift, and these are passed to the software signal processing for demodulation. But what happens if you lack a pair of radio front ends and a suitable clock generator? Along comes [Mordae] with an SDR using only the hardware on a Raspberry Pi Pico. The result is a fascinating piece of lateral thinking, extracting something from the hardware that it was never designed to do.

The onboard RP2040 ADC is of course far too slow for the task, so instead an input is used, with a negative feedback arrangement from another GPIO to form a crude 1-bit ADC. A PIO peripheral is then used to perform the quadrature mixing, resulting in the requisite pair of data streams. At this point these are sent over USB to GNU Radio for demodulating, mainly for convenience rather than necessarily because the microcontroller lacks the power.

The result is a working SDR front end, demonstrated pulling in an FM broadcast station. The Pico has to be overclocked to reach that frequency and it’s more than a little noisy, but we’re extremely impressed with how much has been done with so little. Oddly it isn’t the first Pico SDR we’ve seen, but the previous one was a much more conventional and lower-frequency affair for the European Long Wave band.

Schematic of the Pi Pico wireup, showing the various outputs that the firmware will generate on the GPIOs

A Scope Test Tool You Can Build With Just A Pico

Ever wanted to see how well your oscilloscope adheres to its stated capabilities? What if you buy a new scope and need a quick way to test it lest one of its channels its broken, like [Paul Wasserman] had happen to him? Now you only need a Pi Pico and a few extra components to make a scope test board with a large variety of signals it can output, thanks to [Paul]’s Sig Gen Pi Pico firmware.

description of the signals generated by the software, that can be read in detail on the project websiteDespite the name it’s not a signal generator as we know it, as it’s not flexible in the signals it generates. Instead, it creates a dozen signals at more or less the same time — from square waves of various frequencies and duty cycles, to a PWM-driven DAC driving eight different waveforms, to Manchester-encoded data I2C/SPI/UART transfers for all your protocol decoder testing.

Everything is open source under the BSD 3-Clause license, and there’s even two PDFs with documentation and a user manual, not to mention the waveform screenshots for your own reference.

It’s seriously impressive how many features [Paul] has fit into a single firmware. Thanks to his work, whenever you have some test equipment in need of being tested, just grab your Pico and a few passive components.

Running Four Brushless Motors With A Single Pi Pico

Sometimes, you have to drive four motors, and you need to do so with a certain level of control. You could throw a lot of parts at the problem, but you don’t necessarily have to. As [Shaun Crampton] demonstrates, you can run four brushless DC motors with a single Pi Pico.

[Shaun] set about developing a brushless motor controller from scratch with the Pico, relying on its PIO hardware and the TI DRV8313 — a handy three phase motor driver. Before he knew it, he was implementing field oriented control (FOC) in MicroPython, only to find that it was a little too slow for proper motor control work. He soon switched to C for the lower overheads, and was readily driving a brushless motor with his own code. Before long, he’d implemented torque limiting and PID speed control. He was even able to optimize things to the point where he had four motors hanging off a single Pi Pico, complete with Hall sensors for feedback.

The full story is well worth reading, as it goes from “Hello, World” all the way to the end of the project. If you’ve never experienced the joy of your own code getting a motor to spin, you might enjoy following in [Shaun’s] footsteps. Files are on GitHub for the curious.

We’ve seen a lot of motor controllers around here, many of which draw heavily from other projects online. It’s a great way to learn the basics of what is a very well established field. Meanwhile, if you’re cooking up your own project in this space, do drop us a line!

BreadboardOS, A Command Line Interface For The Pico

Operating systems! They’re everywhere these days, from your smart TV to your smartphone. And even in your microcontrollers! Enter BreadboardOS for the Raspberry Pi Pico.

BreadboardOS is built on top of FreeRTOS. It’s aim is to enable quick prototyping with the Pi Pico. Don’t confuse operating system with a graphical environment — BreadboardOS is command-line based. You’d typically interface with it via a serial terminal emulator, but joy of joys, it does support color!

Using BreadboardOS is a little different than typical microcontroller development. Creating an application involves adding a “service” which is basically a task in FreeRTOS parlance. The OS handles running your service for you. Via the text interface, you can query running services, and start or kill them at will.

Meanwhile, running df will happily give you stats on the flash usage of the Pi Pico, and free will tell you how full the memory is doing. If you really want to get raw, you can make calls to control GPIO pins, the SPI hardware, or other peripherals, and do it right on the command line.

BreadboardOS isn’t for everyone, but it could prove a useful tool if you like that way of doing things. It’s not the only OS out there for the Pi Pico, either!

Continue reading “BreadboardOS, A Command Line Interface For The Pico”

This Tiny Game Boy Lets The Real Thing Play Online

Back in 2021, [stacksmashing] found that it took little more than a Raspberry Pi Pico and some level-shifters to create a USB connection with the Game Boy’s link port. Add in the proper software, and suddenly you’ve got online multiplayer for the classic handheld. The hardware was cheap, the software open source, and a good time was had by all.

Inspired by both the original project and some of the hardware variations that have popped up over the years, [weiman] recently set out to create a new version of the USB link adapter that fits inside a miniature 3D printed Game Boy.

The big change from the original design is that this is using the far smaller, but equally capable, RP2040-Zero development board. This is mated with a SparkFun logic level converter board (or a clone of one from AliExpress) by way of a custom PCB that also includes the necessary edge connectors to connect directly to a Game Boy Link Cable.

Once the PCB is assembled, it’s dropped into the 3D printed Game Boy shell. [weiman] really worked some nice details into the case, such as aligning the d-pad and buttons in such a way that pressing them engages either the RESET or BOOTSEL buttons on RP2040-Zero. The screen of the printed handheld also lines up with the RGB LED on the top of the dev board, which can produce some cool lighting effects.

The original project from [stacksmashing] was an excellent example of the capabilities of the Pi Pico, and we’re glad to see it’s still being worked on and remixed by others. Even though the state of Game Boy emulation is nearly perfect these days, there’s still something to be said for working with the original hardware like this.

Pi Pico Gets A ZX Spectrum Emulator

The Pi Pico is a capable microcontroller that can do all kinds of fun and/or useful things. In the former vein, [antirez] has ported a ZX Spectrum emulator to the Pi Pico.

ZX2040, as it is known, is a port of [Andre Weissflog’s] existing ZX spectrum emulator. It’s designed for use on the compact embedded Pi Pico platform, using ST77xx TFT displays. To that end, it has a UI optimized for small, low resolution screens and minimal buttons. After all, very few Pi Picos come with a full QWERTY keyboard attached.

Certain hacks are necessary to make it all work; the chip is overclocked to get things humming fast enough. The emulator also runs upscaling or downscaling in realtime as needed. This allows the emulator to run with a variety of displays, almost none of which are a direct match for the ZX Spectrum’s original resolution of 256×192 pixels.

Code is on Github for the curious, including a great run down from [antirez] on everything that makes it tick. If you want to play ZX Spectrum games on a keychain, you’d do well to start here. There are other projects to emulate it on the Pico, too! Video after the break.

Continue reading “Pi Pico Gets A ZX Spectrum Emulator”