The original proof of concept for the HDD Synth was created way back in October 2022 when plugging a Pico board into an amp and writing some simple Python code was the extent of my hardware hacking abilities.
However it’s wasn’t until August 2025 some three years later that the project really started on the journey that would bring us to where we are today. On the brink of making it available to everyone, after the beta testers give it a final run through it’s paces.
What spurred this project into being at that time?


Whilst enjoying a day out on my mountain bike at the Forest of Dean an unexpected rapid dismount left me with a broken arm. Not much fun! This was in the middle of my summer holiday, which meant all my plans got shelfed and I found myself with more time and less options than I expected.
So basically, this is how I ended up deciding to invest the time to learn KiCad and slowly learn the basics of PCB design. The first version wasn’t very far removed from the proof of concept, in that it just connected a few off the shelf components together on a PCB. However with time I slowly learned about and got comfortable placing more advanced components on the boards.
Fast forward to October 2026 and we’re on the fifth major revision of the board (along with a few minor revisions) which I’m hoping is essentially what will be released shortly.

A key change I recently made was to port the firmware from Circuit Python to C++. There were two key drivers for this, firstly it was a response to deal with a variety of minor issues I was struggling to resolve in Python.
One of these was a race condition between two different ways of playing audio from within the Python code. This was causing instabilities when streaming audio from the SD card. I’ll spare you the details, but in the end it was far easier to just write the suitable SD reader and audio mixing engine in C++.
The other big reason was that as this is going out to beta testers I wanted them to have any easy way of installing firmware updates.
With Python you have to basically copy and paste across multiple .py files, which is a quite messy and fiddly. However with C++ there’s just a single .uf2 file that is far cleaner and simplier to install.


Having the firmware written in C++ also brings a number of other benefits:
- Instant start-up, where as with Python it would take a second or so
- More memory free, which is used to cache samples
- SD card CRC enabled, to resist errors
It’s also meant that by having a new repository setup on GitHub with GitHub Actions that it automatically builds and publishes new firmware releases
I also decided it would be sensible to check the current draw when the HDD Synth is in operation. I don’t want to hurt any of the old PSUs that might be powering it.

Tests show that it pulls about 0.2 amps when charging the super cap, which drops to 0.06 amps during standard running. That will place very little strain on most PSUs.
Hopefully it’ll be ready for everyone in time for Christmas 2026 :)




