This current project is all based around a sparkfun BLE breakout board, which is a fine device, however, to make this footswitch work, there are too many parts that have to be strung together, so I am in the process of geting some new hardware which will hopefully make all of this MUCH SIMPLER to build. It will mean that this software will need to change for the new board configuration. Stay tuned. Hopefully the new hardware will be here in the next week or two, so I can finalize the new design, and simplified (complete) instructions shortly after. Sorry about how long this is taking. Most of the time at this point has been in getting a new 3D model for the chassis worked out.
This software will allow you (with the proper hardware) to easily create a fully working wireless Midi BLE pedal/footswitch system. Out of the box, this software is configured for four footswitches, and two expression pedals.
WARNING: If you decide to customize, and NOT have expression pedal jacks, then be sure to comment out the two addExpressionPedal() lines in midi-ble-footswitch.ino or make sure the device you are using will not use the expression pedals. (as they will be reported as being in position 0, which can cause you grief if configured to control volume for example)
Have a look at the demonstration video found here to see one in action...
This software was specifically written to work with a sparkfun nRF52832 (bluetooth/ble) breakout board. (see the parts list for exact details)
There are other cheaper nRF52832 boards on the market, and my adventure actually started with those, however, they did not allow access to the BLE chipset at a low enough level, so I couldn't get it to report itself as a proper MIDI BLE device.
Until I figure out how to reflash those boards to allow that low level access, the sparkfun board will have to do.
You can follow the instructions found here to build your own 4 button / 2 expression wireless midi footswitch system, or just use this as a guide to get on your way building your own custom hardware configuration.
This software was purposely created so that customizations would only need to be done in a few places to satisfy 99.999993% of cases.
If you come up with any improvements, please consider contributing to this project on github, or on thingiverse.
Before beginning, you need to decide if you are going to make the default 4 button, 2 expression pedal footswitch, or some other customized configuration.
If you are creating the default, then just follow the instructions below exactly, otherwise, you will have to take care to adjust the instructions in each step for the hardware confuguration of your choice.
If you just want to play around with the software on the Sparkfun BLE Board, then you should only need to follow steps #2, and #3.
- Gather together all parts, and tools
- 3D Printed Chassis/Case
- Electronic Components
- Tools
- Configure the software
- Update the microcontroller using the Arduino IDE
- Setting up the Arduino IDE
- Updating the Sparkfun Board
- Testing and Debugging
- Solder components
- Final Assembly
- Website: https://www.digikey.ca
- Thanks to DigiKey for having a great online store, with a huge selection, and more importantly, for saving me a ton of time by providing a great tutorial for doing basic MIDI BLE communication.
- Website: https://www.midi.org/
- Thanks to The Midi Association for creating a protocol that is well documented, and has stood the test of time, and moved into the 21st century (with the Bluetooth LE MIDI Specification).
- Website: https://www.hyvibe.audio/smart-guitar/
- Thanks to HyVibe for creating a great acoustic guitar that provided the inspiration for this project. It's a great guitar with a great technology inside, and having a wireless midi pedal to use with it is awesome! (especially for the looper)
- Website: https://www.desmos.com/calculator
- I used this online tool quite a bit during the creation of this readme.
I strontly believe that things like this should be freely available on the internet, but I also believe that appreciation should be shown if you get use out of it, or find it useful at all.
If you feel so inclined, go click "like" on the thingiverse page (at the very least), or make a small donation...
...thanks, and happy printing/hacking!!!