Pedalboard

Share on:

Pedalboard

As discussed in planning / pedalboard, I searched eBay to see if I could find a good quality pedalboard at a reasonable price. Reasonable to me was £200 or less in good shape or £300 or less with an encoder. Checking today, I can see prices between £1 and £250, all unecoded. You need to watch carefully as they come up for sale occasionally. Some sellers want a great deal for them and some are short pedalboards (27 notes).

I finally ran across one that was reasonably priced, good size and had the switches pre-installed in an encoding matrix, all for £131. It included a very nice wiring diagram and, while a bit dirty, looked very good. I had visions of having to strip it and revarnish everything.

I partly disassembled, vacuumed, and cleaned the pedalboard. All the contacts were checked with an ohm meter to ensure they worked, and a small piece of oak was added to mount expression pedals and the MIDI encoder on. It is a bit ‘thumpy’ when pedals are pressed and released but I think they just need to have the felt replaced. (This picture has the oak piece added. Extra cost: about £20)

The man that sold it to me gave me an accurate drawing of it’s plug. I confirmed it’s connections and that the diagram was accurate. I use a dsub-to-molex connector to connect with the MIDI encoder.

The encoding boards are mounted nicely on the end.

With the extra oak piece, I mounted the controller box underneath. My wiring isn’t the best as I was going to add in a secondary board and solder, but didn’t want to commit everything until I was sure it all would work.

I used an Arduino to encode the data. I wrote the code to:

  1. Scan and transmit the MIDI serial data.
  2. Check the status of every key to ensure a ‘stuck’ key doesn’t occur.
  3. Added a “speaker” to buzz notes when debugging (this can be turned on and off)
  4. Encode up to 4 different expression pedals. Each pedal will store the highest and lowest values of the pedal. This allows pedals to have less-than 100% voltage passthru. (Which mine have).
  5. Allow up to 32 pistons. Each piston can have any value sent and is either 16 or 32 bytes in length. (If 32 bytes it can only send a message on the ‘down’ event.)
  6. Accept sysex messages to set various parameters.

I currently don’t have any pistons, but will add them in the future.