awesome-arduino
A curated list of awesome Arduino hardware, libraries and projects
Libraries
Hardware dependent library
- rtclib - A lightweight date and time library for JeeNodes and Arduinos
- RFM69 - RFM69 library for RFM69W and RFM69HW (Semtech SX1231, SX1231H)
- RFM12B - Arduino RFM12B library
- SPIFlash - Arduino library for read/write access to SPI flash memory chips
- Winbond_flash - SPI library for Winbond Flash Memory modules
- ov7670-no-ram-arduino-uno - Arduino library for OV7670
- DHT-sensor-library - Arduino library for DHT11DHT22, etc Temp & Humidity Sensors
- Arduino-DHT22 - Arduino library for the DHT22 humidity and temperature sensor
- rfid - Arduino RFID Library for MFRC522
- 433Utils - A collection of code and documentation to assist your usage of RF 433MHz modules
- esp-link - ESP8266 wifi-serial bridge, outbound TCP, and Arduino/AVR/LPC/NXP programmer
- Arduino-Temperature-Control-Library - Arduino Library for Maxim Temperature Integrated Circuits
- RF24 - Arduino driver for nRF24L01
- RF24 - Optimized fork of nRF24L01 for Arduino and Raspberry Pi
- RF24Mesh - Mesh Networking for RF24Network
- due_can - Object oriented CANbus library for Arduino Due compatible boards
- FastLED - Easily & efficiently controlling a wide variety of LED chipsets for Arduino
- iot-playground - ESP8266 EasyIoT library and sensor examples
- espduino - ESP8266 network client (MQTT, restful) for Arduino
- esp_mqtt - MQTT client library for ESP8266 Soc
- esp_bridge - ESP8266 firmware SLIP Command, support mqtt, RESTful client
- Ultrasonic-HC-SR04 - Ultrasonic HC-SR04 library for Arduino
- MPU-9250 - Arduino sketch for MPU-9250 9DoF with AHRS sensor fusion
- MPU-6050 - Basic MPU-6050 Arduino sketch of sensor function
- MPU-9150 - Arduino sketch for MPU-9150 9DoF with AHRS sensor fusion
- LSM9DS0 - LSM9DS0 9DOF sensor AHRS sketch
- arduino-ds1302 - Arduino library for the DS1302 Real Time Clock chip
- xbee-arduino - Arduino library for communicating with XBees in API mode
- EnableInterrupt - New Arduino interrupt library, designed for Arduino Uno/Mega 2560/Leonardo/Due
- DS3232RTC - Arduino Library for Maxim Integrated DS3232 and DS3231 Real-Time Clocks
- ds3231 - Arduino library for DS3231 RTC
- RTClib - RTC library
- arduino-ds1302 - Arduino library for the DS1302 Real Time Clock chip
- HX711 - An Arduino library Semiconductor HX711 ADC for Weight Scales.
- MiniPirate - Arduino Serial Command Tool
- LedControl - An Arduino library for MAX7219 and MAX7221 Led display drivers
- arduino-BLEPeripheral - Arduino library for creating custom BLE peripherals with Nordic Semiconductor's nRF8001 or nR51822
- BTLE - Library for basic Bluetooth Low Energy with the nRF24L01+
- BH1750 - An Arduino library for the digital light sensor BH1750FVI
- Arduino-GP2Y0A21YK-library - Arduino library for the Sharp GP2Y0A21YK IR Distance sensor
- Arduino-distance-sensor-library - Arduino library for distance sensors
- arduino-BLEPeripheral - Library for creating custom BLE peripherals with Nordic Semiconductor's nRF8001 or nR51822
- Arduino-Temperature-Control-Library - Arduino Library for Maxim Temperature Integrated Circuits
- RGB-matrix-Panel - Arduino library and example code for the 16x32 RGB matrix panels
- Time - Time library for Arduino
- modbusino - Small Modbus slave, RTU (serial) for Arduino
- simplemodbusng - Modbus RTU Slave/Master for the Arduino
Bootloader
- HoodLoader2 - 16u2 Bootloader to reprogram 16u2 + 328/2560 with Arduino IDE
- optiboot - Small and Fast Bootloader for Arduino and other Atmel AVR chips
Hardware independent library
- Arduino-IRremote - Infrared remote library for Arduino: send and receive infrared signals ....
- IRLib - An Arduino library for encoding and decoding infrared remote signals
- i2cdevlib - I2C device library collection for AVR/Arduino or other C++-based MCUs
- keysweeper - KeySweeper is a stealthy Arduino-based device, camouflaged as a functioning USB ....
- aJson - an Arduino library to enable JSON processing with Arduino
- ArduinoJson - C++ JSON library for IoT. Simple and efficient.
- json-streaming-parser - Library for parsing potentially huge json streams on devices with scarce memory
- USB_Host_Shield_2.0 - Revision 2.0 of USB Host Library for Arduino
- pubsubclient - A client library for the Arduino Ethernet Shield that provides support for MQTT
- WiringPi - Gordon's Arduino wiring-like WiringPi Library for the Raspberry Pi
- Arduino-PID-Library - A pid library for Arduino written in C++
- firmata - Firmata firmware for Arduino
- uSpeech - Speech recognition toolkit for the Arduino
- Talkie - Speech library for Arduino
- Low-Power - Low Power Library for Arduino
- ArduinoOBD - OBD-II library and sketches for Arduino
- hiduino - Native USB-MIDI on the Arduino
- Brain - Arduino library for reading Neurosky EEG brainwave data
- Cryptosuite - Cryptographic suite for Arduino (SHA, HMAC-SHA)
- Timer - A fork of Simon Monk's Arduino Timer library
- PJON - One wire multi master device communications bus system for Arduino
- HID - Enhanced HID functions for Arduino
- Cosa - An Object-Oriented Platform for Arduino Programming
- NDEF - Read and Write NDEF Messages to NFC tags with Arduino
- rosserial - ROS client library for small, embedded devices, such as Arduino
- SdFat - Arduino FAT16/FAT32 Library
- Arduino-Communicator - Very simple Android application for communicating with Arduino
- Arduino-PID-AutoTune-Library -
- TinyGPS - A compact Arduino NMEA (GPS) parsing library
- Arduino-EEPROMEx - Extended EEPROM library for Arduino
- Arduino-CmdMessenger - CmdMessenger Communication library for Arduino
- arduino-libs-manchester - Arduino Manchester Encoding
- ShiftPWM - Arduino Library for software PWM with shift registers
- Arduino-EasyTransfer - An Easy way to Transfer data between Arduinos
- Arduino-SerialCommand - A Wiring/Arduino library to tokenize and parse commands received over a serial port.
- TMRpcm - Arduino library for asynchronous playback of PCM/WAV files direct from SD card
- Mozzi - A sound synthesis library for Arduino
- StandardCplusplus - Standard C++ for Arduino (port of uClibc++)
- ArdOSC - Open Sound Control(OSC) Library for Arduino
- OSC - Arduino and Teensy implementation of OSC encoding
- arduino-serial - Example C and Java host code to talking to an Arduino or other "serial" device
- Bounce2 - Debouncing library for Arduino or Wiring
- ArduinoThread - A simple way to run Threads on Arduino
- AdaEncoder - Library for handling quadrature encoders for the Arduino microcontroller
- PinChangeInt - Pin Change Interrupt library for the Arduino
- Arduino-RFID - Arduino RFID reader with computer serial client
- arcore - MIDI-USB Support for Arduino
- arduino-base64 - A base64 library for the arduino platform, written in C
- DirectIO - Fast, simple I/O library for Arduino
- arduino-EventManager - An event handling system for Arduino
- OneButton - An Arduino library for using a single button for multiple purpose input
- JTAG - JTAG library for Arduino
- Sleep_n0m1 - A library that sets the Arduino into sleep mode for a specified length of time
- AESLib - Arduino Library for AES Encryption
- MemoryFree - Arduino MemoryFree library
- souliss - Arduino based Distributed Networking Framework for Smart Homes and IoT
- LED-Matrix - Single/bi/tri-color LED Matrix PWM driver for arduino
- OneWire - Library for Dallas/Maxim 1-Wire Chips
- TinyEKF - Lightweight C/C++ Extended Kalman Filter with Arduino example
- arduino_midi_library - MIDI for Arduino
- FreeRTOS-Arduino - FreeRTOS 8.2.3 Arduino Libraries
- Arduino_FreeRTOS_Library - A FreeRTOS Library for all Arduino AVR Devices
- Automaton - Reactive State Machine Framework for Arduino
- LinkedList - A fully implemented LinkedList made to work with Arduino projects
- VirtualUsbKeyboard - Virtual an Arduino as a HID device
- virtual-shields-arduino - Windows Virtual Shields for Arduino library
3D Printer .
- Repetier-Firmware - Firmware for Arduino based RepRap 3D printer
- 3D_Printer - Underverk's 3D printer
- grbl - An open source, embedded, high performance g-code-parser and CNC milling controller run on a straight Arduino
NET Library.
- Webduino - Arduino WebServer library
- TinyWebServer - Small web server for Arduino, fits in 10KB ROM, less than 512 bytes RAM
- RESTduino - A sketch to provide a REST-like interface to the Arduino+Ethernet Shield
- aREST - A RESTful environment for Arduino
- ArduinoWebsocketClient - Websocket client for Arduino
- ArduinoWebsocketServer - a Websocket server running on an Arduino
- esp8266 - ESP8266 Wifi library and sample code for Arduino
- arduino_uip - A plugin-replacement of the stock Arduino Ethernet library
- HttpClient - Http Client Library for the Spark Core
- arduino-restclient - Arduino RESTful HTTP Request Library
- socket.io-arduino-client - A socket.io client for the Arduino Ethernet shield
- Arduino-IPv6Stack - IPv6 stack for Arduino and Xbee based on Contiki OS network stack
- MQTT-SN-Arduino - Connecting mesh network to the MQTT broker and tunneling MQTT protocol over Websocket
- ArduinoDuePolarSSLClient - Sample Arduino Due sketch connecting to a PolarSSL server using PSK authentication
- arduino-mqtt - MQTT library for Arduino based on the Eclipse Paho projects
- aWOT - Arduino web server library
- arduinoWebSockets - WebSocket Server and Client for Arduino
- HttpClient - Arduino HTTP library
- aws-iot-device-sdk-arduino-yun - SDK for connecting to AWS IoT from an Arduino Yún.
- HttpClient - Arduino HTTP library
- microcoap - A small CoAP implementation for microcontrollers
Command line library
- platformio - Cross-platform code builder and the missing library manager ....
- arduino-cmake - Arduino CMake Build system
- bitlash - A programmable command shell for Arduino
- arduino-shell - A command shell to interact with built-in Arduino features
Display library
- Arduino_LCD_Menu - Creates menu systems primarily useful for 16x2 or 16x4 LCD displays
- LiquidMenu - Menu creation library for HD44780 LCDs (parallel and I2C), wraps LiquidCrystal.
- LiquidTWI2 - high speed I2C LCD Library for Arduino, which supports MCP23008 and MCP23017
- MENWIZ - LCD menu library: Short user code to manage complex menu structures
- u8glib - Arduino Monochrome Graphics Library for LCDs and OLEDs
- ucglib - Arduino True Color Library for TFTs and OLEDs
Binding and API library
- johnny-five - JavaScript Robotics and IoT programming framework, Based on Arduino Firmata Protocol
- Python-Arduino-Command-API - A Python library for communicating with Arduino microcontroller boards
- hidapi - A Simple library for communicating with USB and Bluetooth HID devices on Linux, Mac, and Windows.
- BlocklyDuino - a web-based visual programming editor for arduino
- noduino - JavaScript and Node.js Framework for controlling Arduino with HTML and WebSockets
- ino - Command line toolkit for working with Arduino hardware
- usb-serial-for-android - Android USB host serial driver library for CDC, FTDI, Arduino and other devices
- serial-port-json-server - A serial port JSON websocket server communicate with Arduino
- PhysicaloidLibrary - Android Library for communicating with physical-computing boards
- blynk-server - Platform with iOS and Android apps to control Arduino
- rad - Ruby Arduino Development
- ardublock - A Block Programming Language for Arduino
- arduino-api - Arduino library for real-time logging and streaming data to online plotly graphs
- dino - Dino is a ruby gem that helps you bootstrap prototyping with an Arduino
- duino - Arduino framework for node.js
- pyFirmata - Python interface for the Firmata protocol
- JArduino - Program your Arduino in Java
- Python-Arduino-Command-API - A Python library for communicating with Arduino microcontroller boards
- hwio - Go library for hardware I/O control, in the programming style of Arduino
RPC
- ArduRPC - RPC library for Arduino and other microcontroller based boards
- arduino-json-rpc - Simple JSON-RPC server implementation for Arduino
Math library
- Arduino-signal-filtering-library - Arduino library for signal filtering
- Gaussian - Gaussian filter for Arduino
HardwareBoard
Hardware board for arduino diy.
- Teensy - The Teensy is a complete USB-based microcontroller development system
- blackmagic - In application debugger for ARM Cortex microcontrollers
- stm32plus - C++ library for the STM32 F0, F100, F103, F107 and F4
IDE
Arduino developments
- arduino - Official Arduino IDE
- ESP8266 IDE - Arduino IDE for ESP8266
- Stino - A Sublime Text Plugin for Arduino
- attiny - ATtiny microcontroller support for the Arduino IDE
- arduinounit - A unit testing framework for Arduino libraries
- Arduino-Makefile - Makefile for Arduino sketches
- arduino_sketches - Publicly-released sketches for the Arduino microprocessor
- arduino-builder - A command line tool for compiling Arduino sketches
- arduinounit - A unit testing framework for Arduino libraries
- arduino-eclipse-plugin - A plugin to make programming the Arduino in Eclipse easy
- dueboot - Rust on the Arduino Due
- Arduino-Designer - Graphic Arduino designer based on Eclipse
- XOD - Open source visual programming language and IDE
Tutorials
Tutorials for arduino flash.
- Arduino-Tutorial-Series - These are the supporting materials for my popular series of Tutorials on the Arduino Microcontroller Platform
- esp8266 - Various bits of code for ESP8266
- arduino_sketches - Publicly-released sketches for the Arduino microprocessor
- DUEZoo - Some proof-of-concept sketches and results for Arduino DUE
- programming_arduino - Code for the book Programming Arduino: Getting Started with Sketches
- ArduinoExamples - Arduino Blink Chrome App
Projects
Projects with Arduino
- arduinoscope - An oscilloscope, using Arduino and Processing/node
- ArduinoPlot - Real time Plot Numeric Values sent from Arduino over Serial Port
- ArduinoISP - Use the Arduino to program AVR chips
- arduino-sms-alarm - An Arduino based burglar alarm that sends an SMS when motion is detected
- QUADCOPTER_V2 - A quadcopter project based on Raspberry Pi and Arduino
- Arduino Time Lapse Panorama Controller - The controller will rotate your GoPro over a set angle for a set duration or will rotate your GoPro for a full rotation for a set duration
- Erbbie Desktop Garden - A DIY desktop smart garden designed to give everyone a green thumb
- Smart Garden - clone of Erbbie
- Temperature controlled craft beer coolbox - A coolbox in which you can control the temperature in three separate compartments
Usage
work in 'git bash' at Windows with Git installed or Linux OS
sh update.sh
usage()
{
echo ""
echo " usage:"
echo ""
echo "./update.sh <cmd>"
echo " where <cmd> is one of:"
echo " --install-or-update (does full installation or update.)"
echo " --remove (removes all installed)"
echo ""
echo "example:"
echo ' $ ./update.sh --install-or-update'
}
Contributing
Your contributions are always welcome!