Posted by & filed under Roland, SH-101, Synth DIY, Vintage synths.

Roland SH-101

Image courtesy of www.vintagesynth.com

The Roland SH-101 is a late-era analogue monosynth which uses a microprocessor to perform keyboard scanning and various related functions, much like the Sequential Pro-One. Since the original uP is a 40-pin DIP, it would be possible to replace it with a more modern 40-pin DIP uP, like the PIC 16F777, or with a modern surface-mount processor on a daughter board. This page is a look at the feasibility of this idea.

Original Processor pins and functions

The datasheet for the original TMP80C49P-6 processor says it has 27 IO pins. That’s not many on a 40 pin chip! Modern processors do much better.

The IO pins on the original are:

Pin name Function
P10 – P17 Function Switch Read, Keyboard Read
P20 – P27 Gate, Clock reset (CLK RST), and LED output via HD14556,
DB0 – DB5 DAC Output value 0-63, and Keyboard Group Select (DB0-DB3 is groups 0-3)
DB6 – DB7 Multiplexer channel select 0-3
T0 External HOLD input
T1 Analog Clock to uP
~INT Tied to Ground, so presumably unused.

We have seven buttons and seven LEDs under our command, plus we can read the VCO Range, TRANSPOSE L/M/H and GATE/TRIG switches.

We can output voltages via the DAC to either the PITCH CV or the LFO RANDOM signal.

Can it be done?

Yes, it can. The PIC 16F777 has 36 IO pins, which is more than enough to replace the 27 on the original uP. We’ll have 10 IO pins spare, since only 26 seem to be used. Whether the pin layout allows a drop-in replacement is another story, but we have all the capabilities we need, at least.

What can we add?

What exactly is the point of this? What can we add over the original processor, or over any other options that are out there?

MIDI In/Out

MIDI is possible on the SH-101 using the Synhouse MIDIJack. This gives a wide pitch range since it has a modern DAC on the board, but it doesn’t give any MIDI Out capability. With a new processor we can have MIDI In/Out, and could do stuff like output sequencer notes over MIDI. Still, there’s not much point using an SH-101 as a MIDI controller keyboard with its fantastic two-and-a-half octave range and total lack of velocity or aftertouch response, so it’s not much of a gain.

New LFO waveforms replacing the RANDOM wave

The uP generates the LFO’s RANDOM waveform by feeding random data to the DAC. We could replace this with other waveforms, although the DAC resolution is only 6-bits, so we’re looking at variations on steppy, staircase type waveforms.

More Arpeggiator options

The Arpeggiator is done entirely in software, and is controlled by three buttons, so we could potentially have 7 arpeggiator modes (double and triple LED combinations, with the three single LED options being the same as the current firmware – UP, UP/DOWN, and DOWN)

More CV inputs

One interesting option would be to use some of the extra IOs as ADC inputs. We could then accept further 0-5V CVs into the SH-101. I’m not sure exactly what these could control though. From the uP, we only have control of LEDs, the Pitch CV, and the LFO Random wave. Adding an external CV input for filter modulation, for example, is much better done in the analog domain without going near the processor.

Is it worth it?

Well, it’s not at all clear that it is. The original uP is soldered in, rather than socketed, so this is no simple plug-n-play installation. It’s a one-way trip, since you won’t be able to get the original uP out without destroying it. You’d better be careful removing it too, since it is very easy to start lifting tracks on old PCBs. This also means that an attempt to create a new uP had better work, or you’ll finish up with a dead SH-101!

The features that you can add are nice, but fairly limited. You can’t add any memory features beyond expanding the sequencer. You can’t add any MIDI CC send or receive, since the synth engine isn’t programmable. You can add LFO waveforms, but only in the RANDOM position, and only at 6-bit resolution, which is not ideal. The arpeggiator is the best option for improvements, but while some people go crazy for arpeggiator patterns, I don’t.

Conclusion

Not worth the candle, unfortunately. A shame, but there it is.

On some synths a new processor can really make a massive improvement, especially where the original processor was pretty overloaded. This is the case for many later polysynths which used the processor to generate the envelopes and/or LFOs. The update rates for these are often shockingly low, even in high-end instruments like the Oberheim Xpander, Sequential Prophet T8 or Waldorf Wave.

However, the SH-101 is basically a fully analog synthesizer, and the processor is really only acting as a keyboard scanner, with a couple of minor auxiliary functions. This lack of connection to the guts of the instrument means there aren’t many gains to be had. The more positive way to look at that is to say that the SH-101 is about as good as it can be already!

4 Responses to “SH-101 replacement processor – a feasibility study”

    • Tom Wiltshire

      Thanks for that, Florian. That’s an excellent piece of work by Tobias. The extra LFO and envelope are a very nice touch and really add some power, but of course the SH-101 doesn’t have controls for them – you have to control it via MIDI. Personally, I’d get annoyed by the button combinations required to operate some of the extra features on the sequencer too. Still, I’m glad to see that someone *did* think it was worth doing!

      Reply
  1. elie

    A proper clone of the SH-101 should now be possible since the VCO chip is back and the IR3109 isn’t hard to find in just about any piano roland made back in the day

    Reply
    • Tom Wiltshire

      The IR3109 isn’t a particularly distinctive chip, either. You could build a cloned Roland filter using other easily available OTAs like the 13700. This is the approach that’s been used for the modern clones of the Juno 106 VCF/VCA modules.
      So, yes – a full SH101 clone is definitely possible these days.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *