BlueClick BLE

Posted

Post originally created 10th January 2:10pm UTC+11

I’m a musical worship leader at my church, regularly being on acoustic guitar and vocals.
For the past 5 years I’ve been using an app called OnSong to hold my music sheets on my Apple iPad 2.

My iPad 2 has definitely started to meet its end of life, with OnSong regularly crashing the first time it’s opened after a screen lock - And overall general sluggishness.

I wanted to make a device that would flip the pages in OnSong, which supports many different input technologies: AirTurn, CODA, PageFlip, MIDI, Bluetooth MIDI, and various others. It also allows for keyboard presses to be recognised as an action. I did not want to use a foot pedal, as I don’t use any other pedals; apart from a volume pedal.

I wanted to make some sort of button that I could mount on the headstock of the guitar, which would communicate to OnSong through either Bluetooth MIDI, or Bluetooth key strokes. Deciding to go with the ESP32 microcontroller, I realised that the iPad 2 didn’t support Bluetooth Low Energy!

So… I ended up buying a second-hand iPad Air 2 for about $200 AUD.


Plan

Breakdown

The ESP32 has a deep-sleep mode which, when entered, consumes as little as around 7 microamps of current!
Theoretically this would allow the device to stay powered on for several years!
For my use case though, I decided not to enter any power saving modes, since all functions had to be relatively time-accurate. In addition, I wasn’t sure how Bluetooth Low Energy would work on deep sleep mode.

Building

11 months later… with university out of the way this year, I finally got around to whacking everything together!

Code

 GitHub: featherbear/BlueClick_BLE

I wrote up an Arduino sketch which essentially just sends out a MIDI command over BLE when it receives an interrupt caused by a button press.

Power

I wanted to power the BlueClick device over the 9V battery that supplies power to the Fishman pickup. As to not draw power constantly, I would also need to add a switch so that I could turn on and off the BlueClick device.


In the event that I want to remove the BlueClick, I used some quick-connect adapters.

After that, I soldered the power cables onto the 9V battery terminals, in parallel with the pickup system circuit.

Button Panel

The button panel would basically be a circuit board with some push buttons.

Ideally I’d want to find some silent buttons, but I couldn’t find any at a cheap price (someone let me know if you know where to get these please!).

I originally had two locations in mind as to where to place the button.
Eventually I decided on the second option - next to the guitar neck - as it was more accessible and convenient when playing.

I then chopped off an old 3.5mm TRS cable and soldered it onto the veroboard.

In order to mount this button panel to the guitar, I decided to hot-glue some timber edging underneath the circuit board. This will firstly protect the circuitry from being damaged, and it will also provide a flat surface for me to apply a velcro-tape layer.

The circuit board was green, and unfortunately I didn’t have the tools (i.e. a router) to make nice wood cutouts to give the board a nice top - So I ended up just covering the exposed board with gaff tape. Functionality over form :shrug:

After a bit of sanding, the hot-glue gave somewhat of a nice translucent finish.

Logic Board

The logic board would hold the ESP32 as well as the buck converter, and will connect to the power cables I had created, as well as to the button panel. I used a 3.5mm TRS socket to that I could disconnect the button panel if I did not need it / modularity.

Fitting

Firstly, to fit the logic board inside the guitar, I’d have to take out the Fishman pickup.

There I could pop in the logic board - velcro’d onto the base - and connect the power and button panel wires.

Aside: Cameras

Have I mentioned that NDI is great?
Well if not, NDI is great!

Aside: Fishman Pickup

Just out of interest, I opened up the pickup system to take a look inside.


Finally after a few many hours (it basically took my whole afternoon), everything is in and working! At this point I was considering whether I should have just bought a Bluetooth foot pedal like an AirTurn or something… Ah well!

More posts

PreSonus StudioLive Console Advertisement

Posted

RAID Commands

Usefuls for RAID drive management

Posted