├── .gitignore ├── CONTRIBUTING.md ├── README.md └── update.sh /.gitignore: -------------------------------------------------------------------------------- 1 | # Object files 2 | *.o 3 | *.ko 4 | *.obj 5 | *.elf 6 | 7 | # Precompiled Headers 8 | *.gch 9 | *.pch 10 | 11 | # Libraries 12 | *.lib 13 | *.a 14 | *.la 15 | *.lo 16 | 17 | # Shared objects (inc. Windows DLLs) 18 | *.dll 19 | *.so 20 | *.so.* 21 | *.dylib 22 | 23 | # Executables 24 | *.exe 25 | *.out 26 | *.app 27 | *.i*86 28 | *.x86_64 29 | *.hex 30 | 31 | # Debug files 32 | *.dSYM/ 33 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Your contributions are always welcome! 4 | 5 | ## Guidelines 6 | 7 | * Add section if needed. 8 | * Add section description. 9 | * Add section title to Table of contents. 10 | * Search previous suggestions before making a new one, as yours may be a duplicate. 11 | * Add your links: `* [project-name](http://example.com/) - A short description ends with a dot.` 12 | * Don't mention `Arduino` in the description as it's implied. 13 | * Check your spelling and grammar. 14 | * Make sure your text editor is set to remove trailing whitespace. 15 | * Send a Pull Request. 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # awesome-arduino 2 | A curated list of awesome Arduino hardware, libraries and projects 3 | - [Awesome Arduino](#awesome-Arduino) 4 | - [Libraries](#libraries) 5 | - [HardwareBoard](#hardwareboard) 6 | - [IDE](#ide) 7 | - [Tutorials](#tutorials) 8 | - [Projects](#projects) 9 | - [Contributing](#contributing) 10 | 11 | 12 | ## Libraries 13 | 14 | *Hardware dependent library* 15 | * [rtclib](https://github.com/jcw/rtclib) - A lightweight date and time library for JeeNodes and Arduinos 16 | * [RFM69](https://github.com/LowPowerLab/RFM69) - RFM69 library for RFM69W and RFM69HW (Semtech SX1231, SX1231H) 17 | * [RFM12B](https://github.com/LowPowerLab/RFM12B) - Arduino RFM12B library 18 | * [SPIFlash](https://github.com/LowPowerLab/SPIFlash) - Arduino library for read/write access to SPI flash memory chips 19 | * [Winbond_flash](https://github.com/Marzogh/SPIFlash) - SPI library for Winbond Flash Memory modules 20 | * [ov7670-no-ram-arduino-uno](https://github.com/ComputerNerd/ov7670-no-ram-arduino-uno) - Arduino library for OV7670 21 | * [DHT-sensor-library](https://github.com/adafruit/DHT-sensor-library) - Arduino library for DHT11DHT22, etc Temp & Humidity Sensors 22 | * [Arduino-DHT22](https://github.com/nethoncho/Arduino-DHT22) - Arduino library for the DHT22 humidity and temperature sensor 23 | * [rfid](https://github.com/miguelbalboa/rfid) - Arduino RFID Library for MFRC522 24 | * [433Utils](https://github.com/ninjablocks/433Utils) - A collection of code and documentation to assist your usage of RF 433MHz modules 25 | * [esp-link](https://github.com/jeelabs/esp-link) - ESP8266 wifi-serial bridge, outbound TCP, and Arduino/AVR/LPC/NXP programmer 26 | * [Arduino-Temperature-Control-Library](https://github.com/milesburton/Arduino-Temperature-Control-Library) - Arduino Library for Maxim Temperature Integrated Circuits 27 | * [RF24](https://github.com/maniacbug/RF24) - Arduino driver for nRF24L01 28 | * [RF24](https://github.com/TMRh20/RF24) - Optimized fork of nRF24L01 for Arduino and Raspberry Pi 29 | * [RF24Mesh](https://github.com/TMRh20/RF24Mesh) - Mesh Networking for RF24Network 30 | * [due_can](https://github.com/collin80/due_can) - Object oriented CANbus library for Arduino Due compatible boards 31 | * [FastLED](https://github.com/FastLED/FastLED) - Easily & efficiently controlling a wide variety of LED chipsets for Arduino 32 | * [iot-playground](https://github.com/iot-playground/Arduino) - ESP8266 EasyIoT library and sensor examples 33 | * [espduino](https://github.com/tuanpmt/espduino) - ESP8266 network client (MQTT, restful) for Arduino 34 | * [esp_mqtt](https://github.com/tuanpmt/esp_mqtt) - MQTT client library for ESP8266 Soc 35 | * [esp_bridge](https://github.com/tuanpmt/esp_bridge) - ESP8266 firmware SLIP Command, support mqtt, RESTful client 36 | * [Ultrasonic-HC-SR04](https://github.com/JRodrigoTech/Ultrasonic-HC-SR04) - Ultrasonic HC-SR04 library for Arduino 37 | * [MPU-9250](https://github.com/kriswiner/MPU-9250) - Arduino sketch for MPU-9250 9DoF with AHRS sensor fusion 38 | * [MPU-6050](https://github.com/kriswiner/MPU-6050) - Basic MPU-6050 Arduino sketch of sensor function 39 | * [MPU-9150](https://github.com/kriswiner/MPU-9150) - Arduino sketch for MPU-9150 9DoF with AHRS sensor fusion 40 | * [LSM9DS0](https://github.com/kriswiner/LSM9DS0) - LSM9DS0 9DOF sensor AHRS sketch 41 | * [arduino-ds1302](https://github.com/msparks/arduino-ds1302) - Arduino library for the DS1302 Real Time Clock chip 42 | * [xbee-arduino](https://github.com/andrewrapp/xbee-arduino) - Arduino library for communicating with XBees in API mode 43 | * [EnableInterrupt](https://github.com/GreyGnome/EnableInterrupt) - New Arduino interrupt library, designed for Arduino Uno/Mega 2560/Leonardo/Due 44 | * [DS3232RTC](https://github.com/JChristensen/DS3232RTC) - Arduino Library for Maxim Integrated DS3232 and DS3231 Real-Time Clocks 45 | * [ds3231](https://github.com/rodan/ds3231) - Arduino library for DS3231 RTC 46 | * [RTClib](https://github.com/adafruit/RTClib) - RTC library 47 | * [arduino-ds1302](https://github.com/msparks/arduino-ds1302) - Arduino library for the DS1302 Real Time Clock chip 48 | * [HX711](https://github.com/bogde/HX711) - An Arduino library Semiconductor HX711 ADC for Weight Scales. 49 | * [MiniPirate](https://github.com/chatelao/MiniPirate) - Arduino Serial Command Tool 50 | * [LedControl](https://github.com/wayoda/LedControl) - An Arduino library for MAX7219 and MAX7221 Led display drivers 51 | * [arduino-BLEPeripheral](https://github.com/sandeepmistry/arduino-BLEPeripheral) - Arduino library for creating custom BLE peripherals with Nordic Semiconductor's nRF8001 or nR51822 52 | * [BTLE](https://github.com/floe/BTLE) - Library for basic Bluetooth Low Energy with the nRF24L01+ 53 | * [BH1750](https://github.com/claws/BH1750) - An Arduino library for the digital light sensor BH1750FVI 54 | * [Arduino-GP2Y0A21YK-library](https://github.com/jeroendoggen/Arduino-GP2Y0A21YK-library) - Arduino library for the Sharp GP2Y0A21YK IR Distance sensor 55 | * [Arduino-distance-sensor-library](https://github.com/jeroendoggen/Arduino-distance-sensor-library) - Arduino library for distance sensors 56 | * [arduino-BLEPeripheral](https://github.com/sandeepmistry/arduino-BLEPeripheral) - Library for creating custom BLE peripherals with Nordic Semiconductor's nRF8001 or nR51822 57 | * [Arduino-Temperature-Control-Library](https://github.com/milesburton/Arduino-Temperature-Control-Library) - Arduino Library for Maxim Temperature Integrated Circuits 58 | * [RGB-matrix-Panel](https://github.com/adafruit/RGB-matrix-Panel) - Arduino library and example code for the 16x32 RGB matrix panels 59 | * [Time](https://github.com/PaulStoffregen/Time) - Time library for Arduino 60 | * [modbusino](https://github.com/stephane/modbusino) - Small Modbus slave, RTU (serial) for Arduino 61 | * [simplemodbusng](https://github.com/angeloc/simplemodbusng) - Modbus RTU Slave/Master for the Arduino 62 | 63 | *Bootloader* 64 | 65 | * [HoodLoader2](https://github.com/NicoHood/HoodLoader2) - 16u2 Bootloader to reprogram 16u2 + 328/2560 with Arduino IDE 66 | * [optiboot](https://github.com/Optiboot/optiboot) - Small and Fast Bootloader for Arduino and other Atmel AVR chips 67 | 68 | *Hardware independent library* 69 | 70 | * [Arduino-IRremote](https://github.com/z3t0/Arduino-IRremote) - Infrared remote library for Arduino: send and receive infrared signals .... 71 | * [IRLib](https://github.com/cyborg5/IRLib) - An Arduino library for encoding and decoding infrared remote signals 72 | * [i2cdevlib](https://github.com/jrowberg/i2cdevlib) - I2C device library collection for AVR/Arduino or other C++-based MCUs 73 | * [keysweeper](https://github.com/samyk/keysweeper) - KeySweeper is a stealthy Arduino-based device, camouflaged as a functioning USB .... 74 | * [aJson](https://github.com/interactive-matter/aJson) - an Arduino library to enable JSON processing with Arduino 75 | * [ArduinoJson](https://arduinojson.org) - C++ JSON library for IoT. Simple and efficient. 76 | * [json-streaming-parser](https://github.com/squix78/json-streaming-parser) - Library for parsing potentially huge json streams on devices with scarce memory 77 | * [USB_Host_Shield_2.0](https://github.com/felis/USB_Host_Shield_2.0) - Revision 2.0 of USB Host Library for Arduino 78 | * [pubsubclient](https://github.com/knolleary/pubsubclient) - A client library for the Arduino Ethernet Shield that provides support for MQTT 79 | * [WiringPi](https://github.com/WiringPi/WiringPi) - Gordon's Arduino wiring-like WiringPi Library for the Raspberry Pi 80 | * [Arduino-PID-Library](https://github.com/br3ttb/Arduino-PID-Library) - A pid library for Arduino written in C++ 81 | * [firmata](https://github.com/firmata/arduino) - Firmata firmware for Arduino 82 | * [uSpeech](https://github.com/arjo129/uSpeech) - Speech recognition toolkit for the Arduino 83 | * [Talkie](https://github.com/going-digital/Talkie) - Speech library for Arduino 84 | * [Low-Power](https://github.com/rocketscream/Low-Power) - Low Power Library for Arduino 85 | * [ArduinoOBD](https://github.com/stanleyhuangyc/ArduinoOBD) - OBD-II library and sketches for Arduino 86 | * [hiduino](https://github.com/ddiakopoulos/hiduino) - Native USB-MIDI on the Arduino 87 | * [Brain](https://github.com/kitschpatrol/Brain) - Arduino library for reading Neurosky EEG brainwave data 88 | * [Cryptosuite](https://github.com/Cathedrow/Cryptosuite) - Cryptographic suite for Arduino (SHA, HMAC-SHA) 89 | * [Timer](https://github.com/JChristensen/Timer) - A fork of Simon Monk's Arduino Timer library 90 | * [PJON](https://github.com/gioblu/PJON) - One wire multi master device communications bus system for Arduino 91 | * [HID](https://github.com/NicoHood/HID) - Enhanced HID functions for Arduino 92 | * [Cosa](https://github.com/mikaelpatel/Cosa) - An Object-Oriented Platform for Arduino Programming 93 | * [NDEF](https://github.com/don/NDEF) - Read and Write NDEF Messages to NFC tags with Arduino 94 | * [rosserial](https://github.com/ros-drivers/rosserial) - ROS client library for small, embedded devices, such as Arduino 95 | * [SdFat](https://github.com/greiman/SdFat) - Arduino FAT16/FAT32 Library 96 | * [Arduino-Communicator](https://github.com/jeppsson/Arduino-Communicator) - Very simple Android application for communicating with Arduino 97 | * [Arduino-PID-AutoTune-Library](https://github.com/br3ttb/Arduino-PID-AutoTune-Library) - 98 | * [TinyGPS](https://github.com/mikalhart/TinyGPS) - A compact Arduino NMEA (GPS) parsing library 99 | * [Arduino-EEPROMEx](https://github.com/thijse/Arduino-EEPROMEx) - Extended EEPROM library for Arduino 100 | * [Arduino-CmdMessenger](https://github.com/thijse/Arduino-CmdMessenger) - CmdMessenger Communication library for Arduino 101 | * [arduino-libs-manchester](https://github.com/mchr3k/arduino-libs-manchester) - Arduino Manchester Encoding 102 | * [ShiftPWM](https://github.com/elcojacobs/ShiftPWM) - Arduino Library for software PWM with shift registers 103 | * [Arduino-EasyTransfer](https://github.com/madsci1016/Arduino-EasyTransfer) - An Easy way to Transfer data between Arduinos 104 | * [Arduino-SerialCommand](https://github.com/kroimon/Arduino-SerialCommand) - A Wiring/Arduino library to tokenize and parse commands received over a serial port. 105 | * [TMRpcm](https://github.com/TMRh20/TMRpcm) - Arduino library for asynchronous playback of PCM/WAV files direct from SD card 106 | * [Mozzi](https://github.com/sensorium/Mozzi) - A sound synthesis library for Arduino 107 | * [StandardCplusplus](https://github.com/maniacbug/StandardCplusplus) - Standard C++ for Arduino (port of uClibc++) 108 | * [ArdOSC](https://github.com/recotana/ArdOSC) - Open Sound Control(OSC) Library for Arduino 109 | * [OSC](https://github.com/CNMAT/OSC) - Arduino and Teensy implementation of OSC encoding 110 | * [arduino-serial](https://github.com/todbot/arduino-serial) - Example C and Java host code to talking to an Arduino or other "serial" device 111 | * [Bounce2](https://github.com/thomasfredericks/Bounce2) - Debouncing library for Arduino or Wiring 112 | * [ArduinoThread](https://github.com/ivanseidel/ArduinoThread) - A simple way to run Threads on Arduino 113 | * [AdaEncoder](https://github.com/GreyGnome/AdaEncoder) - Library for handling quadrature encoders for the Arduino microcontroller 114 | * [PinChangeInt](https://github.com/GreyGnome/PinChangeInt) - Pin Change Interrupt library for the Arduino 115 | * [Arduino-RFID](https://github.com/mattwilliamson/Arduino-RFID) - Arduino RFID reader with computer serial client 116 | * [arcore](https://github.com/rkistner/arcore) - MIDI-USB Support for Arduino 117 | * [arduino-base64](https://github.com/adamvr/arduino-base64) - A base64 library for the arduino platform, written in C 118 | * [DirectIO](https://github.com/mmarchetti/DirectIO) - Fast, simple I/O library for Arduino 119 | * [arduino-EventManager](https://github.com/igormiktor/arduino-EventManager) - An event handling system for Arduino 120 | * [OneButton](https://github.com/mathertel/OneButton) - An Arduino library for using a single button for multiple purpose input 121 | * [JTAG](https://github.com/mrjimenez/JTAG) - JTAG library for Arduino 122 | * [Sleep_n0m1](https://github.com/n0m1/Sleep_n0m1) - A library that sets the Arduino into sleep mode for a specified length of time 123 | * [AESLib](https://github.com/DavyLandman/AESLib) - Arduino Library for AES Encryption 124 | * [MemoryFree](https://github.com/maniacbug/MemoryFree) - Arduino MemoryFree library 125 | * [souliss](https://github.com/souliss/souliss) - Arduino based Distributed Networking Framework for Smart Homes and IoT 126 | * [LED-Matrix](https://github.com/marcmerlin/LED-Matrix) - Single/bi/tri-color LED Matrix PWM driver for arduino 127 | * [OneWire](https://github.com/PaulStoffregen/OneWire) - Library for Dallas/Maxim 1-Wire Chips 128 | * [TinyEKF](https://github.com/simondlevy/TinyEKF) - Lightweight C/C++ Extended Kalman Filter with Arduino example 129 | * [arduino_midi_library](https://github.com/FortySevenEffects/arduino_midi_library) - MIDI for Arduino 130 | * [FreeRTOS-Arduino](https://github.com/greiman/FreeRTOS-Arduino) - FreeRTOS 8.2.3 Arduino Libraries 131 | * [Arduino_FreeRTOS_Library](https://github.com/feilipu/Arduino_FreeRTOS_Library) - A FreeRTOS Library for all Arduino AVR Devices 132 | * [Automaton](https://github.com/tinkerspy/Automaton) - Reactive State Machine Framework for Arduino 133 | * [LinkedList](https://github.com/ivanseidel/LinkedList) - A fully implemented LinkedList made to work with Arduino projects 134 | * [VirtualUsbKeyboard](https://github.com/practicalarduino/VirtualUsbKeyboard) - Virtual an Arduino as a HID device 135 | * [virtual-shields-arduino](https://github.com/ms-iot/virtual-shields-arduino) - Windows Virtual Shields for Arduino library 136 | 137 | *3D Printer .* 138 | 139 | * [Repetier-Firmware](https://github.com/repetier/Repetier-Firmware) - Firmware for Arduino based RepRap 3D printer 140 | * [3D_Printer](https://github.com/underverk/3D_Printer) - Underverk's 3D printer 141 | * [grbl](https://github.com/grbl/grbl) - An open source, embedded, high performance g-code-parser and CNC milling controller run on a straight Arduino 142 | 143 | *NET Library.* 144 | 145 | * [Webduino](https://github.com/sirleech/Webduino) - Arduino WebServer library 146 | * [TinyWebServer](https://github.com/ovidiucp/TinyWebServer) - Small web server for Arduino, fits in 10KB ROM, less than 512 bytes RAM 147 | * [RESTduino](https://github.com/jjg/RESTduino) - A sketch to provide a REST-like interface to the Arduino+Ethernet Shield 148 | * [aREST](https://github.com/marcoschwartz/aREST) - A RESTful environment for Arduino 149 | * [ArduinoWebsocketClient](https://github.com/krohling/ArduinoWebsocketClient) - Websocket client for Arduino 150 | * [ArduinoWebsocketServer](https://github.com/ejeklint/ArduinoWebsocketServer) - a Websocket server running on an Arduino 151 | * [esp8266](https://github.com/ssokol/esp8266) - ESP8266 Wifi library and sample code for Arduino 152 | * [arduino_uip](https://github.com/ntruchsess/arduino_uip) - A plugin-replacement of the stock Arduino Ethernet library 153 | * [HttpClient](https://github.com/nmattisson/HttpClient) - Http Client Library for the Spark Core 154 | * [arduino-restclient](https://github.com/csquared/arduino-restclient) - Arduino RESTful HTTP Request Library 155 | * [socket.io-arduino-client](https://github.com/billroy/socket.io-arduino-client) - A socket.io client for the Arduino Ethernet shield 156 | * [Arduino-IPv6Stack](https://github.com/telecombretagne/Arduino-IPv6Stack) - IPv6 stack for Arduino and Xbee based on Contiki OS network stack 157 | * [MQTT-SN-Arduino](https://github.com/boriz/MQTT-SN-Arduino) - Connecting mesh network to the MQTT broker and tunneling MQTT protocol over Websocket 158 | * [ArduinoDuePolarSSLClient](https://github.com/tomconte/ArduinoDuePolarSSLClient) - Sample Arduino Due sketch connecting to a PolarSSL server using PSK authentication 159 | * [arduino-mqtt](https://github.com/256dpi/arduino-mqtt) - MQTT library for Arduino based on the Eclipse Paho projects 160 | * [aWOT](https://github.com/lasselukkari/aWOT) - Arduino web server library 161 | * [arduinoWebSockets](https://github.com/Links2004/arduinoWebSockets) - WebSocket Server and Client for Arduino 162 | * [HttpClient](https://github.com/amcewen/HttpClient) - Arduino HTTP library 163 | * [aws-iot-device-sdk-arduino-yun](https://github.com/aws/aws-iot-device-sdk-arduino-yun) - SDK for connecting to AWS IoT from an Arduino Yún. 164 | * [HttpClient](https://github.com/amcewen/HttpClient) - Arduino HTTP library 165 | * [microcoap](https://github.com/1248/microcoap) - A small CoAP implementation for microcontrollers 166 | 167 | *Command line library* 168 | 169 | * [platformio](https://github.com/platformio/platformio) - Cross-platform code builder and the missing library manager .... 170 | * [arduino-cmake](https://github.com/queezythegreat/arduino-cmake) - Arduino CMake Build system 171 | * [bitlash](https://github.com/billroy/bitlash) - A programmable command shell for Arduino 172 | * [arduino-shell](https://github.com/nuket/arduino-shell) - A command shell to interact with built-in Arduino features 173 | 174 | *Display library* 175 | 176 | * [Arduino_LCD_Menu](https://github.com/DavidAndrews/Arduino_LCD_Menu) - Creates menu systems primarily useful for 16x2 or 16x4 LCD displays 177 | * [LiquidMenu](https://github.com/VaSe7u/LiquidMenu) - Menu creation library for HD44780 LCDs (parallel and I2C), wraps LiquidCrystal. 178 | * [LiquidTWI2](https://github.com/lincomatic/LiquidTWI2) - high speed I2C LCD Library for Arduino, which supports MCP23008 and MCP23017 179 | * [MENWIZ](https://github.com/brunialti/MENWIZ) - LCD menu library: Short user code to manage complex menu structures 180 | * [u8glib](https://github.com/olikraus/u8glib) - Arduino Monochrome Graphics Library for LCDs and OLEDs 181 | * [ucglib](https://github.com/olikraus/ucglib) - Arduino True Color Library for TFTs and OLEDs 182 | 183 | *Binding and API library* 184 | 185 | * [johnny-five](https://github.com/rwaldron/johnny-five) - JavaScript Robotics and IoT programming framework, Based on Arduino Firmata Protocol 186 | * [Python-Arduino-Command-API](https://github.com/thearn/Python-Arduino-Command-API) - A Python library for communicating with Arduino microcontroller boards 187 | * [hidapi](https://github.com/signal11/hidapi) - A Simple library for communicating with USB and Bluetooth HID devices on Linux, Mac, and Windows. 188 | * [BlocklyDuino](https://github.com/BlocklyDuino/BlocklyDuino) - a web-based visual programming editor for arduino 189 | * [noduino](https://github.com/sbstjn/noduino) - JavaScript and Node.js Framework for controlling Arduino with HTML and WebSockets 190 | * [ino](https://github.com/amperka/ino) - Command line toolkit for working with Arduino hardware 191 | * [usb-serial-for-android](https://github.com/mik3y/usb-serial-for-android) - Android USB host serial driver library for CDC, FTDI, Arduino and other devices 192 | * [serial-port-json-server](https://github.com/johnlauer/serial-port-json-server) - A serial port JSON websocket server communicate with Arduino 193 | * [PhysicaloidLibrary](https://github.com/ksksue/PhysicaloidLibrary) - Android Library for communicating with physical-computing boards 194 | * [blynk-server](https://github.com/blynkkk/blynk-server) - Platform with iOS and Android apps to control Arduino 195 | * [rad](https://github.com/atduskgreg/rad) - Ruby Arduino Development 196 | * [ardublock](https://github.com/taweili/ardublock) - A Block Programming Language for Arduino 197 | * [arduino-api](https://github.com/plotly/arduino-api) - Arduino library for real-time logging and streaming data to online plotly graphs 198 | * [dino](https://github.com/austinbv/dino) - Dino is a ruby gem that helps you bootstrap prototyping with an Arduino 199 | * [duino](https://github.com/ecto/duino) - Arduino framework for node.js 200 | * [pyFirmata](https://github.com/tino/pyFirmata) - Python interface for the Firmata protocol 201 | * [JArduino](https://github.com/SINTEF-9012/JArduino) - Program your Arduino in Java 202 | * [Python-Arduino-Command-API](https://github.com/thearn/Python-Arduino-Command-API) - A Python library for communicating with Arduino microcontroller boards 203 | * [hwio](https://github.com/mrmorphic/hwio) - Go library for hardware I/O control, in the programming style of Arduino 204 | 205 | *RPC* 206 | 207 | * [ArduRPC](https://github.com/DinoTools/ArduRPC) - RPC library for Arduino and other microcontroller based boards 208 | * [arduino-json-rpc](https://github.com/cloud-rocket/arduino-json-rpc) - Simple JSON-RPC server implementation for Arduino 209 | 210 | *Math library* 211 | 212 | * [Arduino-signal-filtering-library](https://github.com/jeroendoggen/Arduino-signal-filtering-library) - Arduino library for signal filtering 213 | * [Gaussian](https://github.com/ivanseidel/Gaussian) - Gaussian filter for Arduino 214 | 215 | ## HardwareBoard 216 | 217 | *Hardware board for arduino diy.* 218 | 219 | * [Teensy](https://www.pjrc.com/teensy/) - The Teensy is a complete USB-based microcontroller development system 220 | * [blackmagic](https://github.com/blacksphere/blackmagic) - In application debugger for ARM Cortex microcontrollers 221 | * [stm32plus](https://github.com/andysworkshop/stm32plus) - C++ library for the STM32 F0, F100, F103, F107 and F4 222 | 223 | ## IDE 224 | 225 | *Arduino developments* 226 | 227 | * [arduino](https://github.com/arduino/Arduino) - Official Arduino IDE 228 | * [ESP8266 IDE](https://github.com/esp8266/Arduino) - Arduino IDE for ESP8266 229 | * [Stino](https://github.com/Robot-Will/Stino) - A Sublime Text Plugin for Arduino 230 | * [attiny](https://github.com/damellis/attiny) - ATtiny microcontroller support for the Arduino IDE 231 | * [arduinounit](https://github.com/mmurdoch/arduinounit) - A unit testing framework for Arduino libraries 232 | * [Arduino-Makefile](https://github.com/sudar/Arduino-Makefile) - Makefile for Arduino sketches 233 | * [arduino_sketches](https://github.com/nickgammon/arduino_sketches) - Publicly-released sketches for the Arduino microprocessor 234 | * [arduino-builder](https://github.com/arduino/arduino-builder) - A command line tool for compiling Arduino sketches 235 | * [arduinounit](https://github.com/mmurdoch/arduinounit) - A unit testing framework for Arduino libraries 236 | * [arduino-eclipse-plugin](https://github.com/jantje/arduino-eclipse-plugin) - A plugin to make programming the Arduino in Eclipse easy 237 | * [dueboot](https://github.com/jensnockert/dueboot) - Rust on the Arduino Due 238 | * [Arduino-Designer](https://github.com/mbats/arduino) - Graphic Arduino designer based on Eclipse 239 | * [XOD](https://xod.io/) - Open source visual programming language and IDE 240 | 241 | ## Tutorials 242 | 243 | *Tutorials for arduino flash.* 244 | 245 | * [Arduino-Tutorial-Series](https://github.com/sciguy14/Arduino-Tutorial-Series) - These are the supporting materials for my popular series of Tutorials on the Arduino Microcontroller Platform 246 | * [esp8266](https://github.com/raburton/esp8266) - Various bits of code for ESP8266 247 | * [arduino_sketches](https://github.com/nickgammon/arduino_sketches) - Publicly-released sketches for the Arduino microprocessor 248 | * [DUEZoo](https://github.com/manitou48/DUEZoo) - Some proof-of-concept sketches and results for Arduino DUE 249 | * [programming_arduino](https://github.com/simonmonk/programming_arduino) - Code for the book Programming Arduino: Getting Started with Sketches 250 | * [ArduinoExamples](https://github.com/renaun/ArduinoExamples) - Arduino Blink Chrome App 251 | 252 | ## Projects 253 | 254 | *Projects with Arduino* 255 | 256 | * [arduinoscope](https://github.com/konsumer/arduinoscope) - An oscilloscope, using Arduino and Processing/node 257 | * [ArduinoPlot](https://github.com/gregpinero/ArduinoPlot) - Real time Plot Numeric Values sent from Arduino over Serial Port 258 | * [ArduinoISP](https://github.com/rsbohn/ArduinoISP) - Use the Arduino to program AVR chips 259 | * [arduino-sms-alarm](https://github.com/mattwilliamson/arduino-sms-alarm) - An Arduino based burglar alarm that sends an SMS when motion is detected 260 | * [QUADCOPTER_V2](https://github.com/vjaunet/QUADCOPTER_V2) - A quadcopter project based on Raspberry Pi and Arduino 261 | * [Arduino Time Lapse Panorama Controller](http://www.instructables.com/id/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 262 | * [Erbbie Desktop Garden](http://www.instructables.com/id/Erbbie-Desktop-Smart-Garden/?ALLSTEPS) - A DIY desktop smart garden designed to give everyone a green thumb 263 | * [Smart Garden](http://www.instructables.com/id/Smart-Garden-1/?ALLSTEPS) - clone of Erbbie 264 | * [Temperature controlled craft beer coolbox](http://www.instructables.com/id/temperature-controlled-craft-beer-coolbox/) - A coolbox in which you can control the temperature in three separate compartments 265 | 266 | ## Usage 267 | work in 'git bash' at Windows with Git installed or Linux OS 268 | 269 | ```bash 270 | sh update.sh 271 | 272 | usage() 273 | { 274 | echo "" 275 | echo " usage:" 276 | echo "" 277 | echo "./update.sh " 278 | echo " where is one of:" 279 | echo " --install-or-update (does full installation or update.)" 280 | echo " --remove (removes all installed)" 281 | echo "" 282 | echo "example:" 283 | echo ' $ ./update.sh --install-or-update' 284 | } 285 | ``` 286 | 287 | ## Contributing 288 | * [Contributing](https://github.com/lembed/awesome-arduino/blob/master/CONTRIBUTING.md) 289 | 290 | Your contributions are always welcome! 291 | 292 | [![Analytics](https://ga-beacon.appspot.com/UA-67438080-1/awesome-arduino/readme?pixel)](https://github.com/Lembed/awesome-arduino) 293 | -------------------------------------------------------------------------------- /update.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # the script get the master brach of the github repo, clone it to local with git 4 | # or delete the repo directly. 5 | # 6 | # for get pure url, first get the url list and print to tmp file, and will be delete 7 | # at the end. 8 | # 9 | # require : the script need to run in git bash 10 | # or system with git installed 11 | # 12 | # the script use awk, grep, cat to do work 13 | # 14 | # usage : sh update.sh 15 | # 16 | INFILE='README.md' 17 | OUTFILE='.tmp' 18 | 19 | DEBUG='' 20 | 21 | # print usage 22 | function usage 23 | { 24 | echo "" 25 | echo " usage:" 26 | echo "" 27 | echo "sh update.sh " 28 | echo " where is one of:" 29 | echo " --install-or-update (does full installation or update.)" 30 | echo " --remove (removes all installed)" 31 | echo "" 32 | echo "example:" 33 | echo ' $ sh update.sh --install-or-update' 34 | } 35 | 36 | # for debug 37 | function printvar 38 | { 39 | if [[ "$DEBUG" != "" ]]; then 40 | echo $1 41 | fi 42 | : 43 | } 44 | 45 | # find the git is installed 46 | function check 47 | { 48 | 49 | git --version >/dev/null 50 | if [ $? -ne 0 ] 51 | then 52 | echo "no git command found ! please download and install" 53 | exit 54 | fi 55 | : 56 | } 57 | 58 | # find and write the list to file 59 | function pure_list 60 | { 61 | # clean list 62 | >$2 63 | 64 | # loop the line of the readme 65 | for LINE in $(cat $1) 66 | do 67 | rs=$(echo $LINE | grep "github" ) 68 | if [[ "$rs" != "" ]]; then 69 | # the projects list can not be installed 70 | rt=$(echo $LINE | grep "HardwareBoard" ) 71 | if [[ "$rt" != "" ]]; then 72 | continue 73 | fi 74 | rl=$(echo $LINE | awk -F '(' '{print $2}' | awk -F ')' '{print $1}' ) 75 | # write list 76 | echo "$rl" >> $2 77 | fi 78 | : 79 | done 80 | } 81 | 82 | 83 | # find the git dir 84 | function is_git 85 | { 86 | isg=$(cat $1/.git/config) 87 | if [[ "$isg" == "" ]]; then 88 | return "0" 89 | else 90 | return "1" 91 | fi 92 | } 93 | 94 | # git clone the repo , update if it is exist 95 | function do_update 96 | { 97 | # loop the line of the readme 98 | for LINE in $(cat $1) 99 | do 100 | instant=$(echo $LINE | awk -F '/' '{print $5}' ) 101 | printvar $instant 102 | if [[ "$instant" == "" ]]; then 103 | continue 104 | printvar "noting" 105 | fi 106 | 107 | if [ -d "$instant" ]; then 108 | # find the dir is git dir or not 109 | ig=is_git "$instant" 110 | if [[ "$ig" == "0" ]]; then 111 | rm -rf $instant 112 | git clone "$LINE" & 113 | fi 114 | git pull origin master ; printvar "$instant" 115 | else 116 | git clone "$LINE" & 117 | fi 118 | : 119 | done 120 | } 121 | 122 | # delete the repo, through the list in the list file, so it need to get 123 | # the list first 124 | function do_del 125 | { 126 | 127 | for LINE in $(cat $1) 128 | do 129 | instant=$(echo $LINE | awk -F '/' '{print $5}' ) 130 | printvar $instant 131 | if [[ "$instant" == "" ]]; then 132 | continue 133 | fi 134 | printvar $instant 135 | if [ -d "$instant" ]; then 136 | rm -rf $instant 137 | fi 138 | : 139 | done 140 | } 141 | 142 | 143 | # main 144 | check 145 | 146 | if [ $# -eq 1 -a "$1" == "--install-or-update" ]; then 147 | if [ ! -f "$OUTFILE" ]; then 148 | pure_list $INFILE $OUTFILE 149 | fi 150 | do_update $OUTFILE 151 | rm -rf $OUTFILE 152 | exit 153 | fi 154 | 155 | if [ $# -eq 1 -a "$1" == "--remove" ]; then 156 | 157 | if [ ! -f "$OUTFILE" ]; then 158 | pure_list $INFILE $OUTFILE 159 | fi 160 | 161 | do_del $OUTFILE 162 | rm -rf $OUTFILE 163 | exit 164 | fi 165 | 166 | 167 | usage --------------------------------------------------------------------------------