The Crumar Bit One is an underrated but very capable 6-voice polysynth from the mid 1980s. It has a great sound, backed with Curtis filters, cool industrial design and a velocity sensitive keyboard – which can be assigned to the usual envelope intensity as well as rather more unusual things like the ADSR attack times, LFO speed and pulse width. Although it shipped with MIDI capability, it is very limited :
- Plugging a lead into the MIDI IN socket disables the keyboard. One of the biggest showstoppers on the Bit One.
- Receives on all MIDI channels (omni mode) by default on power-on. It can be put into MIDI poly mode on channel 1, but you can't do this on the instrument itself and the setting is forgotten when you turn it off.
- MIDI handling is unreliable - stuck notes, odd behavior and crashes are common when receiving any significant amount of data; making the instrument borderline useless in a 'thru' chain.
- It only responds to MIDI note on/off and program change messages. It doesn't respond to pitch bend or any CCs, so you can't get particularly expressive performances playing it remotely via MIDI.
The MIDI Upgrade
After poring over the schematics of the thing, I was able to come up with a daughterboard that fixes all of these faults. It uses its own microcontroller to filter all incoming MIDI data to a specific channel, greatly reducing the demand on the Bit One's own MPU; whilst also merging in the data from the synth's own keyboard so both can be used at once. My 'MIDI Upgrade' provides the following improvements to the Bit One :
- Local keyboard and external MIDI can be used at the same time. Local control can be enabled or disabled from the synth if you want to hook it up to an external arpeggiator etc.
- Receiving channel for external MIDI can be set on the synth itself, and is remembered on power-off. (Transmitted MIDI channel is fixed on channel 1)
- MIDI handling is much more reliable. The board filters out all other channels before they get to the main CPU, also ignoring any messages that it cannot use, so there are no more MIDI overload-caused crashes, stuck notes etc.
- Now receives MIDI pitch bend (±2 semitone range) and mod wheel, which is provided by a dedicated LFO, independent from the Bit One's own two LFOs. The modulation depth can also be controlled by MIDI channel aftertouch.
- Receives MIDI sustain pedal (CC 64), which is used to control the Bit One's hold functionality.
Settings are changed using the new shared TAPE / SETUP mode, which is controlled via notes on the keyboard. See manual for more information. As always, I wanted this thing to be as non-invasive as possible - especially for this synth with its sharp looks, I really didn't want to be drilling any holes in the case. The board mounts onto existing points in the lid using threaded spacers.
How It Works
The Bit One's keyboard circuit has its own independent MPU and actually sends its data to the main MPU as plain MIDI. In a stock Bit One, the MIDI In socket has a switch in it, so plugging in a MIDI lead electrically disconnects the keyboard and replaces this signal to the main processor with the external one; hence why you can't use both at the same time. To fix this, the MIDI signals from the external input and keyboard are merged using an ATmega328P. As this chip only has one hardware serial port, the MIDI input from the keyboard is 'bit-banged', which works out fine for this as it literally only sends note on and off.
The upgrade board will only pass external MIDI data to the main MPU if it is on the right channel (set by the user) and is one of the supported message types. This solves the problem of the Bit One getting bogged down and crashing with lots of MIDI data, as it only ever sees a small amount. An MCP4921 12-bit DAC generates the pitch bend and modulation voltages, which are scaled to the correct range with an op-amp circuit. This voltage is applied to the wiper of the Bit One's bend wheel potentiometer, where it is summed, and in turn controls the master clock of the digital oscillators to provide the bend.
The setup mode works by piggybacking off the Bit One’s TAPE mode. When the TAPE button is pressed, the signal from its LED is detected by the upgrade board. While the Bit One's main CPU goes through its tape routines, the keyboard scanning is still running as it's on a different processor; so key presses can still be detected by the upgrade board's microcontroller.
- Schematic diagram
- PCB artwork (EAGLE)
- Firmware (v1.2) - requires Arduino MIDI & DAC_MCP49xx libraries
- Installation instructions
This project is available for purchase as a self-install kit. It includes the pre-assembled upgrade board, new DIN socket, IC socket and mounting hardware.