ECE 4760 is a microcontroller course that runs at Cornell every year, and it gives students a wide remit to pursue various kinds of microcontroller projects. [Pelham Bergesen] took the class and built himself a MIDI-controllable synthesizer out of a Raspberry Pi Pico.

[Pelham] coded a library to parse MIDI messages on the Pico, with the microcontroller’s UART charged with receiving the input data. MIDI is basically just serial at a baud rate of 31.25k, with a set message structure, after all. From there, the Pico takes the note data and plays the relevant frequencies by synthesizing square waves using a PWM output. A second PWM channel can also be blended with the first to generate more complex tones.  The synthesizer is designed to be used with a source of MIDI note data such as a keyboard controller; [Pelham] demonstrates the project in use with a Roland JD-XI. It’s a fairly basic synthesizer, but [Pelham] does a good job of explaining all the steps required to get this far. If you’ve never done an audio or MIDI project before, you might find his guide very helpful for the way it steps through the basics.

[Pelham] didn’t get to implement fancier features like direct digital synthesis (DDS) or analog audio effects before the class closed out. However, that would be an excellent project for anyone else developing their own Pico synthesizer. If you whip up something that sounds good, or even just interesting, be sure to notify us on the tipsline. Video after the break.


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
Scroll to Top