Implementation of MIDI device with Pepper


Schematic: pepper-midi.png


  1. 1.Introduction

  2. SX-150 synthesizer from Gakken becomes very popular with Japanese Hobbyists. I had chance to purchase one for myself. As it is first time to use synthesizer, I couldn’t play with it very well.  I wanted to play SX-150 with MIDI sequencers, as I can make use of MIDI files exists. I decided to build MIDI interface for SX-150 to control it with sequencers in PC.

  3. I choose AVR-MIDI, because it is very easy to build such device with it. AVR-MIDI allows us to connect AVR microprocessor directory to USB and to accept USB MIDI profile. Which means no other MIDI devices are required to connect SX-150 to PC, and still have capability to handle MIDI messages. As I don’t have MIDI interface for PC, AVR-MIDI has advantage.

  4. 2.Schematic

  5. Pepper is used to build MIDI interface. Only firmware is redesigned to accept USB MIDI profile.

  6. For CV circuit I choose one designed by RJB.CV is just a low-pass filter, which convert PWM from AVR to voltage for control tone of SX-150.

  7. 3.Firmware

  8. The firmware for Pepper-MIDI is simple. In serial-MIDI, parsing the MIDI messages is very complex task, as the length of messages varies. In USB MIDI class, on the contrary, the length of these messages are fixed, and which makes the parser even simpler.

  9. In beta version, only NOTE messages and pitch bent messages are parsed. The following OSS are referred for programming.

  10. AVR-MIDI(

  11. AVR-USB( by Objective Development.

  12. Simple MIDI interface by RJB(

  13. Specifications of USB MIDI class(

  14. To build your own Pepper-MIDI based on this article, compile the source code with gcc-avr, or use hex file in source archive, named ‘PEP-MID.hex’. Burn Tiny45 with firmware. The setting of fuse bit is described in Makefile in source archive.

  15. 4.Limitations

  16. The current firmware is in BETA quality. If you have any trouble with it, please report details to me at the address described in the bottom of this page.。

  17. I use MacOSX Leopard (10.5) for the development. RJB and myself confirmed that Pepper-MIDI works with WIndows XP as well. No special driver is required for both platforms.

  18. 5.Thanks

  19. I would like to thank to authors of open software / hardware described in section 3.

  20. Alugo-sanpodo-san( helped me with his Blog.

  21. RJB helped debugging the firmware and play demo song in his page.

2008/09/04 English version.

2009/09/28 Modify schematic