CTRL Library

This library contains easy to use interfaces for buttons, rotary encoders, potentiometers, leds & multiplexers. All these real-world objects are represented by feature-rich software counterparts.

You can instantiate them in several ways to meet your project demands, and you can extend them as needed, adding whatever extra functionality you require.

A lot of time and effort was put into performance. When dealing with real-time applications (like DSP), the code needs to “get out of the way” as much as possible.

The library was developed with the Arduino IDE in mind, but also seamlessly integrates with the PlatformIO framework, in conjunction with CLion or VSCode.

button.ino
#include <CtrlBtn.h>
CtrlBtn button(1, 15);
void setup() {
Serial.begin(9600);
}
void loop() {
button.process();
if(button.isPressed()) {
Serial.println("Button pressed");
}
}

Introduction

About this library

The ctrl-arduino library offers easy-to-use interfaces for working with buttons, rotary encoders, potentiometers, LEDs, and multiplexers on Arduino boards. It simplifies the integration and control of these components, making it straightforward to read inputs, adjust values, and manage outputs. Designed for both hobbyists and professional developers, the library provides a clear and efficient API, reducing the complexity of Arduino programming. With its comprehensive documentation, ctrl-arduino allows you to quickly set up and start developing your projects, focusing on innovation rather than the intricacies of code. It is completely free and you can basically do with it whatever you like. You also are not required to buy us beer. Just pay it forward to the next person :)