Build your own MIDI circuits
Frequently Asked Questions.
MIDI & Music
MIDI and Music Information
MIDI Foot Pedals using MIDI & USB


Keyboard/Piano Foot Pedals  MIDI/USB 

This assembled unit converts  1 variable potentiometer and  3 switch foot-pedals to an associated MIDI control signal.  This unit can work in standard MIDI mode, at a MIDI Baud rate of 31250,  or via the USB connection at a Baud rate of 38400. 


This unit is designed to provide a variable Damper Sustain Pedal, and switched sostenuto pedal, soft pedal and legato pedal.



The MIDI 4 pedal design has the following specification:

1) Regular MIDI IN
2) Regular MIDI Out and USB MIDI Out 
3) Regular MIDI In merged with pedal MIDI information and sent to Regular MIDI Out and USB MIDI Out 
4) Pedal defaults to MIDI channel 1
5) Pedal MIDI channel to follow MIDI channel from Regular MIDI IN
6) 1 Variable potentiometer pedal as a variable Damper Sustain Pedal.
7) 3 Switched pedals for Sostenuto, Soft and Legato.






Foot Pedals x4 MIDI&USB 


PRICE:  €70.00







The MIDI 4 pedal design utilizes:

  • An assembled Arduino MEGA,
  • An assembled  MIDI IN & OUT circuit,
  • 1 input for variable potentiometer foot pedal,
  • 3 inputs for switch type foot-pedals,
  • 2 Male Headers x6,
  • 1 Male Header x8,
  • A power-on LED,
  • a MIDI 5-pin DIN input socket
  •  a MIDI 5-pin DIN output socket, 
  • Switch and potentiometer Circuit Schematic Diagram
  • Arduino MEGA circuit schematic diagram



The MIDI 4 pedal design also requires:

  • 3 Off 1/4 inch (6.35mm) Mono switch Foot Pedal
  • 1 Off 1/4 inch (6.35mm) Mono variable Foot Pedal
  • a 9v battery or equivalent DC power source


MIDI Pedal Functions:


Sustain Pedal: 

The sustain pedal set as a variable Damper Sustain Pedal. When operated it sends out a controller value of CC64 with a variable value from 0 (not pressed) to 127 (fully pressed). Tone-generators without the 'half-damper' implemented will interpret a value between 0 and 63 as OFF and a value of 64 to 127 as ON.


Sostenuto Pedal: 

The sostenuto pedal is a type of selective sustain pedal found on acoustic grand-pianos. Pressing down the pedal, sending controller value CC66 with a value of 127, while holding notes on the keyboard will cause these notes to be sustained after you release them. Any notes played after pressing the pedal will not sustain. When the pedal is released it sends out controller value CC66 with a value of 0.


Soft Pedal:

The soft pedal works in two simultaneous ways. When the pedal is pressed, sending out controller value CC67 with a value of 127, the sound should be slightly softened in terms of volume and there should be a noticeable difference in the tone-colour of the sound. When the pedal is released it sends out controller value CC67 with a value of 0.


Legato Pedal:

When the legato pedal is pressed, sending out controller value CC68 with a value of 127, playing a different note changes the pitch of the current note without re-triggering the attack phase of the envelope of the sound. When the pedal is released it sends out controller value CC68 with a value of 0.




At power-on the 4 pedals default to MIDI Channel 1. Then whenever MIDI Channel data is received, from the MIDI input, the 4 pedals will operate on that same MIDI Channel.







     *Click to Enlarge*

The MIDI IN and OUT connectors use  5-Pin 180 degree DIN sockets. Note that the MIDI IN/OUT wiring is polarised and the correct pins should be used.




This design  includes a USB chip, it is designed  to program the microcontroller, or provide communication via MIDI/USB.  The MIDI-USB driver information is available.


Circuit Schematic:

 There is a switch and potentiometer Circuit Schematic Diagram. The pin connections on the Arduino are also available.


MIDI Wiring:

The MIDI  OUT connector uses a  5-Pin 180 degree DIN sockets. Note that the MIDI IN/OUT wiring is polarised and the correct pins should be used.


Power Supply:

The  Arduino MEGA can be powered via the USB connection or with an external power supply. The power source is selected automatically.


External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be connected by plugging a 2.1mm center-positive plug into the board's power jack. Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER connector. A low dropout regulator provides improved energy efficiency.


The board can operate on an external supply of 7 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.




There are different types of Jack Socket and Plug connector wiring used for connecting the foot-switches and foot-pedal variable potentiometers.


Switch Pedals:

For the Foot Pedal Switch connections a Mono 6.3mm (1/4 inch) Jack Socket is usually used. The Foot Pedal switch wiring diagram is available.


Variable Pedals:

Unfortunately there is no accepted standard for the wiring of volume/expression pedals. Different manufacturers wire their equipment in different ways so there is no assurance that a particular volume/expression pedal will work with all equipment.


Most models use a Stereo 6.3mm (1/4 inch) Jack Plug with a Tip(T), Ring(R) and Sleeve(S). Some models are additionally fitted with a polarity switch that reverses the polarity of the tip and ring connections on the continuous (pedal) output to increase the chances of compatibility with different devices.


Normally the volume/expression pedals utilise a 3-wire stereo  plug, which can be connected,  as shown in the wiring diagram, to the 3-wire Stereo 6.3mm (1/4 inch) Jack switched socket.


Diagram of wiring for 3-wire stereo plug. This socket can have a ground loop connection (on the socket) to prevent spurious noise pickup producing MIDI output when the volume/expression pedal is disconnected from the socket.


However sometimes the volume/expression pedal units can utilize a 2-wire Mono 6.3mm (1/4 inch) Jack unswitched socket, and this design requires a resistor connected from the +5 Volt supply to the Analog input pin. This resistor value should be about 1/10 the value of the variable potentiometer.