Loading...

Libraries for Arduino

Navigation

Audio

Communications

  • arduiNode - arduinode is a protocol for a wireless sensor network (WSN). Communication is handled in the background, neighbor nodes find each others and span the net. Some of its core features are: multi hop packet routing, dynamic id allocation, collision avoidance and rebroadcasting of lost messages.
  • Streaming - C++-style Output with '<<'
  • SerialDebugger is a library that enhance code readability, and debug control.
  • NewSoftSerial: An interrupt-driven Software Serial library now used in the latest arduino releases.
  • EasyTransfer: Easy communications between Arduinos over Serial.
  • Buffered and non-blocking serial writes Serial manager that allows non-blocking serial writes along with a simple way of packetizing serial data by calculating checksums and appending packet headers in a transparent way for the user. Also provides packetized serial reception with a function callback when a full and checksum-correct packet has been received.
  • SerialIP provides Internet connectivity over the serial port (no shields required)
  • multiCamereIrControl Library, controlling Nikon, Canon, Sony, Minolta, Olympus and Pentax cameras just with an IR LED.
  • http://geekcowboy.net/downloads/x10.zip: A library to both send and receive the X10 home automation communication protocol messages.
  • TwitterLibrary assists in posting your data to twitter
  • UComms A library that facilitates packetizing of data. This library is very flexible and allows you to define and implement your own protocol on top of the packetization. Comes fully commented/documented and with an example.
  • TinyREST is a library that implements a REST-like server on top of the WiShield library. It provides ability to read and write to pins and EEPROM, but also ability to receive REST callbacks on changes.
  • ModbusMaster: Arduino class library for communicating with Modbus slaves over RS232/485 (supports Arduino 1.0)
  • RF24 - Stable, mature library for driving Nordic nRF24L01+ wireless RF radios. Includes tutorials and plentiful examples.
  • GNTP - Arduino library for sending Growl notifications to your Mac, Linux or Windows PC over the network, using GNTP.
  • Tx433_Proove - A simple lib to use remote controlled power outlet switches of the brand Proove.

Cryptography

  • Arduino MD5:An easy-to-use MD5 library for the Arduino, for all your hashing needs.

Data Structures and Algorithms

Input / Output

  • SoftPWM - Software based PWM library that moves any pin between any 2 states (low, high, high impedence, or pull up)
  • Simple Voltmeter Class - uses the internal reference voltage (1.1V) to get an absolute voltage reading; can even be used to read own power source voltage value
  • OneWire Interface (Atmel QTouch)
  • GetOneWireTemp
  • H48C - Library for use of Parallax H48C module
  • PIDLibrary - Provides basic feedback control
  • PIDAutotuneLibrary - Provides tuning parameters for the PID Library.
  • Ping - Simplify the usage of Ping))) Ultrasonic Sensors
  • Charlieplex - simplifies the coding of charlieplexed networks.
  • DigitalToggle - register based pin toggle library
  • TButton - Toggle a pin using a momentary button
  • MomentaryButton - track short taps and long presses on a momentary button
  • getOneWireTemp
  • Morse is a library which speaks morse code
  • Morse (another): sends without blocking (no delay()) and which uses String instead of char*
  • Morse endecoder Another non-blocking Morse code library, both encoding (sending) and decoding (audio or digital/keyer), asynchronously.
  • FancyLED: Another simple hardware abstraction library that enables blinking "N" times at custom rates, toggling, has a "fuse" example that allows for blinking to start after some lead time.
  • PCA9685 test code: Simple test code interfacing I2C with PCA9685 pwm chip.
  • Button (carlynorama) Another button abstraction library. Event based, also allows for being used with shift registers, debounce, holdDelay (like keyboards) etc. Lots of examples.
  • N64Controller Library Supports N64 controllers on various pins. Based on this work.
  • (Serial) Dbg A Serial Debugger class that supports printf syntax.
  • SyncLED An LED class for blinking patterns and numbers asynchronously. Includes PWM support for smooth fade blinking.
  • AtTouch A library for the Atmel AT42QT1070 7-channel Touch Capacitance Sensor IC via i2c
  • GEColorEffects A library for controlling GE Color Effects RGB LED holiday light strings via a one-wire protocol
  • SerialLCD A library for easy hardware serial interface with SparkFun 20x4 Serial Ready LCD screen. Based on SfLCD2
  • shiftOutX A library to easily add up to 64 or more digital outputs to an Arduino by using 74HC595 shift Registers.
  • MCP23S17 A Class for the MCP23S17 SPI I/O Expander.

Interrupts

  • PcInt - simple pin change interrupts
  • PinChangeInt - Preformance and size improved revision to PCInt

LCDs (Textual)

  • serLCD - Sparkfun serLCD Library
  • SevenSegmentLibrary - 4 Digit 7-Segment Display library
  • LiquidCrystal use SPI and A 74HC595 shift register with Arduino's LiquidCrystal library.
  • AXE133Y Software library for picaxe AXE133Y OLED 16x2 module
  • LCDBitmap - Display graphics on a normally text-only LCD display

LCDs (Graphical)

Math

Schedulers and Pseudo Operating Systems

  • os_wrap - OS wrapper: Tasks using cooperative multitasking, Semaphores, Message Queues, Timers, Odometer, EEPROM logging.
  • EventFuse - Recurring events via a software count-down
  • Aiko - A small modular, event-driven framework for structuring Arduino sketches
  • Event System - includes events, an event queue class and a dispatcher class
  • Finite State Machine Library for organizing complicated sketches.
  • QP - The QP state machine framework for Arduino, which is like a modern event-driven RTOS specifically designed for executing state machines.

Sensors

Storage

Strings

  • PString: A very lightweight string class that enables printing to buffer using the same code as Serial.print().

Testing, Utilities and Power Saving

  • ArduinoUnit - Test suite
  • Enerlib: easy-to-use wrapper for AVR's Sleep library.
  • Sleep_n0m1: A Library to sleep for a specific length of time or until interrupt.
  • Logging: easy-to-use logging library like log4j.

Timing

  • Timer simple to use timed pin control and callbacks.
  • swRTC - A software RTC (Real-Time Clock) based on timers available for Arduino and several microcontrollers
  • Timer1 - Pwm, interrupt and stopwatch utilities for 16bit timer1.
  • Frequency Counter - using Timer1
  • MsTimer2 - - library to use Timer2 on milliseconds.
  • FlexiTimer2 - library to use Timer2 with a configurable interval.
  • Frequency generation using a hardware timer to drive a pin accurately or generate a periodic interrupt calling a function you supply.
  • Metro - Implementation of recurring timed events like blinking LEDs or servo motor control
  • TimedAction - a resource-friendly library for Timed Actions that occur every x millisecond.
  • SimpleTimer simple library to launch timed actions.
  • StopWatchClass - measure elapsed time with this elementary StopWatch Class based upon millis()
  • Time - Software real time clock
  • Tween Class - for ramps (PWM fades, for instance)
  • millis() Rollover Handling - a function for detecting and handling rollover of the millis()
  • Prescaler - easy get/set of the prescaler and alternative functions to millis() / delay()
  • DCF77 - library to use DCF77 radio signal to set internal clock to atomic time