Adaino is an open source Analog Data Acquisition library for Arduino. It simplifies reading analog inputs at any sampling rate and cares about the proper acquisition thereof.

Install the Library Fork the Project on Github

Adaino at a Glance

  • Read Analog Inputs: Read from the analog inputs of your Arduino board without hassle.
  • Configure Analog Inputs: Configure Arduino to get your required sampling rate and acquisition quality.
  • Real-time Acquisition: Real-time capable data acquisition infrastructure ensures no data samples are lost, also at higher sampling rates.
  • Intuitive: The intuitive syntax and well designed API make advanced analog data acquisition concepts available to all.
  • Reliable: Adaino cares about the complex acqusition tasks and provides a reliable analog data acquisition to its users, which can concentrate on signal processing and application development therefore.
  • Open Source: By following the 3-Clause BSD License, you are free to use the Adaino library also for commercial projects.

Getting Started

Basic Example

The below example demonstrates how simple it is to read analog inputs with Adaino. Use the AnalogIn instance to control and access Arduino’s analog inputs.

#include <Arduino.h>

// include the Adaino header file
#include <Adaino.h>

setup() {
    // set analog input pin to read

    // start the analog data acquisition

loop() {
    // read an anlog result from the pin
    int analogResult = AnalogIn.readInput();

Library Installation

Follow Arduino’s Libraries Guide for installing the Adaino library in your Arduino IDE.

Library Examples

To get you started with Adaino, multiple examples are provided. They demonstrate how you sample the analog input pins for various use cases and provide short introductions into basic analog data acquisition concepts. ada.ino is the most basic example and recommended to start with.

If you have installed the Adaino library in your Arduino IDE, you can access the examples over the IDE’s File menu as shown below. Note that you have to restart the Arduino IDE after a fresh library installation.

Example Selection

Once the example is opened, use the IDE’s upload button to upload the sketch to your Arduino board. All examples output the analog data read to the serial output and you can read them on your host system by opening the serial monitor.

Supported Hardware

Adaino requires an Arduino board with a SAMD21 microcontroller from Microchip. The following boards are known to be working.

  • Arduino Zero
  • Arduino MKR 1000
  • Arduino MKR 1010
  • Arduion MKR 1300
  • Adafrit Feather M0 WiFi
  • Adafrit Feather M0 LoRa
  • SparkFun SAMD21 Dev Breakout
  • SparkFun SAMD21 Mini Breakout

If you have successfully tested Adaino with another board, we are happy to extend the list of supported boards.

Application Programming Interface

The Application Programming Interface (API) is designed to make Adaino’s functionality available to all users, also the ones with less data acquisition experience. Refere to the libraries include file Adaino.h for a detailed description of the available methods to control and read the analog inputs.

Support and Additional Resources

Follow us on Twitter @werktagtweet or #adaino to get notified about Adaino updates.

StackOverflow is the primary resource for community support. Use the adaino tag to ask and search Adaino related questions and answers.

Find Adaino’s developer resources on Github. This is the place to download or clone the source code, report bugs and propose changes.

In additon, Werktag provides professionall engineering services for extending or integrating Adaino into your project. Contact us to discuss your challenge.


We welcome community contributions to advance the Adaino project and make reliable and easy-to-use analog data acquisition available to everyone.

Users of the Adaino library are invited to provide feedback, share user experiences and report bugs. The more projets making use of Adaino, the better and more reliable it gets.

Developers are welcome to provide bugfixes, new features or support for additional Arduino boards. Follow Github’s Forking Projects Guide to request changes.


The Adaino library is an open source project published using the 3-Clause BSD License.