Yet another pedalboard controller build

WARNING: Intensely techy nerd post, feel free to skip this one

Right then. The ESP32 microcontroller was a non-starter. MIDI over USB just wasn't working so we're on plan C now, using WebMIDI in the browser and wonder of wonders. it works surprisingly well. There's a bit of configuration hacking to do in order to enable WebMIDI in the browser but then it's all Javascript callback functions, a shitload of modules and classes and a CSS felxgrid front end. While that has fored me to relearn a lot of web scripting skills it seems to have been worth it as this can now do MIDI clock, program change and controller change. I would have liked some facility to process clock bytes without buffering but you can't have everything. Maybe I'll look into handling those in another thread.

Other planned development includes using IndexedDB to handle program changes and patches but that's a long way down the road. Runs acceptably well on a Raspberry Pi but the tricky touchscreen might mean I just shift this all onto a laptop running Ubuntu.

Pedalboard Controller FROM HELL

This is the latest nightmare of wires and microcontrollers, my MIDI pedalboard controller to route clock and program change round the two pedalboards. When (if) finished it will (should) allow me to use the RC-500 Loop Station as a master MIDI clock for all the pedals while receiving program change from the BOSS GP-10. Those program changes select a "super patch" from SD card on a LOLIN D32 Pro ESP32 MCU which selects different program changes for the three Eventide pedals.

I originally planned this with a web interface using ESPAsyncWebServer and JSON but that's been scaled back due to lack of available memory but it may just expand into a second ESP32 board to provide Wifi connectivity and web front end. A work in progress.

The Weirding Module - ESP32 I2S DSP Using Faust

I've been taking a break from analogue circuits to investigate the world of DSP using an ESP32 microcontroller and the Faust DSP librares. This has been quite an adventure involving building my first dedicated Linux computer with PlatformIO running in Microsoft VS Code. So far I've got it running three sawtooth oscillators, a noise source, triangle LFO, amplitude and pitch envelopes and a simulated Moog resonant filter. The I2S interface produces impressive 24-bit sound quality at 48kHz sampling rate. Unfortunately the Faust delays and reverbs seem to make the processor brown out and it goes into a reboot cycle. More work required. Or possibly just a lot more memory. That couldn't hurt. The crackling noises are due to having the record level turned up too far rather than any problem with the synth.

CEM3340 Voltage Controlled Oscillator

Just got this one completed and working. Uses the classic (reissued) CEM3340 chip as used in so many classic synths like the Sequential Prophet 5, Roland SH-101 and many others. The PCB wasn't quite right so I had to bodge wire a resistor and capacitor into the CV mixing section, not really worth fabricating a new PCB though as the finished module works very well.

FrequencyThing New PCB

After several failed PCBs, we now have a working version that reads frequency from the modular! So far I've burned out four Arduino Nanos and a 20x4 LCD display module but we're getting closer to a working unit all the time. Next step is writing the rest of the firmware for the Nano to control the DAC and the 4066 switch.

Buchla 292 Low Pass Gate Clone

I stumbled across a video demo of a clone of the Buchla LPG on Youtube and was phenomenally impressed. So much so that I knew I had to build one. It's an ancient type of filter using Vactrols, a combination of an LED and a light-dependent resistor to effect a frequency response change. And it sounds wonderful.

The first PCBs aren't quite right, I managed to omit the two voltage tracks to the ICs so this first version is patched up with a couple of bodge wires to make it work. Only smoked one opamp making it, a new record.

Oscilloscopery - The Rigol DS1054Z oscilloscope

To assist in my electronic endeavours I have treated myself to the very wonderful Rigol DS1054Z digital storage oscilloscope and BLIMEY, it is good. This machine does everything from FFT analysis to SPI bus decoding in realtime (almost). It's a four-channel scope, brilliant for watching the channels of something like an SPI or I2C bus.

So naturally the first thing I'd want to connect up was my modular synth. Here's the MakeNoise DPO oscillator outputs running in hard sync mode. FFT shows the harmonics and already I can see that I need to turn up the sweep extent trimpots for the pulse width modulation on two of my other oscillators.

The scope has LAN connectivity, PNG waveform saving to USB memory stick, hundreds of features you might normally expect to pay twice the asking price for.

And by illicitly googling "RIGLOL" you can find a page that lets you enable the paid performances for free.

Not that I condone such behaviour.

Routemaster Number five

Having made a complete fuckup of two previous boards by putting the voltage regulators in the wrong way round, I've rattled through building this new version. One more board to build then the modular cases will finally be ready for me to transfer the synth modules into.