spi4teensy3 and 74hct595 shift registers

Look at this godawful mess. Look at it.

It’s a few surface-mount 74HCT595s chained from a Teensy 3.6, and it took me too long to work out why it wasn’t working.

More to remind myself as much as anything – don’t declare the clock and data pins as output pins. Like this:

void setup() { 
  spi4teensy3::init();
  pinMode(10, OUTPUT); // attached to pin 12 of the 595
  pinMode(13, OUTPUT);
  pinMode(11, OUTPUT);
}

Nooooo. ‘Cos then it doesn’t work.

This’ll do the trick – Teensy pin 10 is acting as our slave select pin in this case:

void setup() { 
  spi4teensy3::init();
  pinMode(10, OUTPUT); // attached to pin 12 of the 595
}

And then the lights come on, kaboom.

Here’s some panicky twiddling of a BCR2000 talking to a DIY monosynth through the above mess (plus a bonus DAC). Pitch and gate currently isn’t MIDI’d up but I’ll get there.

The synth bit sounds way better since I sorted the sawtooth waveform out and tracked down the resistor that was out by a factor of 100 in the filter… everything sounded like RAHHHHHHHMAXVOLUMERAHHHH all the time until I chopped that out. And not in a good way.

With lots of parameters being voltage-controlled, maybe it could have presets and a way to edit those sounds and extra software-generated LFOs and envelopes and MIDI program changes and a pony. It’ll be fun working out how on earth to actually do that.

No Comments

Roland System 700 716 mixer clone

Roland System 700 716 mixer clone front panel

It looks good, but it’s not very good.

Don’t bother trying to make a PCB of this one, you could stripboard it in half-an-hour or less, I’d imagine. As on the original it’s tacked onto the end of the sample and hold PCB.

Notice no screws for the slide potentiometers. The slide potentiometers are bunged on a bit of veroboard (at a jaunty angle to the strips), with acrylic spacers screwed to the board and glued to the front panel using JBWeld, which is as shit as it sounds.

I had a couple of failures before I got it to stick. I’ve also tried using some special/horrific acrylic cement, which totally failed. There would be a photo of the back of it here but it’s just embarrassing.

Since then I’ve reverted to making PCBs for the slide pots, with screws in the middle of the pot throw, which works much better, and helps reinforce the front panel.

5 Comments

CV-to-MIDI stripboard thing

That stripboard project is more or less done, although there’s a bit of debugging still to do. It’s a sort of a mini-Roland OP8M – maybe an OP2M, effectively, allowing the MC-4 to control a MIDI synth.

I did a demo of it for a mate, I think he was a bit mystified. Here it is – I got slightly carried away, as usual.

It’s the usual MC-4 syncing a TR-606, with the out-of-tune big black modular bass synth being the System 100M clone, and the parpy MIDI’d up thing being a JX-3P.

It takes CV1, CV2, gate, and MPX from the MC-4. (MPX is a digital signal and is either on or off for the duration of the step).

One switch selects the octave for the base note, and the other switch is for selecting what happens when it receives an MPX signal from the MC-4.

Position one of the MPX switch selects sending CV1 to a different MIDI channel (so you might get a different sound), position three sends CV2 to the same channel (so you get a second note), and in the middle it’s effectively off and just uses CV2 for velocity.

My JX3P doesn’t do velocity, and is only responding on MIDI channel 1 in the video above, so we get this muting effect when switching to “cv1 diff ch”.

I fret about the timing, as always. I’d buffered the CV signal before it hits the ADC to get a low impedance, but it still takes a fair number of samples before I get something reliable. My Poly61M definitely seemed a bit late when triggered from it, but there’s every chance the MIDI in that is just slow.

Anyway it’s working well enough for now, although there’s a minor bug that needs sorting. It should give me different options when I do my long-winded MC-4 jams.

No Comments