Skip to content

openBPM v1.1.0 - works with no wiring

Choose a tag to compare

@fobiat fobiat released this 19 Jul 15:06

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. GPIO34GPIO39 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 = 255 in src/main.cpp to turn gestures off once you have three real buttons.
  • pinscan no 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 upload

Or flash a prebuilt binary at offset 0x10000:

esptool.py --chip esp32 write_flash 0x10000 openBPM-tft.bin

Full changelog: v1.0.0...v1.1.0