This library provides abstractions that help you write event-driven Arduino and mbed applications. It has device abstractions that allow you to treat device pins, PCF8574, MCP23017, MPR121 and AW9523 almost the same in code. This includes higher level interrupt management, buttons with de-bouncing, matrix keyboards, rotary encoders and even LiquidCrystalIO. There are many examples packaged with the library that cover most use cases.

For development, you can use any Arduino or mbed IDE. However, our recommendation is platformIO with Clion or VS Code. We test the library with Arduino and PlatformIO.

Need help with a commercial design, or want a customised version for your hardware, see the consultancy link at the top of the page?

Reference guide and code repo

Digital IO for Arduino and mbed

Analog IO for Arduino and mbed

Switches, keyboards and rotary encoders

EEPROM abstractions

Logging, text utilities and unit testing helper classes

This site uses cookies to analyse traffic, and to record consent. We also embed Twitter and Youtube content on some pages, these companies have their own privacy policies.

Our privacy policy applies to all pages on our site

Should you need further guidance on how to proceed: External link for information about cookie management.