Monday, 22 July 2024

Pedalboard



Occasionally, people ask about my pedalboard so I thought I'd document it here. It's changed a lot over the years but this is what it looks like in 2024:
 


Signal Path


The pedals are divided into two groups. The 'Foogers are in one with all the rest in the other. The switch box can be used to select which comes first in the signal chain. It's also a good place to have the main input and output connections.


Control Signals



Controller

A home-made Arduino-based controller with control voltage outputs (CVs), analogue inputs, MIDI in/out, switch outputs and support for three assignable footswitches. The firmware allows the CV outputs to be driven by fixed levels, oscillators, noise sources and more. The controller can store patches with settings for all of these features and the patch is changed via buttons on the top. It is configured via the MIDI Designer app running on an iPad connected over Bluetooth [Low Energy].

The hardware development is described here, the firmware here.


Pitch Fork

I modded an EHX Pitch Fork to allow the controller to save its settings and to give CV control of the blend. That development is described here.


Dual Freeze

The dual Freeze box contains two EHX Freeze pedals that can be turned on and off by the controller. It also has send and return so that other pedals can manipulate a frozen sound, which can then be frozen again. I haven't used this much but it can create some interesting effects that I'd still like to explore.


Compressor

This is just a Build Your Own Clone kit that I couldn't be bothered to label.


Expression and Volume

These are unmodified Boss pedals that are a good size to fit on the board, but I don't like them much - most of the action happens in the last third of the pedal's travel. I'd prefer something more linear across the whole range.


Axoloti

This is an Axoloti Core board built into a box, and it really deserves a whole post on its own. It's a DSP device designed for audio processing, with numerous 'objects' being provided by the original designer and the community that existed around it, but also allowing for new ones to be developed. The board is no longer made although a new alternative has been developed (Ksoloti) and there's a description of Axoloti included in its documentation. Axoloti patches are stored on an SD card and can be selected by the controller via MIDI. This is the patch for the Zaardvark tune Moagulum:




This patch has chorus, reverb and some custom loopers. Others have distortions, phasers, delays, sample playback and a load more.


Geiger Counter

This is a distortion/fuzz/noise pedal that makes some really horrible sounds (which is good). It's in the Axoloti's send/return loop to provide wet/dry control which allows me to tame it slightly.


The Future

The board does most things I need it to but there are a few things I'd like to improve:

  • I'd like more footswitch inputs to the controller to allow more complex Axoloti patches.
  • The board is very noisy, probably due to me not paying enough attention to ground loops etc. but also because the controller is an Arduino in a plastic box.
  • It all works well live but having to use an iPad to configure the controller and a laptop to program the Axoloti means it's hard to make adjustments in rehearsal.

Sunday, 3 March 2024

MIDI Footswitch

Andy has a Line6 Bass Pod and needs to control it with his feet. He needs to be able to turn on and off three different effects. The official Line6 footswitch is no longer available but the features can be controlled via MIDI, so we need a box with footswitches that send the appropriate MIDI Control Change messages. I started with a 3D model to help with visualising where the switches should be. Having them in-line across the front of the box increases the risk of hitting switches 1 or 3 when aiming for 2, hence the offset approach.



In previous projects I used some kind of Arduino, but I fancied trying CircuitPython for this project. This has the advantage of the code being stored on the module, allowing anyone to modify it without the faff of toolchains and the relative complexity of C++.

Some requirements to start with:
  • It needs to be powered from Andy's existing 9V daisy chain.
  • The MIDI cable should be captive so the cable can't become separated from the footswitch, and to simplify setup.
  • Each footswitch has a corresponding LED.
  • It must be mechanically robust.
I happened to have a Seeed Studio XIAO RP2040, so the design is based on that. I considered hacking it together on Veroboard, but the ridiculously low cost of PCBs from JLC PCB made a custom PCB too tempting. It also makes it easy to allow for five switches and LEDs in case that's needed in a future project.

The schematic:


The XIAO can only handle 5V. The current requirement is only tens of milliamps so an old-fashioned voltage regulator is fine. Here's the final layout:


And KiCad's 3D view:


The box needs some holes:



The PCBs took about about three weeks to arrive:


Assembly:



Putting it all together:



Fully assembled:




The code is available on github.