DJB-MIDI Bass Pedals Project

I've always wanted a set of bass pedals like the Moog Taurus.  Since I couldn't find any within my price range I wanted I decided to build a set.  I found a set of Hammond pedals on the internet and decided to build a synth around them.  Part way through I decided to change to just a set of MIDI bass pedals since I have lots of synths and this would keep my options open.  This page describes my project which is mostly complete.  I will continue to update the code for this project as I have ideas for new features.

Below is the starting point after quite a bit of clean-up and painting.  These pedals were rusty but mostly intact.  I mounted the bass keys backwards (they should slope to the rear) as it seemed more reasonable.  The circuit boards on the rear had an active circuit per key switch which I bypassed.  It is a well built design.


Next I designed a PCB around a BasicMicro AtomPro24.  I have written code for this processor and wanted to reuse my development environment and code base.  It has plenty of flash and interfaces nicely to my PC for downloading new code.  Below I've attached the PCB temporarily to the pedals for software development.


With the code working I turned my attention to cabinet construction.  I made the cabinet out of poplar with a birch ply top.  I was thinking of an angled front but decided on a simpler rectangular shape.  This had lots of interesting dado cuts.


Next I designed a FrontPanelExpress panel for the top.  All of my modules have been made in a black color so I decided to go with a gold panel to contrast more with the wood grain.  Below is the control panel.  I included MIDI input as I already have input interrupt code and a complete MIDI parser written for this processor.  I eventually want to be able to download MIDI sequences to this.  Since programming is easy I can also download software to operate as a basic MIDI filter.  The two AUX jacks are logic outputs and analog inputs (TRS).  This way I can interface an external expression pedal and use it for a variety of functions.  Right now it defaults to velocity.  I can also generate Trigger and Gate outputs for use with my modular synth.  The PROGRAM connector simply interfaces to an RS-232 port on my computer for programming.


Below  is the PCB attached to the panel with all of the controls mounted.  I've included MOTM-style power connectors for expansion as there is additional room in the cabinet. I also have an expansion connector for two additional analog inputs and two additional digital inputs / outputs.  I may still add a D/A for control of my analog modular.


Here is the finished project.  I inset the panel into the top so it is nearly flush.

I've written nearly 1400 lines of code.  Although the compiler supports C, I have everything written in Basic.  When you look at the code it reads more like assembly. MIDI input and output is interrupt driven.  MIDI-in data is merged with the bass pedals and translated to a different MIDI channel.  Running status is decompressed and real time messages are supported.  Note information for both the MIDI input and bass pedals is sent to an LCD display.  The arpeggiation sequences can be driven from an internal clock or from MIDI clock.

The currently implemented features include:

     Normal, Mono, and 'Sticky" modes (sticky=note held until next note played)
     Normal, One-Shot, and 'Sticky" arpeggiator modes
     Five built-in arpeggiator sequences with a user-recordable 100 note sequence
     MIDI channel select
     MIDI program change select
     Normal, -1 and +1 octave select
     Panic all-notes-off message

Here are some links to the design documentation

DJB-Bass Pedals user's guide  Updated

DJB-Bass Pedals software source code  Updated for Studio 2.0

DJB-Bass Pedals design schematics

DJB-Bass Pedals FrontPanelExpress design file

I have not posted the PCB design files but I can make them available if you wish to purchase a PCB.  Quantity three prototypes can be ordered directly from ExpressPCB for $51.

Here are the pedals under one of my synthesizer setups.  I am using it to generate sequences for me to practice my Etherwave with.


I also have some videos of early construction.  They are older so the quality is lower but they do show the pedals in operation.  The first two videos shows the prototype in sticky mode and arpeggiation.  The last video shows the finished basspedals controlling a loop on my Ensoniq16+. 

Basspedal prototype


Basspedals arpeggiator


Basspedal loop


Other Fun Stuff

Since the processor is in-circuit upgradeable via RS-232 it is easy to modify the software.

I later added control for portamento on/off but none of my synthesizers support MIDI portamento.

I've also modified the software to use my VFD display with the bass pedals. I use the Program port to send serial data to display the MIDI notes.  This is great to watch with arpeggiation sequences.


I've since completed an external LCD module.  I decided to use an LCD since it requires less power and generates less heat (this VFD display requires 400 mA of +5).  I also add a 'm' or 'p' in front of the notes to indicate whether it is MIDI-in or a pedal.