awesome-arduino
A curated list of awesome Arduino hardware, libraries and projects
Libraries
Hardware dependent library
rtclib 31 17 - A lightweight date and time library for JeeNodes and Arduinos
RFM69 394 221 - RFM69 library for RFM69W and RFM69HW (Semtech SX1231, SX1231H)
RFM12B 70 35 - Arduino RFM12B library
SPIFlash 25 25 - Arduino library for read/write access to SPI flash memory chips
Winbond_flash 91 37 - SPI library for Winbond Flash Memory modules
ov7670-no-ram-arduino-uno 16 8 - Arduino library for OV7670
DHT-sensor-library 847 747 - Arduino library for DHT11DHT22, etc Temp & Humidity Sensors
Arduino-DHT22 93 79 - Arduino library for the DHT22 humidity and temperature sensor
rfid 984 637 - Arduino RFID Library for MFRC522
433Utils 89 63 - A collection of code and documentation to assist your usage of RF 433MHz modules
esp-link 952 269 - ESP8266 wifi-serial bridge, outbound TCP, and Arduino/AVR/LPC/NXP programmer
Arduino-Temperature-Control-Library 404 240 - Arduino Library for Maxim Temperature Integrated Circuits
RF24 370 389 - Arduino driver for nRF24L01
RF24 872 465 - Optimized fork of nRF24L01 for Arduino and Raspberry Pi
RF24Mesh 183 112 - Mesh Networking for RF24Network
due_can 149 82 - Object oriented CANbus library for Arduino Due compatible boards
FastLED 2k 479 - Easily & efficiently controlling a wide variety of LED chipsets for Arduino
iot-playground 9 5 - ESP8266 EasyIoT library and sensor examples
espduino 364 132 - ESP8266 network client (MQTT, restful) for Arduino
esp_mqtt 723 258 - MQTT client library for ESP8266 Soc
esp_bridge 65 28 - ESP8266 firmware SLIP Command, support mqtt, RESTful client
Ultrasonic-HC-SR04 101 89 - Ultrasonic HC-SR04 library for Arduino
MPU-9250 17 14 - Arduino sketch for MPU-9250 9DoF with AHRS sensor fusion
MPU-6050 23 10 - Basic MPU-6050 Arduino sketch of sensor function
MPU-9150 13 3 - Arduino sketch for MPU-9150 9DoF with AHRS sensor fusion
LSM9DS0 10 3 - LSM9DS0 9DOF sensor AHRS sketch
arduino-ds1302 32 32 - Arduino library for the DS1302 Real Time Clock chip
xbee-arduino 171 101 - Arduino library for communicating with XBees in API mode
EnableInterrupt 158 48 - New Arduino interrupt library, designed for Arduino Uno/Mega 2560/Leonardo/Due
DS3232RTC 30 6 - Arduino Library for Maxim Integrated DS3232 and DS3231 Real-Time Clocks
ds3231 26 8 - Arduino library for DS3231 RTC
RTClib 342 371 - RTC library
arduino-ds1302 32 32 - Arduino library for the DS1302 Real Time Clock chip
HX711 173 140 - An Arduino library Semiconductor HX711 ADC for Weight Scales.
MiniPirate 42 5 - Arduino Serial Command Tool
LedControl 150 88 - An Arduino library for MAX7219 and MAX7221 Led display drivers
arduino-BLEPeripheral 252 91 - Arduino library for creating custom BLE peripherals with Nordic Semiconductor's nRF8001 or nR51822
BTLE 156 39 - Library for basic Bluetooth Low Energy with the nRF24L01+
BH1750 112 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-library 27 13 - Arduino library for distance sensors
arduino-BLEPeripheral 252 91 - Library for creating custom BLE peripherals with Nordic Semiconductor's nRF8001 or nR51822
Arduino-Temperature-Control-Library 404 240 - Arduino Library for Maxim Temperature Integrated Circuits
RGB-matrix-Panel 101 68 - Arduino library and example code for the 16x32 RGB matrix panels
Time 318 204 - Time library for Arduino
modbusino 13 8 - Small Modbus slave, RTU (serial) for Arduino
simplemodbusng 3 5 - Modbus RTU Slave/Master for the Arduino
Bootloader
HoodLoader2 171 44 - 16u2 Bootloader to reprogram 16u2 + 328/2560 with Arduino IDE
optiboot 294 143 - Small and Fast Bootloader for Arduino and other Atmel AVR chips
Hardware independent library
Arduino-IRremote 1k 528 - Infrared remote library for Arduino: send and receive infrared signals ....
IRLib 50 16 - An Arduino library for encoding and decoding infrared remote signals
i2cdevlib 2k 4k - I2C device library collection for AVR/Arduino or other C++-based MCUs
keysweeper 797 210 - KeySweeper is a stealthy Arduino-based device, camouflaged as a functioning USB ....
aJson 401 94 - an Arduino library to enable JSON processing with Arduino
ArduinoJson - C++ JSON library for IoT. Simple and efficient.
json-streaming-parser 80 22 - Library for parsing potentially huge json streams on devices with scarce memory
USB_Host_Shield_2.0 711 434 - Revision 2.0 of USB Host Library for Arduino
pubsubclient 1k 534 - A client library for the Arduino Ethernet Shield that provides support for MQTT
WiringPi 277 106 - Gordon's Arduino wiring-like WiringPi Library for the Raspberry Pi
Arduino-PID-Library 1k 643 - A pid library for Arduino written in C++
firmata 697 305 - Firmata firmware for Arduino
uSpeech 449 151 - Speech recognition toolkit for the Arduino
Talkie 22 7 - Speech library for Arduino
Low-Power 557 165 - Low Power Library for Arduino
ArduinoOBD 148 119 - OBD-II library and sketches for Arduino
hiduino 308 76 - Native USB-MIDI on the Arduino
Brain 136 46 - Arduino library for reading Neurosky EEG brainwave data
Cryptosuite 132 37 - Cryptographic suite for Arduino (SHA, HMAC-SHA)
Timer 95 83 - A fork of Simon Monk's Arduino Timer library
PJON 847 107 - One wire multi master device communications bus system for Arduino
HID 463 86 - Enhanced HID functions for Arduino
Cosa 218 64 - An Object-Oriented Platform for Arduino Programming
NDEF 33 26 - Read and Write NDEF Messages to NFC tags with Arduino
rosserial 151 194 - ROS client library for small, embedded devices, such as Arduino
SdFat 71 35 - Arduino FAT16/FAT32 Library
Arduino-Communicator 59 40 - Very simple Android application for communicating with Arduino
Arduino-PID-AutoTune-Library 73 44 -
TinyGPS 52 25 - A compact Arduino NMEA (GPS) parsing library
Arduino-EEPROMEx 51 30 - Extended EEPROM library for Arduino
Arduino-CmdMessenger 95 45 - CmdMessenger Communication library for Arduino
arduino-libs-manchester 46 41 - Arduino Manchester Encoding
ShiftPWM 61 36 - Arduino Library for software PWM with shift registers
Arduino-EasyTransfer 77 32 - An Easy way to Transfer data between Arduinos
Arduino-SerialCommand 85 33 - A Wiring/Arduino library to tokenize and parse commands received over a serial port.
TMRpcm 215 80 - Arduino library for asynchronous playback of PCM/WAV files direct from SD card
Mozzi 285 69 - A sound synthesis library for Arduino
StandardCplusplus 76 19 - Standard C++ for Arduino (port of uClibc++)
ArdOSC 73 38 - Open Sound Control(OSC) Library for Arduino
OSC 248 72 - Arduino and Teensy implementation of OSC encoding
arduino-serial 69 25 - Example C and Java host code to talking to an Arduino or other "serial" device
Bounce2 129 58 - Debouncing library for Arduino or Wiring
ArduinoThread 374 111 - A simple way to run Threads on Arduino
AdaEncoder 1 1 - Library for handling quadrature encoders for the Arduino microcontroller
PinChangeInt 111 44 - Pin Change Interrupt library for the Arduino
Arduino-RFID 20 1 - Arduino RFID reader with computer serial client
arcore 46 11 - MIDI-USB Support for Arduino
arduino-base64 41 16 - A base64 library for the arduino platform, written in C
DirectIO 35 8 - Fast, simple I/O library for Arduino
arduino-EventManager 54 25 - An event handling system for Arduino
OneButton 112 46 - An Arduino library for using a single button for multiple purpose input
JTAG 42 7 - JTAG library for Arduino
Sleep_n0m1 107 29 - A library that sets the Arduino into sleep mode for a specified length of time
AESLib 40 16 - Arduino Library for AES Encryption
MemoryFree 10 8 - Arduino MemoryFree library
souliss 260 141 - Arduino based Distributed Networking Framework for Smart Homes and IoT
LED-Matrix 27 9 - Single/bi/tri-color LED Matrix PWM driver for arduino
OneWire 152 102 - Library for Dallas/Maxim 1-Wire Chips
TinyEKF - Lightweight C/C++ Extended Kalman Filter with Arduino example
arduino_midi_library 361 82 - MIDI for Arduino
FreeRTOS-Arduino 17 8 - FreeRTOS 8.2.3 Arduino Libraries
Arduino_FreeRTOS_Library 127 44 - A FreeRTOS Library for all Arduino AVR Devices
Automaton 119 25 - Reactive State Machine Framework for Arduino
LinkedList 75 36 - A fully implemented LinkedList made to work with Arduino projects
VirtualUsbKeyboard 61 8 - Virtual an Arduino as a HID device
virtual-shields-arduino 74 52 - Windows Virtual Shields for Arduino library
3D Printer .
Repetier-Firmware 528 646 - Firmware for Arduino based RepRap 3D printer
3D_Printer 51 52 - Underverk's 3D printer
grbl 2k 1k - An open source, embedded, high performance g-code-parser and CNC milling controller run on a straight Arduino
NET Library.
Webduino 481 161 - Arduino WebServer library
TinyWebServer 147 35 - Small web server for Arduino, fits in 10KB ROM, less than 512 bytes RAM
RESTduino 268 34 - A sketch to provide a REST-like interface to the Arduino+Ethernet Shield
aREST 749 222 - A RESTful environment for Arduino
ArduinoWebsocketClient 161 48 - Websocket client for Arduino
ArduinoWebsocketServer 62 44 - a Websocket server running on an Arduino
esp8266 15 2 - ESP8266 Wifi library and sample code for Arduino
arduino_uip 176 62 - A plugin-replacement of the stock Arduino Ethernet library
HttpClient 112 184 - Http Client Library for the Spark Core
arduino-restclient 55 25 - Arduino RESTful HTTP Request Library
socket.io-arduino-client 59 25 - A socket.io client for the Arduino Ethernet shield
Arduino-IPv6Stack 44 5 - IPv6 stack for Arduino and Xbee based on Contiki OS network stack
MQTT-SN-Arduino 7 3 - Connecting mesh network to the MQTT broker and tunneling MQTT protocol over Websocket
- Sample Arduino Due sketch connecting to a PolarSSL server using PSK authentication
arduino-mqtt 169 69 - MQTT library for Arduino based on the Eclipse Paho projects
aWOT 41 6 - Arduino web server library
arduinoWebSockets 414 145 - WebSocket Server and Client for Arduino
HttpClient 195 95 - Arduino HTTP library
aws-iot-device-sdk-arduino-yun 115 48 - SDK for connecting to AWS IoT from an Arduino Yún.
HttpClient 195 95 - Arduino HTTP library
microcoap 212 97 - A small CoAP implementation for microcontrollers
Command line library
platformio 3k 472 - Cross-platform code builder and the missing library manager ....
arduino-cmake 147 63 - Arduino CMake Build system
bitlash 131 36 - A programmable command shell for Arduino
arduino-shell 1 1 - A command shell to interact with built-in Arduino features
Display library
Arduino_LCD_Menu 27 19 - Creates menu systems primarily useful for 16x2 or 16x4 LCD displays
- Menu creation library for HD44780 LCDs (parallel and I2C), wraps LiquidCrystal.
LiquidTWI2 28 12 - high speed I2C LCD Library for Arduino, which supports MCP23008 and MCP23017
MENWIZ 16 6 - LCD menu library: Short user code to manage complex menu structures
u8glib 554 164 - Arduino Monochrome Graphics Library for LCDs and OLEDs
ucglib 60 21 - Arduino True Color Library for TFTs and OLEDs
Binding and API library
johnny-five 9k 1k - JavaScript Robotics and IoT programming framework, Based on Arduino Firmata Protocol
Python-Arduino-Command-API 147 40 - A Python library for communicating with Arduino microcontroller boards
hidapi 395 163 - A Simple library for communicating with USB and Bluetooth HID devices on Linux, Mac, and Windows.
BlocklyDuino 143 104 - a web-based visual programming editor for arduino
noduino 936 181 - JavaScript and Node.js Framework for controlling Arduino with HTML and WebSockets
ino 664 151 - Command line toolkit for working with Arduino hardware
usb-serial-for-android 324 217 - Android USB host serial driver library for CDC, FTDI, Arduino and other devices
serial-port-json-server 240 63 - A serial port JSON websocket server communicate with Arduino
PhysicaloidLibrary 81 35 - Android Library for communicating with physical-computing boards
blynk-server 977 370 - Platform with iOS and Android apps to control Arduino
rad 399 65 - Ruby Arduino Development
ardublock 293 213 - A Block Programming Language for Arduino
arduino-api 186 102 - Arduino library for real-time logging and streaming data to online plotly graphs
dino 395 87 - Dino is a ruby gem that helps you bootstrap prototyping with an Arduino
duino 808 202 - Arduino framework for node.js
pyFirmata 201 89 - Python interface for the Firmata protocol
JArduino 96 41 - Program your Arduino in Java
Python-Arduino-Command-API 147 40 - A Python library for communicating with Arduino microcontroller boards
hwio 251 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-rpc 5 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
blackmagic 370 171 - In application debugger for ARM Cortex microcontrollers
stm32plus 344 138 - C++ library for the STM32 F0, F100, F103, F107 and F4
IDE
Arduino developments
arduino 8k 6k - Official Arduino IDE
ESP8266 IDE 7k 4k - Arduino IDE for ESP8266
Stino 2k 293 - A Sublime Text Plugin for Arduino
attiny 439 184 - ATtiny microcontroller support for the Arduino IDE
arduinounit 209 40 - A unit testing framework for Arduino libraries
Arduino-Makefile 1k 348 - Makefile for Arduino sketches
arduino_sketches 46 20 - Publicly-released sketches for the Arduino microprocessor
arduino-builder 195 59 - A command line tool for compiling Arduino sketches
arduinounit 209 40 - A unit testing framework for Arduino libraries
arduino-eclipse-plugin 232 124 - A plugin to make programming the Arduino in Eclipse easy
dueboot 95 4 - Rust on the Arduino Due
Arduino-Designer 23 11 - Graphic Arduino designer based on Eclipse
XOD - Open source visual programming language and IDE
Tutorials
Tutorials for arduino flash.
Arduino-Tutorial-Series 73 35 - These are the supporting materials for my popular series of Tutorials on the Arduino Microcontroller Platform
esp8266 159 47 - Various bits of code for ESP8266
arduino_sketches 46 20 - Publicly-released sketches for the Arduino microprocessor
DUEZoo 14 0 - Some proof-of-concept sketches and results for Arduino DUE
programming_arduino 11 36 - Code for the book Programming Arduino: Getting Started with Sketches
ArduinoExamples 29 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!