Skip to main content


Arduino library for debouncing momentary contact switches, detect press, release, long press and sequences with event definitions and callbacks.

[object Object]

Intuitive API

Handling buttons is a simple task on arduino, but the code can look very ugly, full of conditions and delays that are not safe at all. EasyButton not only saves you development time, it also provides an easy and intuitive API for handling buttons with callbacks.

[object Object]


EasyButton is a non-blocking library, which means it won't affect the rest of your code with dangerous delays that impact the overall performance of your code.

[object Object]

Interrupts support

In order to improve efficiency, the library is able to interface buttons through external interrupts. By doing this, it won't be necessary to continuously read the state of the buttons. This allows you to write a more efficient code.

[object Object]

Small footprint

EasyButton has a small footprint and does not depend on third party libraries, making it very easy to install and include in your project.

[object Object]

Well documented

EasyButton has a step-by-step guide that lets you get started with the library in just a few minutes. Its API is well documented with a complete but easy to understand explanation.

[object Object]

Packed with examples

Okay! EasyButton its well documented, but we are all used to having examples in Arduino libraries and we always learn a lot from them, that's why EasyButton provides several fully functional examples and we will continue to add more.