This is my latest project: MidiBoard rev0. Originally, I just wanted to hard-emulate the legendary MOS SID chip from the commodore64. That was about half a year ago already now. Then, a few months ago, I decided to hard-emulate the MOS SID chip now and even add MIDI support to it so I can play it with my keyboard. Again, I forgot about the project, because I had lots of other things to do.
Thinking about the project a third time, I decided to create a midi experimenting board. It consists of one chip that translates the midi signals into something else, and a separate sound chip that generates the sounds and plays them on a speaker (which can be headphones too, if you add a jack).
In the picture you can see the current version of the PCB (MidiBoard rev0). The ISP pins are still not wired, sorry, but there is no space at the moment, I might have to point-to-point wire those (or get a bigger board).
The DIN1 connector is a normal MIDI input. The CONN1 connector is USB and used to power the board at the moment.
U3 is a 6N139 optocoupler and used as a kind of hack to convert the current based MIDI protocol to the voltage based UART serial protocol the Atmel chips need.
U1 is an ATtiny45/85 and used as the MIDI translator.
U2 is an ATmega8 and used as the synthesizer, it generates the sounds.
XTAL1 is a 16MHz clock and is required by the ATmega8 to function correctly. The LED1 is just a status LED that shows if there is a MIDI signal. SPKR1 is the audio output for the speaker or headphones.
J1-4 are used as ISP programming pins, but as I previously mentioned, they are not wired yet in rev0.
R3 is a 220 Ohm resistor, R4 is a 10 kOhm resistor and R5 is a 470 Ohm resistor (all resistors with +/- 5% tolerance).
I did not build the current revision of the circuit yet, but I've done some tests with the optocoupler and midi translator part, so that already works. The synthesizer on its own works too, I tested it with an emulation of the MOS SID chip by Roboterclub Freiburg (http://www.roboterclub-freiburg.de/atmega_sound/atmegaSID.html).
The only things I still need to do is put those two experiments together to create the MidiBoard rev0. This is an open-hardware and open-source project, so everything I'm doing will be released. Even though, I didn't code anything besides tests for it yet, so I can't release any code yet.
I hope you like my project, and I know the PCB is messy, but it's a first version and I've just quickly put it together. (This was made with Fritzing, by the way. I just removed the "Made with Fritzing" mark since it was bloating the picture. It's great software, by the way, you should check it out: http://fritzing.org/)












