Since the first round of boards that I built in October 2023, it was very clear to me that a major revision of the pico_synth_sandbox board was necessary before fully achieving the goals of this project and getting it in the hands of others (who may not be as willing as I am to solder on a handful of bodge wires).
Rather than simply fix the minor errors in my initial design, I decided to go further and rethink how certain key aspects of this synthesizer will work. Here is a quick summary of the major tenets of revision 2.
Stereo-first!
All audio pathways must support left and right channels. Though the PCM5102 DAC (digital-to-analog converter) of the original design has stuck around for this revision, a new ADC (analog-to-digital converter), the PCM1860, has been added for more possibilities! And to back it all up, a dedicated class D stereo amplifier with class AB headphone support, the PAM8019, has joined the party for all of your listening needs.
Single all-encompassing configuration!
One of the brightest features of the original board was the single PDM microphone. Having to choose between that feature and MIDI communication was no fun. With this revision, all features can be utilized simultaneously with no need to pick-and-choose.
More keys!
Getting this synthesizer to act as a full step sequencing drum machine was very cool. What wasn’t so cool was the shenanigans required to get the 12 keys to act like 16. Using a separate capacitive touch sensing co-processor, the TTP229, we’ve opened up the Pico’s GPIO to many more great things.
Storage please!
After installing CircuitPython, all the necessary dependencies and the pico_synth_sandbox library itself, the 2MB of flash available on the Pico was getting a little cramped and not much roof was left over for recording or playing back pre-recorded audio. Adding an external storage device should open the door for future software. (Drum samples, anyone?)
A batch of these boards are currently on their way, and I plan to update all accompanying software to support this new revision. This includes hardware tests, the pico_synth_sandbox library, and software demonstrations. The biggest challenge on the software side will be implementing support for I2S audio input within CircuitPython. That in mind, this feature may take longer to implement.
I will make sure to keep everyone updated as I continue to make progress, and I’ve got my fingers crossed that this will be the final revision before I can start making this hardware available to the public online!