|Gakken SX-150 synth, with MIDI interface circuit. A Sparkfun AVR programmer was used to program the attiny2313 microcontroller used in the circuit.|
The Gakken SX-150 synth has a stylus which is touched on a continuous strip to control the pitch of the sound. It’s hard to play tuned notes using the stylus and so a MIDI interface for the SX-150 is a good mod to make the synth more usable. For this reason, several MIDI interface designs have been developed, including designs by RJ, Stray Technologies, Narbotic Instruments and Mrbook. All of these interfaces convert MIDI to a voltage (MIDI to CV interface) which is connected to the stylus.
The Narbotic and Mrbook design are both Arduino based, the others microcontroller based standalone circuits. I’ve had a go at making RJ’s design, prototyping it on a breadboard. The circuit works well, although as RJ points out, the accurate tuning range is about 2 octaves. Beyond that, the tuning needs tweaking to the higher octaves using the pot included in the circuit.
The circuit uses all the components described by RJ, except I swapped the TLP552 optocoupler for a 6N137. I used avrdude to program the attiny2313 microcontroller using a Sparkfun AVR programmer.
avrdude -c usbtiny -p attiny2313 -U lfuse:r:-:h
Avrdude shows the default lower fuse configuration as 0×64. To use the external 20MHz crystal, the following avrdude command can be used:
avrdude -c usbtiny -p attiny2313 -U lfuse:w:0xE8:m
The attiny2313 should be ready to be programmed with the hex code provided by RJ. This can be uploaded using avrdude using the command:
avrdude -c usbtiny -p attiny2313 -U flash:w:SX150MIDI.hex
Update: I prototyped the MIDI interface onto a stripboard to have a permanent version of the circuit, here it is:
|The prototype stripboard. A programming header (top centre of board) is included for programming the attiny2313 microcontroller with the Sparkfun AVR programmer.|