Pico_Synth MIDI/CV debut

Nothing really new about this project, mainly because…I’ve some many of them. This project really grows slowly.

IMG_1427_2However, when you design an analog synth you go to the inevitable point of MIDI !

I couldn’t find anything simple enough to implement. Let alone without that bloody Arduino ! I want the only conversion MIDI/CV/GATE with the pitch bend nothing more really. So I decided to build my own and learn things about MIDI. As I’ve never did anything with that Midi protocol, I started easy and simple, just grab the datas on the UART protocol and step forward from that with the great help of Chimimic. It surprised me, it worked without banging my head on the desk (Am I starting to learn something ?)

C codes (you need the other libraries from their authors if you want to compile) :


and schematic (just a rough idea hence the absence of values) :

midi_cvthe data arrives, if it has to do with the channel, process it. The code is mainly the UART interupt. The midi bytes are received into a array of three bytes. The first code uses a LCD as a beta-test to check if the datas are ok once in the URD register. That way, you can check the three bytes with the coresponding binary datas. It’s very the simplest form but it might be useful for people who wants to start at the begining. The rest will be the tricky part (not That Tricky, the other one…).


I won’t go deep into the midi stuff (millions of pages about that already) but here’s what’s gonna be this project. The midi channel will be set with a DIPSWITCH and connected to a PORT. At start up, the µC will read the port, extract the channel and add the note_on and note_off datas.The UART interupt wil do the rest, monotoring the incoming datas, checking for message with the channel imformation coressponding to the channel of the synth and process it.

As the synth will be equiped with two VCOs, a cool thing will be to add a second channel and set of CV/GATE/VELOCITY for two independant VCOs. Imagine one VCO driven by a sequencer, the other one by you knacki-looking fingers ! (if you don’t know what a knacki is, lucky you !)

However, the velocity byte (that I haven’t thought about) made me realised that it will be quite a shame to waste it. The original idea for this synth was to create a “hardwired” synth with a signal path similar to the traditional “synth” (no modularity). But what’s the point to do something that commun ? Modularity is actually the thing I’m after. It can bring that type of synth but also much more, for more “experimental” music.

Also, I must confess really liking the concept of an EMS VCS3 or a Buchla Music Easel and the wish to make something similar started to grow. Something semi-modular (Korg MS20) or totally modular. But still in the suitcase ! By the way, talking about EMS, you can even consider a digital matrix with memory banks in the EEPROM of your µC !

http://www.acxsynth.com/matrix/matrixfr.htm (In the knacki language)

Anyway, allowing time to do your project is actually a good habit to have. It makes the project evolve quite nicely.

Talking about Midi, here’s very nice conference with its father (Dave Smith) :


Leave a comment

Filed under Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s