Programmable MIDI Foot Controller for the Korg KP3+

MIDI Foot Controller

The Korg KAOSS PAD KP3+ is a powerful beast. It’s great for realtime processing and sampling, but it’s not the best choice as a loop pedal. For one, the loop record length choices only include 1, 2, 4, 8, and 16 beats. You can adjust that after recording, but not on the way in. One shot samples can be any length, but they need to be triggered manually or via a sequencer. Furthermore, it’s not a pedal. If you want to trigger or record samples with your feet you’ll need a MIDI foot controller to do that. And not just any controller. It will need to be programmable so that you can send specific note values to the KP3+ that trigger each of the sample buttons.

This is the issue I decided to resolve for my continuously evolving live setup. More often than not I use a Rhodes electric piano with the KP3+ alongside a modest family of other gear. Playing two-handed while capturing Rhodes loops without audible gaps is impossible if you have to use a “spare” hand to do it. There are a number of programmable MIDI foot controllers on the market. Unfortunately, most of them are not fully programmable and are designed for changing patches versus triggering MIDI notes. An exception to this is the Behringer FCB1010, however, it’s quite large with twelve switches and two expression pedals. I only need four switches and can’t afford the space the FCB1010 would take up.

Highly Liquid MIDI CPU

People are making all sorts of custom MIDI controllers and there’s tons of microcontrollers that can be used for this purpose. I won’t get into all the options, but a few examples include Arduino (perhaps with a SparkFun MIDI shield), Teensy, Livid Brain V2 or Brain Jr, and Highly Liquid’s MIDI CPU. It just so happened that I had a Highly Liquid MIDI CPU on hand that I was sent to me as a sample years ago. I had used it for a few experiments, but nothing on a permanent scale.

Following instructions on the Highly Liquid website I was easily able to reprogram the MIDI CPU via sysex and start testing it with the KP3+. In minutes I had a prototype working that was triggering the sample buttons properly. With that piece confirmed I ordered four momentary foot switches and a sturdy aluminum enclosure. I measured and drilled all the holes for the four switches, DC power, MIDI in, and MIDI out. I soldered it all together and started using it immediately. I’m very pleased with the results and hope to use the foot switch for years to come. To an extent it is future proof because at anytime I can reprogram it via sysex through the MIDI input. A second reason the MIDI in is useful is because I can still send the connect device MIDI from another source (MIDI clock for example). This works because the MIDI CPU can be configured to mirror the MIDI in to the MIDI out while merging messages that originate from the circuit board. Handy!

This was an inexpensive, easy, and elegant solution to a frustrating problem. Custom MIDI controllers are getting easier and cheaper to build all the time. I’d love to hear about your DIY MIDI controller projects in the comments below. Thanks for reading!

18 thoughts on “Programmable MIDI Foot Controller for the Korg KP3+

  1. Hello, I’m looking at your Midi Foot Controller from this past May, and I was hoping to build one for myself. The CircuitHub build no longer is available, do you have any recommendation as to where I can get this circuit otherwise? Thanks!

  2. Hi Cory. Perhaps you can try contacting Highly Liquid in case they have any old stock available? Otherwise, there are other techniques you could use to build a similar controller. Arduino with a MIDI shield for example, or Raspberry Pi. Both would require a little more coding skills than using the MIDI CPU or something similar. Sorry I’m not more help.

  3. I was afraid this was the case. I’ve been getting familiar with basic programming in Python and C, and Arduino is a C variant, so I figured it wouldn’t be too difficult. Then after some reading I realized that MIDI on Arduino may not be as simple as most Arduino projects.

    I’ve reached out to CircuitHub to see if they can assemble what of the board they are able, and then I could possibly just solder the missing component myself. It’s hopeful…

    I also contacted Highly Liquid, inquiring about purchasing an assumed MIDI CPU from them, though I have a feeling it will cost significantly more than if I were to have it made by CircuitHub. Time will tell. Either way, thanks for the inspiring article! I believe there’s hope for a footpedal for my KP3+!

  4. This is a fascinating project, do you know if there’s any way to do it via Ableton?
    In a perfect world, I would like to set up a midi button to “record loop” on pad of choice, and then a second to “play loop.”

    Both of which would could be synced to abletons clock.

    I figure if I set up the “record loop” as a clip in ableton, then I never have to worry about hitting it at the wrong time.

    Thanks!

  5. which CC messages do you use on KP3+ to send SAMPLE BUTTON message and also after that choose one of the four tracks to start recording?? Thanks in advance!

  6. Hi Abby, unfortunately there is no way to remotely trigger the SAMPLE enable button. I press it by hand and then use the foot controller to start recording on a particular sample. The sample buttons are controlled by MIDI note on/off data. They start at C2 and go up in semitones. To be exact:

    SAMPLE BANK A button – Note on/off (#36)
    SAMPLE BANK B button – Note on/off (#37)
    SAMPLE BANK C button – Note on/off (#38)
    SAMPLE BANK D button – Note on/off (#39)

  7. Could you please help me? I’m trying to use blackstar midi foot switch to trigger my korg kp3+. I can assign foot switches to midi clock and cc commands with no problem but I am unable to trigger the sample banks and I can’t figure out what is wrong. On the kp3 I made sure the note messages are enabled on the filter menu and in the message menu I can see that bank A is set to C 2, B to C# 2, etc… on the blackstar I have note, C2, value off 0, value on 127, omnivalue on midi channel. But it doesn’t work.

    Any idea what I’m missing?

    Thanks

  8. @CORINA Sorry, I don’t know much about the Blackstar footswitch. have you tried plugging in a MIDI keyboard to see which keys trigger the samples? That’s how I started. Then I made sure that the switches were programmed to send note on/off in momentary mode. I hope that helps!

  9. Thanks so much for the quick reply. That’s was actually really useful, at least now I know that the problem comes from the blackstar (I’ll reach out to their support team) and that even though it says C 2, C# 2,etc… on the kp3 it is actually displaced by an octave and C1 on the midi keyboard triggered the sample (so at lest I know that that’s working too)
    Hope I get it diretes out. Thanks again for the suggestion and quick reply.

    Have a nice day

  10. Hello again. So solution isn’t perfect what it works now.
    Looks like the PC software has a bug
    I tried installing the software on my partners Mac his morning and the note messages saved on the black live where not right but I was able to save them with the Mac and now it works like a charm.

    I hope Blackstar will fix the bug for PC users

    The pedal is super fun and now I can start recording loops and samples using both hands on instruments :)

    Highly recommended (if you have access to a Mac)

  11. Hey thanks for sharing all that info, specially the cc notes that kp3 midi “hears”. I’ll play guitar and need hands free in this case. I’m waiting for my kp3 to arrive yet, but thought it initially
    couldd do overdubbing so was just a matter of pressing record, and rec a silent loop just before playing my instrument, but it seems it’s a little more complex.

  12. Hi, I am using Kaossilator Pro+ & FCB1010 controller and I have this issue. I can activate/deactiave loops but only in case that there is something recorded. I can’t record/overdub loops with MIDI.

    If I press record (REC button) and then press foot pedal, nothing happens – recording is not triggered. I can trigger it only with buttons. Then, when loop is recorded, I can activate/deactivate it by pedal (MIDI).

    Does anybody have any clue how to solve this?

  13. Hi! I have the same problem, up, FCB1010 + kaoss pad.
    What’s the right midi signal to send? note? CC? any help will be appreciated! Have a good music!

  14. Hi there, I‘m having exactly the same issue. Triggering works but no recording. What am I missing? Thanks for any help!

Leave a Reply