garubi / Push-Push-Air

A pedal board that sends configurable keystrokes via Bluetooth (battery powered)
https://hackaday.io/project/184508-push-push-air
1 stars 1 forks source link
ble bluetooth controllers esp32 esp32-arduino ubi-stage

Push Push Air

A little (but expandable) battery powered pedalboard that, emulating a Bluethooth keyboard, sends keystrokes (for example it can turn pages on a PDF reader... ).

Made with an ESP32

Configurable via WiFI (you can choose the keystrokes that you want to send)

Push Push Air Push Push Air opened

How to use

Out of the box PushPushAIR is configured to send the key cursor left and right. Check the app that you want to control and, if it needs different keys, go to the Configuration section and change the keystrokes that Push Push Air send.

Change configuration

On the configuration page you can:

How to access the configuration page

Reset the password to the factory setting

If you change the password of the Configuration page and you forget it, you can revert to the factory one.

The factory password is: 12345678

How to reset:

How to build a Push Push Air

I used a board that have the 18650 battery and charger included in it like this: (https://wiki.geekworm.com/index.php/WEMOS_ESP32_Board_with_18650_Battery_Holder)

WEMOS_ESP32_Board_with_18650_Battery_Holder

see References folder for pictures and pinout

But then I also made some Push Push Air without battery (powered via the usual USB calble) with a classic ESP32 dev bpoard.

Any EXP32 developement board shuld be ok to run the Push Push Air code.

Device Customization

By default the pedals/buttons are connected to Pins 21 and 23, and the only led used is LED_BUILTIN, however you can customize this.

The PIN and LED assignement is done in a separate file, named customize.h


#define BATTERY_POWERED false // set to false if your devices doesn't have a battery otherwise omit it or set to true
/* Pedals/Buttons connections */
#define PEDAL1_PIN 23
#define PEDAL2_PIN 21
/* Leds connections */
#define PEDAL1_LED_PIN 2 // Blink when pedal/button 1 is pressed
#define PEDAL2_LED_PIN 2 // Blink when pedal/button 2 is pressed
#define STATUS_LED_PIN 2 // Blink to signal device's statuses
/* lEDS behaviour */
#define LED_ON HIGH
#define LED_OFF LOW

Compiling the firmware

If you are using the same board with integrated battery that I used, in Arduino IDE select the WeMos WiFI&Bluethooth Battery

Otherwise select the board you are using

As Partition Scheme select: Huge APP (3MB No OTA/1MB SPIFF)

Libraries used:

Please install the following libraries: