Behold the unholy marriage between an old wrecked reed organ and a SID chip.
Features:
62 keys, monophonic CV/SID or polyphonic Midi. No touch sense.
Adjustable keyboard split high/low.
Individual envelope and arpeggio and glissando for each keyboard split.
2 LFOs. Sine only so far.
4 Control rods assignable to a lot of different functions and parameters.
Built in MOS6581 SID chip. You know. 3 channels triangle/saw/square/noise and all.
4 0-10V CV out for Euro Rack module control.
2 gate inn/out for Euro Rack control and external arpeggio sync.
10 save slots for settings (pre-named after C64 games from A to J)
some stuff i can’t recall…
I found the old reed organ in a really sorry state after at least a year outdoors in the Norwegian rain. It was already on its way to the trash yard, and the keyboard was so swelled it looked like a sine wave. I knocked it apart and kept only the keyboard section.
I have mounted pushbuttons and springs under each key. Instead of a keyboard grid I have used PCF8574 expansion boards (which I happened to have a pile of) making the whole keyboard I2C interfaced. An Arduino Mega takes it from there.
The sound is generated from a MOS6581 SID chip controlled straight from the Arduino Mega, but it can also 1V/octave control external oscillators trough one of the four CV outputs. I have made room and power for a few eurorack modules at the right side. At the moment I only use a reverb unit which I control with CV out patched to one of the Sound Rods, and patch the SID audio output trough this. Yes, and a home made eurorack master clock so I can sync arpeggio with my Ditto guitar looper.
The old sound control rods are connected to potentiometers and sent to the AIs on the Mega. The transmission only moves the potentiometer a few degrees so the voltage difference is quite small. I have compensated somewhat for that by changing the analog reference voltage as low as possible so I don’t waste to much resolution.
I have used one of the tiny 128×64 oled displays from ebay, together with an encoder, to allow serious menu diving. There is A LOT of settings available so far, so this unfortunately necessary. I would really want a bigger display, but that would require more memory for the display library and I’m already dangerously low on RAM.
On the software side I had some challenges with the multi-level menu system and the lack of memory, forcing me to learn more about pointers. Which is a good thing I guess. I have made my own Arduino libraries both for the menu system and the SID, only the latter anywhere near clean enough to share with you guys.
Problems so far:
The SID and CV-out circuits is a breadboarded rats nest and not trustworthy.
The Mega is almost out of memory. The oled library takes a lot. The menus take the rest.
The Mega is to slow to allow smooth LFO/Envelope/Appergio/Glissando processing together with menu operation. Glitching occurs and resources are maxed out. Okay, maybe with tons of optimization but ain’t Nobody Got Time for That!
The filter of the SID chip does not work. Yes they are bought on Ebay.
The +/-12V power supply made from scrap transformers gets dangerously hot. Also it is a bit hummy which you might notice on the video. I have used it for hours with no problem but I am afraid it will burn down the house if I forget to switch it off.
Future plans:
Replacing the Mega with a Teensy to satisfy my need for speed and memory. I am not planning on any audio processing in the teensy, only menus and control signals.
Getting a bigger display. Menu diving on the tiny oLed is mildly cumbersome.
Designing and printing some PCBs for the SID and the CV out, trough Dirty PCBs. Both cards will be I2C controllable to save pins and to avoid level shifting a million pins from 3V3 to 5V if I move to teensy.
To clean up my Sid Organ, I have designed a simple card for my SID chips, allowing I2C control. The card will be addressable from 0-3 allowing 4 SID cards on the same bus.
The card is supplied from +/- 12V to fit the eurorack standard but with the option of single power if wanted. There is also a jumper to choose between MOS6581 and MOS8580, the latter using 9V power supply. I think.
There are, maybe unnecessary, +/-9V regulators to clean up the power supply output buffer in case of noisy power rails. These can be bypassed.
Summary:
Selectable single or dual 12V supply.
Addressable up to 4 SIDs on same bus. Actually up to 8 if you use PCF8574B on half the cards.
Buffered Audio Output. Audio can be attenuated with resistors.
Optional 9V regulators for clean power to the output buffer.
Jumper for MOS6581 / MOS8580 selection.
I2C control. I will update my own Arduino SID library to fit this communication.