awesome-arduino

A curated list of awesome Arduino hardware, libraries and projects

Libraries

Hardware dependent library

  • rtclib31 17 - A lightweight date and time library for JeeNodes and Arduinos
  • RFM69394 221 - RFM69 library for RFM69W and RFM69HW (Semtech SX1231, SX1231H)
  • RFM12B70 35 - Arduino RFM12B library
  • SPIFlash25 25 - Arduino library for read/write access to SPI flash memory chips
  • Winbond_flash91 37 - SPI library for Winbond Flash Memory modules
  • ov7670-no-ram-arduino-uno16 8 - Arduino library for OV7670
  • DHT-sensor-library847 747 - Arduino library for DHT11DHT22, etc Temp & Humidity Sensors
  • Arduino-DHT2293 79 - Arduino library for the DHT22 humidity and temperature sensor
  • rfid984 637 - Arduino RFID Library for MFRC522
  • 433Utils89 63 - A collection of code and documentation to assist your usage of RF 433MHz modules
  • esp-link952 269 - ESP8266 wifi-serial bridge, outbound TCP, and Arduino/AVR/LPC/NXP programmer
  • Arduino-Temperature-Control-Library404 240 - Arduino Library for Maxim Temperature Integrated Circuits
  • RF24370 389 - Arduino driver for nRF24L01
  • RF24872 465 - Optimized fork of nRF24L01 for Arduino and Raspberry Pi
  • RF24Mesh183 112 - Mesh Networking for RF24Network
  • due_can149 82 - Object oriented CANbus library for Arduino Due compatible boards
  • FastLED2k 479 - Easily & efficiently controlling a wide variety of LED chipsets for Arduino
  • iot-playground9 5 - ESP8266 EasyIoT library and sensor examples
  • espduino364 132 - ESP8266 network client (MQTT, restful) for Arduino
  • esp_mqtt723 258 - MQTT client library for ESP8266 Soc
  • esp_bridge65 28 - ESP8266 firmware SLIP Command, support mqtt, RESTful client
  • Ultrasonic-HC-SR04101 89 - Ultrasonic HC-SR04 library for Arduino
  • MPU-925017 14 - Arduino sketch for MPU-9250 9DoF with AHRS sensor fusion
  • MPU-605023 10 - Basic MPU-6050 Arduino sketch of sensor function
  • MPU-915013 3 - Arduino sketch for MPU-9150 9DoF with AHRS sensor fusion
  • LSM9DS010 3 - LSM9DS0 9DOF sensor AHRS sketch
  • arduino-ds130232 32 - Arduino library for the DS1302 Real Time Clock chip
  • xbee-arduino171 101 - Arduino library for communicating with XBees in API mode
  • EnableInterrupt158 48 - New Arduino interrupt library, designed for Arduino Uno/Mega 2560/Leonardo/Due
  • DS3232RTC30 6 - Arduino Library for Maxim Integrated DS3232 and DS3231 Real-Time Clocks
  • ds323126 8 - Arduino library for DS3231 RTC
  • RTClib342 371 - RTC library
  • arduino-ds130232 32 - Arduino library for the DS1302 Real Time Clock chip
  • HX711173 140 - An Arduino library Semiconductor HX711 ADC for Weight Scales.
  • MiniPirate42 5 - Arduino Serial Command Tool
  • LedControl150 88 - An Arduino library for MAX7219 and MAX7221 Led display drivers
  • arduino-BLEPeripheral252 91 - Arduino library for creating custom BLE peripherals with Nordic Semiconductor's nRF8001 or nR51822
  • BTLE156 39 - Library for basic Bluetooth Low Energy with the nRF24L01+
  • BH1750112 64 - An Arduino library for the digital light sensor BH1750FVI
  • Arduino-GP2Y0A21YK-library - Arduino library for the Sharp GP2Y0A21YK IR Distance sensor
  • Arduino-distance-sensor-library27 13 - Arduino library for distance sensors
  • arduino-BLEPeripheral252 91 - Library for creating custom BLE peripherals with Nordic Semiconductor's nRF8001 or nR51822
  • Arduino-Temperature-Control-Library404 240 - Arduino Library for Maxim Temperature Integrated Circuits
  • RGB-matrix-Panel101 68 - Arduino library and example code for the 16x32 RGB matrix panels
  • Time318 204 - Time library for Arduino
  • modbusino13 8 - Small Modbus slave, RTU (serial) for Arduino
  • simplemodbusng3 5 - Modbus RTU Slave/Master for the Arduino

Bootloader

  • HoodLoader2171 44 - 16u2 Bootloader to reprogram 16u2 + 328/2560 with Arduino IDE
  • optiboot294 143 - Small and Fast Bootloader for Arduino and other Atmel AVR chips

Hardware independent library

  • Arduino-IRremote1k 528 - Infrared remote library for Arduino: send and receive infrared signals ....
  • IRLib50 16 - An Arduino library for encoding and decoding infrared remote signals
  • i2cdevlib2k 4k - I2C device library collection for AVR/Arduino or other C++-based MCUs
  • keysweeper797 210 - KeySweeper is a stealthy Arduino-based device, camouflaged as a functioning USB ....
  • aJson401 94 - an Arduino library to enable JSON processing with Arduino
  • ArduinoJson - C++ JSON library for IoT. Simple and efficient.
  • json-streaming-parser80 22 - Library for parsing potentially huge json streams on devices with scarce memory
  • USB_Host_Shield_2.0711 434 - Revision 2.0 of USB Host Library for Arduino
  • pubsubclient1k 534 - A client library for the Arduino Ethernet Shield that provides support for MQTT
  • WiringPi277 106 - Gordon's Arduino wiring-like WiringPi Library for the Raspberry Pi
  • Arduino-PID-Library1k 643 - A pid library for Arduino written in C++
  • firmata697 305 - Firmata firmware for Arduino
  • uSpeech449 151 - Speech recognition toolkit for the Arduino
  • Talkie22 7 - Speech library for Arduino
  • Low-Power557 165 - Low Power Library for Arduino
  • ArduinoOBD148 119 - OBD-II library and sketches for Arduino
  • hiduino308 76 - Native USB-MIDI on the Arduino
  • Brain136 46 - Arduino library for reading Neurosky EEG brainwave data
  • Cryptosuite132 37 - Cryptographic suite for Arduino (SHA, HMAC-SHA)
  • Timer95 83 - A fork of Simon Monk's Arduino Timer library
  • PJON847 107 - One wire multi master device communications bus system for Arduino
  • HID463 86 - Enhanced HID functions for Arduino
  • Cosa218 64 - An Object-Oriented Platform for Arduino Programming
  • NDEF33 26 - Read and Write NDEF Messages to NFC tags with Arduino
  • rosserial151 194 - ROS client library for small, embedded devices, such as Arduino
  • SdFat71 35 - Arduino FAT16/FAT32 Library
  • Arduino-Communicator59 40 - Very simple Android application for communicating with Arduino
  • Arduino-PID-AutoTune-Library73 44 -
  • TinyGPS52 25 - A compact Arduino NMEA (GPS) parsing library
  • Arduino-EEPROMEx51 30 - Extended EEPROM library for Arduino
  • Arduino-CmdMessenger95 45 - CmdMessenger Communication library for Arduino
  • arduino-libs-manchester46 41 - Arduino Manchester Encoding
  • ShiftPWM61 36 - Arduino Library for software PWM with shift registers
  • Arduino-EasyTransfer77 32 - An Easy way to Transfer data between Arduinos
  • Arduino-SerialCommand85 33 - A Wiring/Arduino library to tokenize and parse commands received over a serial port.
  • TMRpcm215 80 - Arduino library for asynchronous playback of PCM/WAV files direct from SD card
  • Mozzi285 69 - A sound synthesis library for Arduino
  • StandardCplusplus76 19 - Standard C++ for Arduino (port of uClibc++)
  • ArdOSC73 38 - Open Sound Control(OSC) Library for Arduino
  • OSC248 72 - Arduino and Teensy implementation of OSC encoding
  • arduino-serial69 25 - Example C and Java host code to talking to an Arduino or other "serial" device
  • Bounce2129 58 - Debouncing library for Arduino or Wiring
  • ArduinoThread374 111 - A simple way to run Threads on Arduino
  • AdaEncoder1 1 - Library for handling quadrature encoders for the Arduino microcontroller
  • PinChangeInt111 44 - Pin Change Interrupt library for the Arduino
  • Arduino-RFID20 1 - Arduino RFID reader with computer serial client
  • arcore46 11 - MIDI-USB Support for Arduino
  • arduino-base6441 16 - A base64 library for the arduino platform, written in C
  • DirectIO35 8 - Fast, simple I/O library for Arduino
  • arduino-EventManager54 25 - An event handling system for Arduino
  • OneButton112 46 - An Arduino library for using a single button for multiple purpose input
  • JTAG42 7 - JTAG library for Arduino
  • Sleep_n0m1107 29 - A library that sets the Arduino into sleep mode for a specified length of time
  • AESLib40 16 - Arduino Library for AES Encryption
  • MemoryFree10 8 - Arduino MemoryFree library
  • souliss260 141 - Arduino based Distributed Networking Framework for Smart Homes and IoT
  • LED-Matrix27 9 - Single/bi/tri-color LED Matrix PWM driver for arduino
  • OneWire152 102 - Library for Dallas/Maxim 1-Wire Chips
  • TinyEKF - Lightweight C/C++ Extended Kalman Filter with Arduino example
  • arduino_midi_library361 82 - MIDI for Arduino
  • FreeRTOS-Arduino17 8 - FreeRTOS 8.2.3 Arduino Libraries
  • Arduino_FreeRTOS_Library127 44 - A FreeRTOS Library for all Arduino AVR Devices
  • Automaton119 25 - Reactive State Machine Framework for Arduino
  • LinkedList75 36 - A fully implemented LinkedList made to work with Arduino projects
  • VirtualUsbKeyboard61 8 - Virtual an Arduino as a HID device
  • virtual-shields-arduino74 52 - Windows Virtual Shields for Arduino library

3D Printer .

  • Repetier-Firmware528 646 - Firmware for Arduino based RepRap 3D printer
  • 3D_Printer51 52 - Underverk's 3D printer
  • grbl2k 1k - An open source, embedded, high performance g-code-parser and CNC milling controller run on a straight Arduino

NET Library.

  • Webduino481 161 - Arduino WebServer library
  • TinyWebServer147 35 - Small web server for Arduino, fits in 10KB ROM, less than 512 bytes RAM
  • RESTduino268 34 - A sketch to provide a REST-like interface to the Arduino+Ethernet Shield
  • aREST749 222 - A RESTful environment for Arduino
  • ArduinoWebsocketClient161 48 - Websocket client for Arduino
  • ArduinoWebsocketServer62 44 - a Websocket server running on an Arduino
  • esp826615 2 - ESP8266 Wifi library and sample code for Arduino
  • arduino_uip176 62 - A plugin-replacement of the stock Arduino Ethernet library
  • HttpClient112 184 - Http Client Library for the Spark Core
  • arduino-restclient55 25 - Arduino RESTful HTTP Request Library
  • socket.io-arduino-client59 25 - A socket.io client for the Arduino Ethernet shield
  • Arduino-IPv6Stack44 5 - IPv6 stack for Arduino and Xbee based on Contiki OS network stack
  • MQTT-SN-Arduino7 3 - 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-mqtt169 69 - MQTT library for Arduino based on the Eclipse Paho projects
  • aWOT41 6 - Arduino web server library
  • arduinoWebSockets414 145 - WebSocket Server and Client for Arduino
  • HttpClient195 95 - Arduino HTTP library
  • aws-iot-device-sdk-arduino-yun115 48 - SDK for connecting to AWS IoT from an Arduino Yún.
  • HttpClient195 95 - Arduino HTTP library
  • microcoap212 97 - A small CoAP implementation for microcontrollers

Command line library

  • platformio3k 472 - Cross-platform code builder and the missing library manager ....
  • arduino-cmake147 63 - Arduino CMake Build system
  • bitlash131 36 - A programmable command shell for Arduino
  • arduino-shell1 1 - A command shell to interact with built-in Arduino features

Display library

  • Arduino_LCD_Menu27 19 - Creates menu systems primarily useful for 16x2 or 16x4 LCD displays
  • LiquidMenu - Menu creation library for HD44780 LCDs (parallel and I2C), wraps LiquidCrystal.
  • LiquidTWI228 12 - high speed I2C LCD Library for Arduino, which supports MCP23008 and MCP23017
  • MENWIZ16 6 - LCD menu library: Short user code to manage complex menu structures
  • u8glib554 164 - Arduino Monochrome Graphics Library for LCDs and OLEDs
  • ucglib60 21 - Arduino True Color Library for TFTs and OLEDs

Binding and API library

  • johnny-five9k 1k - JavaScript Robotics and IoT programming framework, Based on Arduino Firmata Protocol
  • Python-Arduino-Command-API147 40 - A Python library for communicating with Arduino microcontroller boards
  • hidapi395 163 - A Simple library for communicating with USB and Bluetooth HID devices on Linux, Mac, and Windows.
  • BlocklyDuino143 104 - a web-based visual programming editor for arduino
  • noduino936 181 - JavaScript and Node.js Framework for controlling Arduino with HTML and WebSockets
  • ino664 151 - Command line toolkit for working with Arduino hardware
  • usb-serial-for-android324 217 - Android USB host serial driver library for CDC, FTDI, Arduino and other devices
  • serial-port-json-server240 63 - A serial port JSON websocket server communicate with Arduino
  • PhysicaloidLibrary81 35 - Android Library for communicating with physical-computing boards
  • blynk-server977 370 - Platform with iOS and Android apps to control Arduino
  • rad399 65 - Ruby Arduino Development
  • ardublock293 213 - A Block Programming Language for Arduino
  • arduino-api186 102 - Arduino library for real-time logging and streaming data to online plotly graphs
  • dino395 87 - Dino is a ruby gem that helps you bootstrap prototyping with an Arduino
  • duino808 202 - Arduino framework for node.js
  • pyFirmata201 89 - Python interface for the Firmata protocol
  • JArduino96 41 - Program your Arduino in Java
  • Python-Arduino-Command-API147 40 - A Python library for communicating with Arduino microcontroller boards
  • hwio251 36 - 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-rpc5 0 - Simple JSON-RPC server implementation for Arduino

Math library

HardwareBoard

Hardware board for arduino diy.

  • Teensy - The Teensy is a complete USB-based microcontroller development system
  • blackmagic370 171 - In application debugger for ARM Cortex microcontrollers
  • stm32plus344 138 - C++ library for the STM32 F0, F100, F103, F107 and F4

IDE

Arduino developments

  • arduino8k 6k - Official Arduino IDE
  • ESP8266 IDE7k 4k - Arduino IDE for ESP8266
  • Stino2k 293 - A Sublime Text Plugin for Arduino
  • attiny439 184 - ATtiny microcontroller support for the Arduino IDE
  • arduinounit209 40 - A unit testing framework for Arduino libraries
  • Arduino-Makefile1k 348 - Makefile for Arduino sketches
  • arduino_sketches46 20 - Publicly-released sketches for the Arduino microprocessor
  • arduino-builder195 59 - A command line tool for compiling Arduino sketches
  • arduinounit209 40 - A unit testing framework for Arduino libraries
  • arduino-eclipse-plugin232 124 - A plugin to make programming the Arduino in Eclipse easy
  • dueboot95 4 - Rust on the Arduino Due
  • Arduino-Designer23 11 - Graphic Arduino designer based on Eclipse
  • XOD - Open source visual programming language and IDE

Tutorials

Tutorials for arduino flash.

  • Arduino-Tutorial-Series73 35 - These are the supporting materials for my popular series of Tutorials on the Arduino Microcontroller Platform
  • esp8266159 47 - Various bits of code for ESP8266
  • arduino_sketches46 20 - Publicly-released sketches for the Arduino microprocessor
  • DUEZoo14 0 - Some proof-of-concept sketches and results for Arduino DUE
  • programming_arduino11 36 - Code for the book Programming Arduino: Getting Started with Sketches
  • ArduinoExamples29 24 - Arduino Blink Chrome App

Projects

Projects with Arduino

Usage

work in 'git bash' at Windows with Git installed or Linux OS

sh update.sh

usage()
{
    echo ""
    echo " usage:"
    echo ""
    echo "./update.sh "
    echo "    where  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!

Analytics