Universal Synthesizer Panel – Part 5

This is the fifth part in a series of posts describing how I’ve approached building a “universal synthesizer panel” to house a range of microcontroller synthesis projects.

Warning! I strongly recommend using old or second hand equipment for your experiments.  I am not responsible for any damage to expensive instruments!

Final Assembly

Once we’re sure that there are no shorts between power, GND and the comms links, we can attempt to put the whole module together and test it out.

IMG_5110

I’m using 30mm long, M3 spacers to connect the IO board to the IO panel.  Note that only three connections are possible due to the position of the I2C display.

IMG_5115

Things to watch out for:

  • Make sure the power connections are the right way round!
  • Check the I2C connector is the right way round.
  • Don’t forget the audio output too.

IMG_5116

The microcontroller board just slots in directly via the headers.

IMG_5117IMG_5118

The Code

Before things get too complicated it is a good idea to test the basics.  Consequently I’ve written some test code to test all the IO apart from the MIDI link.

Don’t forget to remove the RX/TX jumpers on the Arduino board to disable the MIDI links to allow the uploading of a sketch.

DO NOT POWER THE MODULE VIA THE USB B PORT AND THE ARDUINO’S PROGRAMMING USB PORT AT THE SAME TIME!

The test code has several functions:

  • It initialises and displays the built-in Adafruit logo on the I2C display (I’m using Adafruit’s SSD1306 and GFX libraries).  The default I2C address is 0x3C.  Use whatever works for your display (sometimes it is 0x3D).
  • It reads the six analog inputs and uses them to set the height of a bar on the display.
  • It reads the six digital inputs and uses them to colour or clear the bars depending on the settings.
  • It also uses one of the switches to turn on a tone on the output pin and illuminate the MIDI LED.

If you keep it connected to a PC via the Arduino’s USB link, then all the time it will be printing the state of the pots and switches to the serial port to help work out if everything is working ok.

Use it to test each potentiometer and switch individually, then listen out for a tone being played via the audio output.  Use the pan potentiometer to confirm you can pan the sound of the tone from the left to the right channel.  Also check the MIDI LED lights up ok.

If everything is ok so far then you can disconnect the USB link to the Arduino and try powering the module from the IO board’s USB B socket.  This should go via the switch on the panel allowing you to turn the whole unit off and on.

Find it on GitHub here.

Closing Thoughts

Now we’re getting somewhere.  In the final part (for now) I’ll revisit my Arduino FM MIDI Synthesis with Mozzi and really test out the module.

But that might have to wait to write up until tomorrow now.

Kevin

IMG_5119

Leave a comment