MIDI Basspedal With Individual Note Numbers to Accompany Your Handpan Playing
by Deepsoul77 in Circuits > Arduino
261 Views, 4 Favorites, 0 Comments
MIDI Basspedal With Individual Note Numbers to Accompany Your Handpan Playing



How this project in development came about...
My goal was to play bass or synthesizer sounds with my feet while playing the handpan. The pedals should be individually transposable and ergonomically playable with 1 or 2 feet while the handpan rests on my lap. The bass pedals that were available at that moment I had the idea mostly had full chromatic and were a little too big.
For me as a handpan player the focus when playing should be on a few selected notes, as this makes playing easier.
For many songs, 4-6 notes as a bass or synthesizer background are completely sufficient. Full chromatic would make playing more difficult. And with various chord modes inside this device, the sound can be made very fat even if only one pedal is pressed.
As my first prototype, I took out the bass pedal strip from an old yamaha home organ from the 80s. I modified it so that 6 pedals remained (see picture).
After my first attempts at playing these pedals, it turned out that this solution was still too big and I usually only play 3-4 notes anyway and also because I operate a drum trigger with my right foot too.
So I tried out this smaller solution with only 4 pedals for my left foot.
This is a work still in progress, so at this moment it is a simple (and a little fragile) test version build from a few wooden parts and 4 buttons. It is connected to an arduino with a cable and the arduino itself is connected to my computer or a hardware synth yia USB or standard MIDI. With this device I wanna get more experience so that I will sometimes build a more stable version and update this instructable.
What this device offers:
+ 4 foot pedals
+ Calling up pre-configured note sets to match the respective handpan scale in different variations
+ Transposable over 4 octaves
+ 6 different play modes: single note, +octave, chord etc.
+ MIDI output via USB or MIDI socket
+ Several CC-Controllers
Example of how to play this pedal:
Call up the first set for the D kurd handpan using a button. Now the notes Bb, C, D and F are placed on the pedals from the left to the right pedal.
These are the musical steps 4, 5, 6 and 1 in the key of F major, on which the 4 chords Bb major, C major, D minor and F major are based.
This can be used to accompany many common melodies and songs.
With another button press, further combinations of these notes can be called up, for example, the sequence: F, C, D, Bb.
All desired combinations are possible (of course also with the notes G and A that give the base of the G minor chord and A minor chord in the F major / D minor scale).
If you now switch to another handpan, e.g. an F# low pygmy, you can press a second button to call up the note sets for this scale.
In my version I use 2 further buttons to call up 2 further handpan scales, so that I quickly can change between my 4 handpan scales.
All conceivable scales can be programmed into the code and then called up by pressing the corresponding button while playing.
Additional features:
One rotary control can be used to adjust the pitch over 4 octaves.
Another rotary control offers 6 different play modes:
- Root note
- Root + octave
- Root + 10th
- Root + 5th and 10th
- Root + 10th and 12th
- Root + 10th, 12th and double octave
These modes allow you to shape the sound from simple to complex. The chord character of minor and major is always taken into account, depending on the selected scale.
Software synthesizers in any DAW can be used as a sound source and of course all hardware sound devices that have a standard MIDI input.
As the control unit was intended for another project, I had other controls left over, which I configured as simple MIDI CC controllers which for example can be placed to the cutoff frequency of a filter, a whawha effect or any other input.
Arduino Coding:
The arduino code was made by me as a really beginner in coding by interacting with open source AI websites. The main key is to specify every detail you want in the code. Then AI gives you nearly everything you need for configuring the code.
Supplies
Skills:
Basic soldering and crafting experience
You don't need a programming background, just a little logical thinking, AI will translate your ideas into arduino code
Feel free to use my code. I've included a short guide there that will help you insert your own handpan scales.
Material:
Arduino micro
Breadboard and small PCB
Plywood panel
Various small pieces of wood
Some small screws
4 metal strips
Buttons
Potentiometers 10 kOhm linear
Thin cables
Connection cable PS/2 Keyboard connection cable DIN 6
PC and DAW
Optional, if you wanna have a MIDI socket:
standard MIDI socket
2 resistances 220 Ohm
Tools:
Soldering iron
Soldering holder/third hand
Handsaw
Screwdriver
Tweezers
Hot glue
Build the Pedal



Saw the plate and the pedals
Drill a hole in each pedal at a suitable location
Put in a matching screw
Fix each pedal to one holder
Fix each holder to the base with one screw so that you can change the angles of the pedals to each other
Place a small rubber thing under every pedal to reduce clicking noise
Add the Buttons


Drill out the metal strip
Screw in the button
Attach it to the pedal
Adjust the pedal travel
The second picture shows the home organ pedal version, herefore I used buttons that open the current flow when pressed
Cabling

Cut the PS2 cable in half
Connect one pin of each button to a wire of the PS2 cable
Connect the other pin of each button to the common ground wire of the PS2 cable
Attach the end of the PS2 cable to the base plate
Now the simple bass pedal board is finished
Build the Controller Unit

_comp.jpg)
_comp.jpg)
My pictures show the actual and an earlier version in a small wooden box
Here, the Arduino micro is plugged onto a small piece of breadboard. I fixed all the needed potentiometers and buttons into the wooden or plastic parts and connected them directly to the breadboard with thin wires.
Strip approximately 7 mm of insulation off the end of the wire and coat it with a little solder, so it can be easily inserted into the breadboard using tweezers.
The potentiometers and switches are simply connected to the inputs of the arduino.
The MIDI socket needs 2 resistors to be attached.
In the internet you will find enough information how exactly that works.
I used the second part of the PS/2 cable to connect the controller to my pedal board. And since this was not long enough, I put another cable in between.
Code for the Arduino Micro
+ Download my code
+ Connect you arduino device to your PC
+ Install the latest version of the arduino IDE
+ Download these libraries from Github: MIDIUSB and MIDI
+ Unzip them into separate folders
+ Rename these folders correctly to "MIDI" and "MIDIUSB" (important!)
+ Move both folders here: Documents/Arduino/libraries
+ Start the IDE
+ Select the arduino on the correct port
+ Perhaps you have to insert the two libraries into the IDE manually
+ Load the downloaded sketch
+ Make your desired changes in the sketch
+ Compile and upload it on your arduino
On my system this error message always appears:
Found programmer: Id = "CATERIN"; type = S
Software Version = 1.0; No Hardware Version given etc.
However as long as the message "Upload successful" appears, everything is fine :)
Downloads
Play Modes and Surface


Playmodes:
Click the first picture and you will see details about the different play modes
As an example I took the root note B flat which is played with the left pedal within the first D kurd Setup
Function of the buttons and pots:
In the second picture you can see the surface of my controller.
There are 4 buttons to call up the 4 handpan scales. A click on one button activates the first setup for the corresponding handpan scale, the next clicks will toggle through various setups for this scale.
A rotary knob for the 6 modes
Rotary knob for the octave transpose function in a range of 4 ocatves
Several CC knobs and pots to control MIDI devices
Troubleshooting
A few words about the switches:
It's important to choose the right switches for your pedals. For me, it's important that they operate very quietly. Many switches for guitarists have a distinct clicking noise, which would bother me. And some cheap switches don't work every time you press them.
Coding:
If your changes to the code don't work, you can submit the code to chatgpt or another AI dialogue website along with a precise question about the problem. Usually you will receive a detailed analysis of the problem, suggested solutions and explanations about what the code does. So the chance that you will learn something about programming is high :)
Finally, don't be afraid to ask me. It may take some time for me to respond, but I enjoy supporting similar projects with my experience.
Credits
Thanks to:
RowanCant for his amazing bass pedal projects, that inspired me a lot and gave me the first impulses on the code.
https://www.instructables.com/USB-Midi-Foot-Pedal-and-Drumkit/
And to many other builders of similar projects here on instructables.
Also thanks to chatgpt and other AI websites. In dialogue with those intelligent systems I got the whole arduino code that I wanted without complaint! And that process let me learn the basics in C programming. I now really understand what my code does :)