openBPM v1.1.0 - works with no wiring
openBPM now runs with nothing wired to the board.
A pin scan of the ideaspark ESP32-WROOM-32 showed that GPIO0 (BOOT) is the only onboard button software can read — the board's other buttons are EN/RST, which reset the chip in hardware and never reach a GPIO. GPIO34–GPIO39 idle low and cross-talk because they're input-only with no internal pull-up, so their apparent presses were floating noise rather than buttons.
So the BOOT button now drives all three actions by press length:
| Gesture | Action |
|---|---|
| Short press (< 0.6 s) | TAP |
| Long press (0.6 – 1.6 s) | SWAP |
| Hold (≥ 1.6 s) | MODE |
Flash it and it works immediately — no soldering required.
Also in this release
- Wired buttons keep single-press behaviour and work alongside the onboard one; each action accepts several pins. Set
GESTURE_PIN = 255insrc/main.cppto turn gestures off once you have three real buttons. pinscanno longer reports per-edge noise on input-only pins. It prints a twice-a-second level snapshot instead, so a held button is distinguishable from a floating pin.
Flashing
pio run -e tft -t uploadOr flash a prebuilt binary at offset 0x10000:
esptool.py --chip esp32 write_flash 0x10000 openBPM-tft.binFull changelog: v1.0.0...v1.1.0