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.
  • 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
  • Angle: Library to convert between floating point angle to minutes hours representation.
  • 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.
  • 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).
  • 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.
  • 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
  • CSV Parser: CSV Parser for Arduino.
  • CurveFitting: Fits polynomial curves to given datapoints
  • 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
  • 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.
  • FastMap: Library with fast map function for Arduino.
  • FastTrig: Arduino library with interpolated lookup for sin() and cos()
  • 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.
  • FixedPoint_LUT: Use FixedPoint_LUT to replace highly runtime intensive calculation times
  • FixedPoints: A template library for defining fixed point types of varying sizes.
  • 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.
  • Histogram: Arduino library for creating histograms math.
  • IEEE754tools: Fast helper functions for IEEE754 floats.
  • 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.
  • Mahony: Helpers for MahonyAHRS algorithm
  • Maidenhead: Library for converting between latitude/longitude and Maidenhead locators.
  • MatrixMath: Minimal linear algebra library
  • MD_Menu: Library for displaying and managing menus on displays with with up to 2 lines.
  • 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.
  • 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.
  • Plotter: An Arduino library for easy plotting on host computer via serial communication.
  • plotutils: 2-D vector graphics composition library
  • 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
  • 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.
  • 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.
  • 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
  • SimpleHOTP: A lightweight HOTP (HMAC - Based one Time Password) Generator for Arduino.
  • SimpleKalmanFilter: A simple implementation of Kalman Filter.
  • 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.
  • 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.
  • StringSplitter: Arduino String Splitter Library
  • 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
  • timestamp32bits: A library for calculating UNIX-like timestamps for dates AFTER January 1, 1970 or January 1 of whichever year is selected as EPOCH.
  • 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
  • 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
  • VectorXf: Vector class 2f, 3f, 4f (port of ofVecXf (openFrameworks))
  • 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