RH-101 Synthesizer

This is based on the SH-101 synth, but simplified, MIDI only and designed to fit on one PCB.


This runs a standard design CEM/AS3340 volgate controlled oscillator just like the Roland SH-101 did, the saw wave is then taken through a schmitt trigger gate to create a pulse to drive the 4013 flip flop where it’s divided down twice. A pair of diodes then connects the 2 sub octaves together to give a -2 octave with a 75% duty cycle, just like the SH-101.

There is where the SH-101 circuits end, I use a 3320 filter, 3310 envelope generator and 3360 VCAs. This is the easiest modern way of building a synth, even though these chips were designed in the 1980s or earler, they are still made today as clones with part numbers AS332, AS3310, AS3360 and AS3340.


There are 2 LFOs which are generated from MIDI clock, so if MIDI clock is not running then the LFOs do not work, LFO1 is routed to the PWM with a switch to select between PWM and Envelope modulation, the second LFO is connected to the filter with an adjustable amount.

Power Supply

The main board is designed to be powered from +15V and -5V. There is an on board 5 volt regulator which is for the microcontroller.
These voltages might be a little odd, why not just stick to +-15 or +-12, well there’s a couple of reasons.
One. The AS chips like to work at -5Volts, any higher we need to use their internal Zeners requiring an extra resistor and this would then generate more heat inside the chip.
Two. The 3310 envelope requires 0 to -5Volts on the pots to control the Attack, Decay and Release times, this could be done by adding voltage dividers to the pots but again extra components and potential for things to go wrong.

So I opted to power the whole board from +15 and – 5V. On my rack case I have added a -5V regulator to the front, I could have put one on the board but I didn’t feel this necessery at the time.


The controller is a PIC 16F1516 with built in UART, SPI for the DAC and 595s for the LED display. This controls all the featues of the system and controls the LFOs.
There is a 2 channel MCP4922 DAC which is for the pitch CV and for the key tracking amount.

The system accepts MIDI only as a form of control, no keybed scanning.


There is only one voice on this synth, but if a second key is pressed the frequency will change and, if selected, the envelope will re trigger. This makes playing a single voice synth much easier and allows multiple keys to be used. Only one will be the playing note at any one time but it allows for a smooth glide to other keys.



Z80 Sequencer

A project that followed on from the Z80 Synthesizer and my very first project, the Arduino sequencer.
Following on from tradition, this is only using hardware and software from the 1980s.

Sequencer Features

Programmable up to 4 bars (64 steps), 16 step per bar
5 playable MIDI or Gate parts
2 MIDI ports with 4 possible channels (just easier to program)
Clock output (square wave) 16th/8th and beat pulse

How it works.
I have used an 8254 timer which is set to an interrupt frequencey calculated from the BPM, this interrupts the CPU (every 125ms at 120BPM) which then run the steps.

At each intterupt the CPU reads a bank of 80 bytes which are divided up as follows:
64 bytes – Each step (5 parts uses bits 0 to 5 on the total byte data)
6 bytes – Part info (What to play/do), this is 6 bytes for a max of 6 parts if this is ever upgraded
6 bytes – Note information for MIDI
4 bytes – System info / BPM range etc

The simple procedure is as follows

CPU Interrupt > Read byte for step > Loop through parts > Part on?
Yes – Read part info to play gate or MIDI
No – Skip to next part

If the part info is a MIDI part it reads the note data to determine what note to play.


The sequencer can now run through 16 steps and 4 bars, outputting MIDI notes that can be used to control some drums


Z80 Synthesizer

The aim of this project was to build a fully functional synthesizer based only on electronics and software that was used in the 1980s.
The Z80 CPU was chosen, being popular in may an ’80s classic, having a good following still even today, and actually being a very nice chip to work with.

The oscillators are based on the Juno 106 DCO (Digitally Controlled) with analog voices using 3320 filters.



The Z80 synth is almost complete, a few more software tweaks to do and the analog voice boards to finish, then we can get a sound!

Z80 Synth front panel build