Data Processing

Official libraries

  • Arduino_CRC32: Arduino library providing a simple interface to perform checksum calculations utilizing the CRC-32 algorithm.
  • Arduino_KNN: [BETA] Arduino library for the K-Nearest Neighbors algorithm.
  • Arduino_TensorFlowLite: Allows you to run machine learning models locally on your device.
  • Madgwick: Helpers for MadgwickAHRS algorithm
  • USBBlaster: USB Blaster emulation for Arduino boards
  • VidorGraphics: Provides graphical functionalities on MKR Vidor 4000
  • VidorPeripherals: Provides extended IO functionalities and interfaces

Contributed by the community

  • AceCRC: Cyclic Redundancy Check (CRC) algorithms (crc8, crc16ccitt, crc32) programmatically converted from C99 code generated by pycrc (https://pycrc.org) to Arduino C++ using namespaces and PROGMEM flash memory.
  • AceSorting: Various sorting algorithms for Arduino, including Bubble Sort, Insertion Sort, Selection Sort, Shell Sort (3 versions), Comb Sort (4 versions), Quick Sort (3 versions).
  • Adafruit MP3: mp3 decoder
  • Adafruit nRFCrypto: Arduino Cryptography library using hardware-accelerated ARM CryptoCell CC310 on nRF52-based Adafruit Bluefruit LE modules
  • Adafruit TensorFlow Lite: This is a library to abstract away TensorFlow Lite for Adafruit/Arcada boards
  • Adafruit WavePlayer Library: Helper library for wrangling Wave files
  • ADCDRP: Arduino library for ADC data analysis.
  • AESLib: ESP8266 wrapper for AES library with 128-bit CBC encryption
  • AIfES for Arduino: The stand alone TinyML solution for self learning smart sensors, systems and almost any Arduino board.
  • Angle: Library to convert between floating point angle to minutes hours representation.
  • ardubson: Arduino Library for BSON (Binary JSON)
  • Arduino POST HTTP Parser: A library that allows for easy parsing of POST packages.
  • arduinoFFT: A library for implementing floating point Fast Fourier Transform calculations on Arduino.
  • ArduinoJson: A simple and efficient JSON library for embedded C++.
  • ArduinoQueue: Queue Library
  • ArrbotMonitor: Plotter-friendly display macros.
  • ArxStringUtils: Arduino String utilities
  • atlas OEM module: Basic function to accessing atlas OEM module.
  • AverageAngle: Library to average angles correctly around 0.
  • AverageValue: Calculates the average value of some values.
  • Base64: A Base64 library for Arduino
  • BitArray: Arduino library for compact array of objects with a size expressed in bits.
  • BitBool: The ultimate bit manipulation tool.
  • BitPack: Library for packing bit flags into byte array
  • Boodskap Message library: Arduino library for sending sensor messages to Boodskap IoT Platform
  • BoolArray: Arduino library for compact array of booleans of max size 2000 (UNO).
  • BufferUtils: An Arduino library for working with Buffers.
  • CalibratedSpeed: Arduino Library for calibrating DC motors
  • Cardinal: An Arduino library that takes input in degrees and output a string or integer for the 4, 8, 16, or 32 compass headings (like North, South, East, and West).
  • Clap: Library for clap recognition and counting
  • CmdParser: A simple and most powerfull cmd parser with small memory footprint
  • Cojson: Zero-effort JSON reading and writing on Arduino platforms,
  • Complex: Arduino library for Complex math.
  • Coordinates: Allow easy and reliable conversion between cartesian and polar coordinate system.
  • Correlation: Arduino Library to determine correlation between X and Y dataset
  • CountDown: Arduino library to implement a CountDown clock in SW.
  • CppPotpourri: An architecture-agnostic package of discrete solutions to common problems in C++.
  • CRC: Library for CRC for Arduino
  • CRC32: An Arduino library for calculating a CRC32 checksum.
  • CRCx: CRC calculation for Arduino and other C++ programs
  • CRT: Bunch of CRT functions for LEDs
  • CSV Parser: CSV Parser for Arduino.
  • currency: Arduino library to help formatting integers as currency e.g. $ 1.000.000,00.
  • CurveFitting: Fits polynomial curves to given datapoints
  • CustomJWT: A library to make it easy to encode and decode JWT tokens on an Arduino.
  • DataSeriesPod: A simple Arduino data logging library
  • deepC: Allows you to run machine learning models locally on arduino boards.
  • DEVNULL: Arduino library for a /dev/null stream
  • DEVRANDOM: Arduino library to wrap a random generator in a stream
  • DistanceTable: Library for a memory efficient DistanceTable for Arduino.
  • Easing: Easing function library for Arduino
  • Eigen: Eigen (a C++ template library for linear algebra) for Arduino
  • Ephemeris: Arduino library for the calculation of ephemeris of the solar system with an Arduino Mega.
  • ESP32-targz: A library to unpack/uncompress tar, gz, and tar.gz files on ESP32 and ESP8266
  • ESP32httpUpdate: Http Update for ESP32
  • esp8266-google-home-notifier: Send notifications to Google Home from esp8266/32.
  • esp8266-google-tts: generate the link to speech mp3 on esp8266/32.
  • ESP8266IoTHelper: Helper for ESP8266 that orchestrates WiFi connection and OTA updates
  • Etherkit JTEncode: Generate JT65, JT9, JT4, FT8, WSPR, and FSQ symbols on your Arduino.
  • Etherkit Morse: Generate Morse Code for transmission on an digital I/O pin.
  • EWMA: Exponentially Weighted Moving Average filter used for smoothing data series readings.
  • ExponentMap: Generates an exponentially growing array based on provided number of steps and maximum value.
  • EzDmaHelper: Buffer management helper for use with EasyDMA-enabled hardware. MIT License.
  • Fabrik2D: A library for solving inverse kinematics in 2 dimensions using the FABRIK algorithm.
  • FastCRC: Fast CRC routines
  • FastMap: Library with fast map function for Arduino.
  • FastTrig: Arduino library with interpolated lookup for sin() and cos()
  • FFT_C: FFT library in C
  • Filters: Filter utilities for Arduino
  • FIR filter: FIR filter library for the Arduino.
  • fix_fft: A library for implementing fixed-point in-place Fast Fourier Transform on Arduino. It sacrifices precision and instead it is way faster than floating-point implementations.
  • fixed: Implementation of fixed poind calculations
  • FixedPoint_LUT: Use FixedPoint_LUT to replace highly runtime intensive calculation times
  • FixedPoints: A template library for defining fixed point types of varying sizes.
  • FLE: Arduino library for FLE = FLoat with Error datatype
  • Forecaster: Weather forecasting with Zambretti algorithm
  • fp64lib: Handcrafted 64-bit floating point routines for AVR/arduino microprocessors.
  • Fraction: Arduino library to implement a Fraction datatype
  • FunctionGenerator: Arduino library to generate wave forms (nummeric) for a DAC
  • Gaussian: Gaussian math, Kalman Filters and Moving Averages made easy
  • gmp-ino: GNU Multiple Precision (GMP) Arithmetic Library for Arduino.
  • GParser: Fast library for parsing cstring into substrings
  • GyverFIFO: Simple ring (circular, FIFO) buffer for Arduino
  • GyverFilters: Library with few filters for data processing
  • GyverPID: Fast library for PID regulating algorithm
  • GyverRelay: Library for relay regulation algorithm
  • Hamming: Library for pack and unpack data by Hamming algorithm
  • Histogram: Arduino library for creating histograms math.
  • IEEE754tools: Fast helper functions for IEEE754 floats.
  • INA226: Arduino library for INA226 power sensor
  • infiniteAverage: Experimental Arduino Library to calculate a high precision average of many samples
  • Interval: Arduino library for Interval datatype
  • Iobeam: Client library for using the iobeam cloud.
  • JsmnStream: Reformatting of the Serge Zaitsev jsmn library to parse a JSON string one char at a time.
  • Json Streaming Parser: A very memory efficient library to parse (large) JSON objects on small devices
  • Json Streaming Parser 2: A memory efficient library to parse (large) JSON objects from HTTP or HTTPS streams on embedded devices.
  • Kalman: Include Kalman filter to your Arduino projects
  • KickFFT: A library for implementing a discrete Fourier transform on an input data array.
  • KickFilters: A library for implementing a few basic filters including: high-pass, low-pass, notch, moving average filters, and median filters.
  • KickFiltersRT: A library for implementing a few basic real-time filters including: high-pass, low-pass, notch, etc.
  • KickMath: A library for performing a few simple mathematical calculations for use with arrays.
  • Kinematics: Toolkit for robotic applications that require forward or inverse kinematics.
  • Knock Detector: A non-blocking knock detection library to use with piezo elements
  • LibYxml: Yoran Heling's yxml library.
  • LineFormatter: Wrapper class for Serial to enhance layout of tabular data.
  • LinkedList: A fully implemented LinkedList made to work with Arduino projects
  • LinkedPointerList: Light-weight implementation of LinkedList library, that is now stripped down to bare minimum, making it appropriate for use in memory-critical environments.
  • LiteOSCParser: A lightweight OSC processing library.
  • LoRa Serialization: Library for serialization of data on the Arduino side and deserialization in the TTN
  • LoRandom: A library using Semtech's sx1276/7/8/9's `RegRssiWideband` register properly to generate random numbers.
  • LTC2991: Arduino library for LTC2991
  • M62429: Arduino library for M62429 volume control IC
  • MacroLogger: Arduino logger with support for preprocessor directives and standard C/C++ string formatting.
  • Mahony: Helpers for MahonyAHRS algorithm
  • Maidenhead: Library for converting between latitude/longitude and Maidenhead locators.
  • MatrixMath: Minimal linear algebra library
  • MBEDSpeech: Arduino library for running speech recognition machine learning models
  • MD_Menu: Library for displaying and managing menus on displays with with up to 2 lines.
  • MD_MIDIFile: Arduino Standard MIDI File (SMF) Player
  • MD_TTT: Tic-Tac-Toe game logic library
  • MD_YX5300: Library for Serial MP3 Player (Catalex YX5300 module)
  • MedianFilterLib2: Median Filter Library 2
  • Melody: Melody offers a simple an powerful music text notation called MELO.
  • MeteoFunctions: Collection of meteo functions
  • Moving Average Library: Moving Average library for Arduino
  • movingAvg: A simple Arduino library for calculating moving averages.
  • MSMPLOTTER: A library that can plot on Serial Monitor.
  • mString: Static lightweight analog of String class
  • MultiMap: Library for fast non-linear interpolation by means of two arrays.
  • munet: Modules for Wifi connectivity, NTP, OTA, MQTT on ESP32/ESP8266 compatible with muwerk scheduler, serial link for other platforms
  • Muwerk scheduler library: cooperative scheduler and mqtt-like communication queues
  • Muwerk ustd library: A minimal and highly portable micro-standard-library for arrays, queues and maps
  • Neurona: Artificial Neural Network architectures for Arduino
  • NibbleArray: Library to implement a compact array of nibbles (4 bit).
  • NoveltyDetection: Detects Novelties/Outliers using Support Vector Machine
  • OPTIGA Trust M: This library allows you to communicate with Optiga Trust M Security Controller
  • OPTIGATrustX: This library allows you to communicate with OPTIGA™ Trust X Products.
  • Oversampling: Improving ADC Resolution By Oversampling Averaging.
  • Picovoice_EN: Picovoice is an end-to-end platform for building voice products on your terms.
  • PID_RT: Arduino PID library
  • Plotter: An Arduino library for easy plotting on host computer via serial communication.
  • plotutils: 2-D vector graphics composition library
  • Polyline: Encode latitude/longitude coordinates to a Polyline string.
  • Prandom: Arduino library for random number generation with Python random interface.
  • PrintCharArray: Library to capture prints into a char array.
  • PrintSize: Library to determine size of a printed variable.
  • PrintString: Library to capture prints into a String.
  • pRNG: Pseudo-random number generator
  • Psychrometer: Library for psychrometer - read humidity from two thermometers
  • QList: Library implements linked lists
  • QubitroMqttClient: (BETA) Easily connect to Qubitro IoT Platform with customized MQTT methods.
  • Queuetue Digital Balance Library: A library of functions to build a digital balance
  • Ramp: A library that manage interpolation beetween values.
  • Random16: Fast 16 bit random number generator
  • randomHelpers: Arduino library with helper function for faster random bits
  • RBD_Threshold: Set and check numeric quantile scales.
  • RGBProgress: Calculate an RGB color according to a progression.
  • rotaryDecoder: Arduino library to rotary decoder with a PCF8574
  • rotaryDecoderSwitch: Arduino library to rotary decoder with a PCF8574
  • RTT QRCode: RT-Thread QR Code App
  • runningAngle: Library to average angles by means of low pass filtering with wrapping.
  • RunningAverage: The library stores the last N individual values in a circular buffer to calculate the running average.
  • RunningMedian: The library stores the last N individual values in a buffer to select the median.
  • SafeString: A Safe, Static String library to replace Arduino String, plus non-blocking Serial I/O, I/O buffering, loopTimer and millisDelay
  • SavLayFilter: Savitzky-Golay Filtering Algorithm
  • SerialCommands: An Arduino library to tokenize and parse commands received over a serial port.
  • Serie: A library for mesures that makes easy to use time series
  • SET: Arduino library to implement simple SET datastructure.
  • SHEX: Arduino library to generate hex dump over Serial
  • SimpleCLI: A Command Line Interface Library for Arduino
  • SimpleFusion: Simple IMU fusion with a complementary filter.
  • SimpleHOTP: A lightweight HOTP (HMAC - Based one Time Password) Generator for Arduino.
  • SimpleKalmanFilter: A simple implementation of Kalman Filter.
  • SkyMap: Tool that let you calculate star azymuth altitude, in any given time and any given position you can calculate j2000,hour_angle,etc.
  • smart-input-filter: A stable, unit-tested filter library
  • Smoothed: A simple library to store and calculate smoothed values from sensors.
  • SoftFilters: Arduino framework and library of software data filters.
  • SPC: A library for easy processing of Analog Signals
  • SpritzCipher: Spritz library for Arduino, CSPRNG, cryptographic hash and MAC functions, symmetric-key data encryption, and some general-purpose functions.
  • SRF05: Arduino library for SRF05 distance sensor
  • SSVWaitForStringInStream: Simple class to compare coming characters one by one, on the fly, from any stream, and compare it with predefined string constants.
  • StackString: This library was written to accommodate a need for a string class but without the (memory) disadvantages that regular std::string brings.
  • statHelpers: Arduino library with a number of statistic helper functions.
  • Statistic: Library with basic statistical functions for Arduino.
  • StringAction: Introduces string operations and Serial reading
  • StringSplitter: Arduino String Splitter Library
  • Tachometer: Library for frequency and period measurement
  • Temperature: Library with weather related functions.
  • TensorFlowLite_ESP32: Allows you to run machine learning models locally on your ESP32 device.
  • TGP Decodeur: Permet de décoder les messages selon un format standard.
  • TimedPID: PID controller
  • TimeRandom: Library for generating random numbers with time syncronization
  • timestamp32bits: A library for calculating UNIX-like timestamps for dates AFTER January 1, 1970 or January 1 of whichever year is selected as EPOCH.
  • timing: Arduino library with wrapper classes for seconds millis micros.
  • TinyXML: Fork of Adam Rudd's (adamvr) TinyXML library.
  • TR-064 SOAP Library: Arduino/ESP library for the TR-064 protocol
  • TrigDef: A look-up table for trig functions.
  • TrivialKalmanFilter: Trivial Kalman Filter.
  • Troolean: Arduino Library for a three state logic datatype
  • ttestTable: Definition file for t-Tesst alpha level look-up tables for different degrees of freedom.
  • Tween: Tween library for Arduino with Robert Penners easing functions
  • uBitcoin: Brings Bitcoin to embedded devices
  • uCRC16BPBLib: Tiny and cross-device compatible CCITT CRC16 Bit Per Bit or Byte Per Byte calculator library - uCRC16BPBLib
  • uCRC16Lib: Tiny and cross-device compatible CCITT CRC16 calculator library - uCRC16Lib
  • uCRC16XModemLib: Tiny and cross-device compatible CRC16 XModem calculator library UKHAS.org.uk compatible - uCRC16XModemLib
  • uMFMLib: Tiny lib to enode and decode FM and MFM data streams
  • unzipLIB: A library to extract files from ZIP archives
  • VectorXf: Vector class 2f, 3f, 4f (port of ofVecXf (openFrameworks))
  • VolAnalyzer: Library for sound amplitude analysis
  • wolfssl: wolfSSL Embedded SSL/TLS Library for Arduino
  • XLR8DigitalIO: Arduino library for access to the extra pins available on an XLR8 Snō.
  • XLR8Float: Arduino library for hardware accelerated floating point math.
  • XLR8PID: Arduino library for hardware accelerated PID control.
  • XLR8Quadrature: Arduino library for hardware accelerated quadrature encoder control.
  • XMLWriter: Arduino library for creating XML
  • XTEA-Cipher: XTEA-Cipher library for Arduino. cryptographic MAC function, symmetric-key data encryption/decryption