MIDI Drawbars Commander

A configurable MIDI controller featuring 9 Hammond Drawbars, 8 buttons, Expression pedal, Leslie switch pedal. Built with Teensy.

Similar projects worth following
I couldn't find a drawbar controller for my Hammond VST that was also able to command the toneweels engines that I have in different keyboards and expander... so I build one!

I was looking for something that:
- Has 9 drawabars (or at least 9 sliders)
- Has "real" MIDI ports (i.e.: 5 pin DIN connectors) not only USB: I use it with "real" keaboards, not just with computer based system.
- Can send the SysEX (System exclusive) controls required by some Roland gear (namely the FA06 / 07 / 08 series or the Jupiter 50 / Jupiter 80)
- Can send CC (Continuous Control) commands that most keyboard and also VST use to control their Organ engines

While at it I added 8 buttons with LEDS for the usual "Hammond things": percussion, vibrato, leslie speed; a switch pedal for the Lelsie speed and an expression pedal for the volume.
Each control can be configured to send any arbitrary type of MIDI command on any Channel with configurable range

The whole thing is controlled by the awesome Teensy LC loaded with the always-evolving sketch that I maintain at the below linked GitHub page.

STATUS OF THE PROJECT: At the moment it's fully functional, I'm just adding some minor improvement to the code and better documentation... 

Summary of features:

  • For each control (button and slider) you can set: transmision channel, min & max value sent, type of MIDI message sent (Continuous Control, Note  On/Off, Program Change, System Exclusive), and for the buttons only: if is Toggle or Momentary.
  • Can switch between up to 4 different configuration (the above controls assignement) so you can control different gear. For example you can have a configuration for your Organ VST, one for your Roland FA-06, another on for the Crumar Gemini, and a fourth for the Nord Electro. Or you can map the control all different and use this for controlo maybe a little digital mixers... YOur needs are the only limit...
  • An "ALTERNATE" button allows to switch between Upper/Lower/Setup modes
  • Offer MIDI Output and Input both on "standard" 5pin MIDI DIN and MIDI over USB
  • Complete MIDI merge function: all what enter in MIDI and USB is sent to both Outs merged with controls generated by Drawbar Commander. This mean that you can use the Drawbar Commander as a MIDI interface too!!


the complete schematic

Adobe Portable Document Format - 99.89 kB - 04/08/2019 at 13:26


  • Updated the schematic with correct MIDI IN wiring and components

    Stefano Garuti04/03/2019 at 15:27 1 comment

    Some weeks ago I found that a stream of wrong, malformed, spurious MIDI messages  was coming from the serial MIDI IN (the 5 pin MIDI in) , when used with a connected Keyboard.

    After further investigation and lot of useful suggestion from the Teensy forum ( I foud that the components and the wiring I used for the MIDI IN interface were wrong: I wired the 6N139 optocpupler (this is the only piece that's ok) but using the schematic for a different (obsolete) optocoupler.

    So I had to open the Commander, remove the the main board (where are the MIDI interfaces too) and change the optocoupler's surrounding components.

    Thanks to the modular design I adopted it was a fairly easily task and in a few hours I was able to put in again the main board.

    Now I have a really steady stream of messages from MIDI IN: a must for a reliable instrument that has to be gig-worthy


    I uploaded the correct schematic, that was also changed to show all the connector used and how I divided the boards.

    The schematic source (KiCAD) is now under version control tto at the GitHub repository

  • v. 1.3.4 adds led blinking when MIDI data are received

    Stefano Garuti01/07/2019 at 13:49 0 comments

    The Drwbar Commander in equipped with a "standard" (5 pin) MIDI IN port as well USB MIDI IN.

    They can both be used to merge MIDI in data with thoese generated by the Commander e sends them to both MIDI (5 pin) and USB OUT.

    With this release we added a way to "monitor" if MIDI data are coming at the MIDI in ports: when in "ALT" mode the current preset's LED blinks when there is MIDI in activity.

    The code is as always on GitHub.

  • ver. 1.3.3 is here

    Stefano Garuti01/04/2019 at 14:56 0 comments

    I found some time to fix some little bugs.

    With this release you can:

    • press ALT + VIB ON to trigger a whole "analog sync": all the drawbars are read and the corresponding CC or SysEX Value is sent via MIDI, so you can be sure that the sound engine is "synced" to the Commander.
    • press ALT + FAST to send a "All sound off" (CC 120)...  just "in case" ;-)

    You can download from:

View all 3 project logs

Enjoy this project?



tommccaff wrote 03/12/2021 at 06:11 point

This looks REALLY cool. I just got a Roland FA 08 and it's impossible to find a controller that works with it.  I can assemble a kit if necessary.  Do you sell a kit?


  Are you sure? yes | no

M J Bauer wrote 01/11/2021 at 03:32 point

G'day Stefano. Nice project... very neat design and build. I also have an electronic musical instrument project in progress. It's an EWI -- not a keyboard, but the (software) synth uses an additive synthesis method similar to a drawbar organ to populate wave-tables for the oscillators. It could use a physical MIDI interface like yours. Details here:

  Are you sure? yes | no

glenn.szymanski wrote 04/13/2020 at 00:14 point

Hello. I built a 3 tier midi controller in a faux Hammond case/shell a few years ago (photo in profile). I have been wanting to add drawbars for a long time. I have a few sets pulled from different Hammonds (M-3 and M-142). I was going to buy a converter product from a company called Midi Boutique from Bulgaria, but I think it may be too limited. I'd like to have 2 sets of 9 drawbars (total of 18), each set on their own midi channel. I also have pulled a bunch of vibrato buttons that I might want to add. Would the Teensy LC work, or do I need something with more inputs? Grazie!

  Are you sure? yes | no

Dave Lewin wrote 08/14/2019 at 14:28 point

Hi Stephano, Great project. I've designed a PCB for the control heart of the project so it will be easier to adapt to different types of MIDI controller projects. A couple of questions - are the drawbar pots you are using Linear or Log,and reading through the code there are two sets of three presets. What is the method of selection of these? I can see the ALT button is involved in this, but?

  Are you sure? yes | no

Stefano Garuti wrote 11/05/2019 at 14:47 point

I Dave,

Sorry for the late reply... I didn't get the notification of your message.

I'll be happy to take a look at your PCB!

The drawbars I've got are linear.

I switch between the two presets set using the ALT button: a long press on the ALT button puts the device in "change-preset mode": then pressing one of the designated buttons just chang an "index" stored in a variable: I use that "index" to access the first or the second data stored in a big array of values


  Are you sure? yes | no

glenn.szymanski wrote 04/13/2020 at 00:16 point

I'd also possibly be interested in your PCB.

  Are you sure? yes | no

Daniel Olops wrote 06/19/2019 at 09:22 point

Hey. Do you plan on selling this as a pre-built unit? I'm not really a DYI guy, but I'd love to use one of these with my FA-06...

  Are you sure? yes | no

Stefano Garuti wrote 11/05/2019 at 14:42 point

Hi Daniel,

I really don't have the time of building another one... I'm sorry

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates