Introduction: Bluetooth Page-turner Pedal for Sheet Music Apps
This Instructable uses an Bluefruit EZ-Key module to make a Bluetooth page turner pedal. The pedal enables me to easily turn the page on any sheet music app I wish to use on my tablet, without taking my hands off my saxophone. I use it with the Mobile Sheets app on my Android tablet, but it works with other apps and with other devices such as the iPad.
WARNING: It looks like the Adafruit EZ-Key is pretty much out of stock everywhere - you may want to check stock before making plans. Goto to adafruit.com or coolcomponents.co,uk.
Commercial units are available, but buying one is (a) more expensive and (b) much less fun. I did consider using a low-cost Arduino Pro Mini with a cheap Bluetooth interface, but it's hard to implement the HID interface required, and so I settled on using the Adafruit board instead.
Let's get on with it.
Step 1: Gather Your Gear
For this project I used:
- 1 off Laney double foot pedal
- 1 off Adafruit Bluefruit EZ-Key (info here)
- 1 off 16mm OD SPDT switch, latching, with blue LED
- 1 off 12mm OD SPST switch, momentary, with red LED
- 2 off momentary footswitches
- 1 off PP3 battery connector
- 1 off PP3 battery
- 2 off 1k0 resistors
- some PCB pins
- some 0.1" connector shells
- connector teminals to fit above
- stranded hookup wire
- double-sided automotive tape
Step 2: Hack Your Case
There are loads of cheapo pedals out there, but I wanted one to last. I bought a two-switch Laney pedal for UKP14. It's made from 1.7mm still plate, which means it's heavy enough not to slide around the stage. Sadly, I could only find one with locking switches, meaning I had to buy replacements.
The Laney box has heavy-duty foam stuck to the bottom, and this has to be removed where it overlaps the join in the case. The second picture shows the foam having been cut away.
Once the case is open, the jack cable is removed and the PCB with existing switches is taken out. Now would be a good time to open up the mounting holes for the two switches. I put mine in the back of the case, but I did this a little later which meant taking the footswitches out again.
The new switches are then fixed in place.
Step 3: Wire the Switches
The switches should be wired up before fitting.
Each switch will have a pair of LED terminals. An appropriate resistor will be required to drop the voltage and limit the current across the LEDs. I used 1K for both of mine.
As you can see, the limiting resistor for my ON/OFF switch goes straight from the switched side to the LED. I've taken the 9V supply from the battery directly to the switch.
All wires for the PAIR switch go to the Adafruit Bluetooth EZ-key.
There is heatshrink sleeving on every terminal for robustness.
Step 4: Mount the Hardware
The switches are mounted and secured in position.
I then cut a strip of double-sided automotive tape to secure the EZ-key in place. I did the same for the battery, making sure it wouldn't foul the case when reassembled.
Step 5: Connect Up
Connecting up is pretty straightforward.
In this image:
- the footswitches are connected to '0' and '1 on the EZ-key, as well as to ground (brown, blue, black wires);
- battery 9V through the switch to 'Vin' (red wire);
- battery 0V to 'G' (black wire);
- Power switch LED +ve to Vin via limiting resistor
- Power switch LED -ve to 'Grounds' (black wire);
- PAIR switch contacts to 'PB' and '3V' (white wires);
- PAIR switch LED +ve to 'L2', -ve to 'Grounds' (red, black wires).
The PAIR switch LED has a limiting resistor soldered onto the end of the connecting wire - see image.
The third, rather poor image shows the connections in place.
25 Nov 2014 - I have added a circuit diagram.
Step 6: Done Deal!
With the wiring connected, it was time to test.
The blue LED came on with the power, and the red LED started flashing at about 1Hz, showing the device as discoverable. I paired with my tablet, pushed the PAIR button and that was it - it just works.
Adafruit's guide to LED meanings is below.
My pedal was simple and did the job.
There's an exhaustive guide to the EZ-key module and to reprogramming output here.