How to get the SIDuino i2c running

SIDuino i2c Hardware

Download the board design:


The Mask for the Board:

The Partlist:


And the schematics:


Some assembly hints:

  • After soldering, bridge the jumper pins RX-JPR with standard jumpers (like you would find on a hard disk).

  • If you want to upload a new sketch to your Arduino board, remove the RX jumper before starting your upload and attach it again afterwards.

  • The SOUND-JPR just allows you to tap the sound signal directly without using the audio jack connector. You can savely ignore this jumper.

Have fun soldering your own board!

SIDuino i2c Software

Get all files in a ZIP-Archive:

SIDuino Code

For uploading the Code to the ATMega on the SIDuino, you will have to use the ISP-Programmer of your choice. The Makefile is tested under Linux, you might have to verify if it works on other OSes, too. To compile the code and Upload follow these steps:

  • Get your ISP-Programmer ready
  • Unpack Zip-File into a directory, open a terminal and navigate to that directory.
  • Type "make" in the terminal. Some Files should be created.
  • Load the hex-File in the "bin"-Directory on your Board.

If you are using avr-dude, a command line might look like this one:

avrdude -p m168 -c avrisp2 -P /dev/ttyUSB0 -U flash:w:SIDuino_i2c.hex:a

Here -c avrisp2 has to be changed to your own programmer, -P /dev/ttyUSB0 should be the Serial-Port you are using (COM1 or so on Windows).

  • Set your ATMega168's fuses right for an external 16MHz quartz. This is a delicate operation, that can destroy your ATMega!! For my Chip i've used the following command with avrdude. Don't try to hold me reliable for any chips that no longer work due to wrong fuses settings. Note that you will have to use a programming board with an external quartz for reprogramming your ATMega168 after setting the fuses. Enough warnings, here's the line:

avrdude -p m168 -c avrisp2 -P /dev/ttyUSB0 -U lfuse:w:0xff:m -U hfuse:w:0xdf:m -U efuse:w:0x07:m

Arduino Code

For the Arduino code things are easy. Just use your Arduino Environment to load the code onto your Arduino board.


For playing with the Board, simply attach a MIDI controller to the MIDI plug. With the example software, you can choose between 4 different instruments on MIDI programs 1-4. It's the basic waveforms REC, TRI, SAW and NOISE.

go back to main SID page