DIY stripboard Roland System 100 ADSR envelope

System 100 ADSR front panel

The original envelope on the System-100 keyboard wasn’t really one of my favourite things about it. There’s precious little resolution on the decay slider for tuning in those tight bonky basslines, so I tend to end up moving the slider by infinitesimally smaller amounts to try and get the sound I want.

I should point out that it’s a different circuit to the possibly legendary System 100m ADSR envelope (“the snappiest adsr eg of the world…”). For once the hype is deserved, my stripboard 100m 140 clone felt super-snappy, with satisfying control ranges.

System 100 ADSR schematic

Let’s build the System-100 version anyway, maybe we can use different potentiometers or swap the timing capacitor size for something a bit smaller.

The rare-ish programmable unijunction transistor N13T1 was swapped for a 2N6027, although it has since been possible to get hold of the originals on eBay. The 700 LFO worked better with the N13T1, so that might be case here. I used 2SA733 and 2SC945 transistors as per the schematic, albeit the -GR variant rather than -Q, with 1N4148 diodes standing in for the 1S2473s that are splattered throughout.

System 100 ADSR stripboard

The original never quite fully opened the VCF so I’ve added a single opamp to optionally boost the level from 6v to 10v.

Here’s a video of the envelope in action – I left the text on there to keep the camera from trying to going apeshit trying to autofocus on the trace. Not being a storage oscilloscope makes it trickier to track slow moving signals but you get the idea.

In this test I’m using a 3.3uF tantalum for the timing capacitor as standard but smaller pots than the original: 500k for the attack, 100k for the decay (which is too small, really), and 500k for the release, all audio taper. At about 0:43 the sustain pot is turned to 100% which causes the voltage to ramp up slightly rather than staying level. I’ve not looked very hard into fixing this – I’ve just been turning it up to just below maximum.

Here’s the layout and the DIY LC file (without the 6v to 10v boost) should you feel in the mood to torture yourself with some stripboarding.

Roland System 100 ADSR envelope stripboard layout

Having been through all that, if you want tight and snappy then the 100m envelope is probably a better bet.

Due to other things (work, house move, more work…) the System 700 envelope PCBs I made have been left untouched in a box since March, I’m looking forward to getting those going and comparing them to the System 100 and 100m… eventually.

No Comments

DIY Spider sequencer

While I’m still working on other non-synth things… after I got the Wasp running last year I started to fiddle with making a Spider-ish sequencer out of a Teensy 2++ board, and this is as far as I got at the time.

Compared with the original track the oscillators should be an octave apart, but I never got the chance to re-record it before we moved house and the DIY Spider fell to the bottom of a box, somewhere in our loft. You get the idea, anyway.

The 7-pin DIN sockets on the top of the Wasp aren’t MIDI, but more like a weird digital CV/gate. .

The pitch is set in binary, with four pins determining the note within the octave, and the fifth and six pins defining the octave. There’s a table in the service manual which helps to work out the encoding. A 2 bit number has three states so you can get an extra octave from playing it externally.

The seventh pin is the “trig”, but it’s not just a simple on = note on, off = note off, rather it’s a square wave running at about 48Hz.

Everything works at 5v, which made it simpler to use the Teensy 2++ rather than the spare 3.3v Teensy 3.0 I had kicking around, and the extra I/O came in handy.

Compared to the original I added an LED display for showing the current step, and I made the transpose buttons latching. I almost got the real-time record working (with a silly piezo sounder for the metronome), but that always seems a bit pointless on these sorts of sequencers. Or maybe I’m just shit at playing in time.

I hadn’t got round to adding a clock input – from reading the Spider user manual, it’s not immediately clear how this might work in real-time playback mode – probably not very well. Or just very slowly.

The pin out of the Wasp DIN socket goes something like this

1 – f (MSB) – orange
2 – e – yellow
3 – d – green
4 – c – blue
5 – b – purple
6 – a (LSB) – grey
7 – trigger – white

… as if you are looking at the back of the socket (with the soldering) with the ground at the bottom, from left to right. Here’s a photo:

Wasp DIN socket

The sequencer is alright but to be honest it’s more fun to play from the keyboard… never thought I’d ever say that about any synth. I must be ill or something.

No Comments

702 oscillating

702 sawtooth

And it sounds alright. After I’d tried previously to get this going on a breadboard without success (and after my System 100 VCO woes) it was pretty satisfying to get it going so quickly.

As a bare minimum I found I needed something attached to the range input, or else I got nothing, or possibly just a subsonic rumble that I couldn’t hear.

Being a saw core, here’s the derived triangle with the reset glitch very apparent.

702 triangle

It doesn’t sound too fuzzy despite the glitch. Here’s the reset pulse when zoomed in. I had to take a photo to measure it ‘cos it was jumping about a lot, and my oscilloscope doesn’t do the storage thing, looks like about 2µs.

702 saw core reset pulse

I’m blaming the pitch wandering on the thicket of wires and power cables taped under my desk. Fiddling with C5 might improve the reset speed, although possibly at the expense of stability. The SH-7 oscillator core looks similar to the 702 and uses a 10pF capacitor for reset pulses of less than 1µs.

Here’s the comparator/reset generator from the System 700 schematic:

System 700 C5

Here’s the sine…

702 sine

With the possibly suspect ua726, and a 10K resistor at R22 (as detailed in the parts layout rather than the 15K in the schematic), I found I had to effectively drop R9 to about 45K to give the width pot enough of a window to get it to track across the octaves.

My current test set-up doesn’t really lend itself to the greatest accuracy – which is a nice way of saying it’s a shit-tip – but after a lot of fiddling I got it to play acceptably in tune across between 0 and 5v, drifting significantly sharp at 6v.

frequency (hz)
frequency (hz)
0v 27.7 27.5 +12.5
1v 55.1 55.0 +3.1
2v 110.1 110.0 +1.6
3v 220.1 220.0 +0.8
4v 439.9 440.0 -0.3
5v 879.4 880.0 -1.2
6v 1771.5 1760.0 +11.2
7v 3538.1 3520.0 +8.8

…which apparently in the world of VCOs isn’t that great. I’d put a audio demo in here but it’d make your teeth go on edge.

It seemed odd that it drifted sharp higher up, if anything I would’ve thought the oscillator would go a bit flat.

Some later Roland oscillators swap the 3.3K resistor at R28 for a 4.7K trim pot (referred to as “linearity”), which I reckon compensates for the high frequency error. This is from the SH-09:

SH-09 linearity adjustment

I think the 2N5484 I’ve subbed for the rare-as-hen’s-teeth NF510 is better (faster?), which means the 3.3K is compensating too much for the error.

Fixing this means either increasing R28 or perhaps switching the 2N5485 for a 2N4392, which the Jupiter 8 service manual recommends as the sub for the NF510. I need to fiddle further.

I’m having giddy dreams of building nine oscillators for the full ridiculous System 700 experience, but using ua726s isn’t realistic.

To that end I’ve long had a ‘726 replacement heated CA3046 planned out on stripboard, I just need to get round to building it. Annoyingly 3046s are getting harder to get hold of in DIP for now, so it’ll be cheaper to go surface-mount for the final PCB. I’ve never done much in the way of surface mount before so this’ll be another new thing to learn.

Going to need to hibernate for a month or so now while I do some other stuff, but I will return to System 700 fiddling.