Universal_Button

Debounced multi-button input with explicit reader validity, preserved interaction events, long-hold state, and latching.

Author
Little Man Builds (Darren Osborne)
Maintainer
Little Man Builds
Website
https://github.com/LittleManBuilds/Universal_Button
Github
https://github.com/littlemanbuilds/Universal_Button
Category
Signal Input/Output
License
MIT
Library Type
Contributed
Architectures
avr, megaavr, samd, esp32, esp8266, stm32, teensy, rp2040

Header-only Arduino library for native GPIO, logical pressed-state callbacks, electrical-level callbacks, and validity-aware external readers. Provides per-button debounce/timing, short/double/long interaction classification, LongStarted/LongReleased semantics, a bounded event queue with overflow diagnostics, input freshness and sequence metadata, synchronized reconfiguration/recovery, optional latching, enum-friendly access, and zero dynamic allocation. ESP32-S3 is the primary project target; portable compile gates cover AVR, megaAVR, SAMD, ESP32, ESP8266, RP2040, Teensy and STM32.

Downloads

Filename Release Date File Size
Universal_Button-2.0.0.zip 2026-09-01 60.79 KiB
Universal_Button-1.7.0.zip 2026-06-02 41.36 KiB
Universal_Button-1.6.3.zip 2026-02-11 38.64 KiB
Universal_Button-1.6.2.zip 2026-01-29 37.52 KiB
Universal_Button-1.6.1.zip 2026-01-02 34.58 KiB
Universal_Button-1.6.0.zip 2026-01-02 35.40 KiB
Universal_Button-1.5.0.zip 2025-10-16 28.51 KiB
Universal_Button-1.4.1.zip 2025-10-10 27.45 KiB
Universal_Button-1.4.0.zip 2025-10-02 27.78 KiB
Universal_Button-1.3.0.zip 2025-09-30 28.52 KiB