C++ Arduino

Open-source C++ projects categorized as Arduino

Top 23 C++ Arduino Projects

  • GitHub repo Marlin

    Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. | Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.

    Project mention: Linear advance algorithm | reddit.com/r/MarlinFirmware | 2021-06-08

    As a side note: I can't recommend enabling HybridThreshold. Had some issues with layershifting (i.e. skipped steps) and disabled it again yesterday as I found this. Test ongoing.

  • GitHub repo ArduinoJson

    📟 JSON library for Arduino and embedded C++. Simple and efficient.

    Project mention: Are there any guides on how to use an ESP to fetch data from a Google Sheet? | reddit.com/r/arduino | 2021-05-18

    I work with JSON mostly. So you might want to have a look at https://arduinojson.org/

  • GitHub repo WiFiManager

    ESP8266 WiFi Connection manager with web captive portal

    Project mention: Best Wifi provision for end users | reddit.com/r/esp32 | 2021-05-02

    I haven't tested it myself but here is an example library that appears to do this pretty simply.

  • GitHub repo blynk-library

    Blynk library for embedded hardware. Works with Arduino, ESP8266, Raspberry Pi, Intel Edison/Galileo, LinkIt ONE, Particle Core/Photon, Energia, ARM mbed, etc.

    Project mention: arduino uno with blynk app | reddit.com/r/arduino | 2021-04-30
  • GitHub repo PJON

    PJON® (Padded Jittering Operative Network) is an experimental, arduino-compatible, multi-master, multi-media network protocol.

    Project mention: The operative system for a decarbonised, decentralised, digitised energy system | news.ycombinator.com | 2021-03-22

    When the physical layer of devices in the home don’t offer Wireless connectivity, hardware communication modules needs to be adopted to bridge the existing connectivity.

    This protocol exists already is called PJON: https://github.com/gioblu/PJON

  • GitHub repo OpenMQTTGateway

    MQTT gateway for ESP8266, ESP32, Sonoff RF Bridge or Arduino with bidirectional 433mhz/315mhz/868mhz, Infrared communications, BLE, beacons detection, mi flora, mi jia, LYWSD02, LYWSD03MMC, Mi Scale compatibility, SMS & LORA.

    Project mention: Smart button | reddit.com/r/esp8266 | 2021-04-12

    A single ESP8266 running OpenMQTTGateway is capable of sending the commands that would otherwise have been sent by the physical remotes.

  • GitHub repo Serial-Studio

    Multi-purpose serial data visualization & processing program

    Project mention: Cereal Monitor Opensource Dropin Replacement For | reddit.com/r/arduino | 2021-02-06

    you folks might wanna check SerialStudio out https://github.com/Serial-Studio/Serial-Studio

  • GitHub repo IRremoteESP8266

    Infrared remote library for ESP8266/ESP32: send and receive infrared signals with multiple protocols. Based on: https://github.com/shirriff/Arduino-IRremote/

    Project mention: Making dumb LED strips smart. | reddit.com/r/esp8266 | 2021-04-21

    Your starter for 10 on ESP8266 and IR is crankoldgit's library When you say transistors I hope you mean big beefy power transistors or mosfets? The current led strips use can be surprising, my 4.5m RGBW 12V strip draws 9A at full brightness and the similar length WS2812 would pull 15A at full brightness if my software didn't restrict it. Do run the numbers on power consumption in regard to your switching device. It's possible to do what you want with the existing receiver but as you've already found it's not that straightforward and requires a good magnifier and enough knowledge of electronics to decipher the circuitry before you could modify it, If you want a reasonable size prebuilt RGB controller the generic H801 boxes are cheap, readily available, ESP based and easy to flash your own code to. The other possibility is to IR enable your ESP8266 using a simple IR receiver like one of the TSOP series, the filters and amplifier are built in and as it's just a 5mm package it's easy to mount it where it's convenient. That way you can have the option of IR or WiFi control, I occasionally use an old IR remote as buttons are often more convenient than web pages for controlling things, in my case the remote talks to an IR to WiFi bridge I built using the library linked. above.

  • GitHub repo RF24

    OSI Layer 2 driver for nRF24L01 on Arduino & Raspberry Pi/Linux Devices

    Project mention: Wireless Communication Between 2 Picos | reddit.com/r/raspberrypipico | 2021-04-08

    I'm using C right now with https://nrf24.github.io/RF24/

  • GitHub repo WS2812FX

    WS2812 FX Library for Arduino and ESP8266

    Project mention: [OC] My Aang and Zuko Painting on glass. Thinking of putting colored LED lights on the wall behind the frame, do you guys think it would be a good idea? | reddit.com/r/TheLastAirbender | 2021-02-06

    For libraries, I don't recommend the Adafruit neopixel lib. I think this is better, easier to use, more robust, and faster in ease of use and code execution. https://github.com/kitesurfer1404/WS2812FX

  • GitHub repo ESP3D

    FW for ESP8266/ESP8285/ESP32 used with 3D printer

    Project mention: Establishing a decent documentation respository for the Longer LK1 | reddit.com/r/3Dprinting | 2021-02-22
  • GitHub repo arduino_midi_library

    MIDI for Arduino

    Project mention: Need Help With MIDI to CV | reddit.com/r/synthdiy | 2021-04-15

    You can look at the examples of the MIDI library on github. Here for example, https://github.com/FortySevenEffects/arduino_midi_library/blob/master/examples/Basic_IO/Basic_IO.ino

  • GitHub repo NeoPixelBus

    An Arduino NeoPixel support library supporting a large variety of individually addressable LEDs. Please refer to the Wiki for more details. Please use the gitter channel to ask questions as the GitHub Issues feature is used for bug tracking.

    Project mention: How to decrease SPI clock rate for long string of APA102s? | reddit.com/r/WLED | 2021-06-13

    I see FastLED defaults to a 12 MHz SPI clock and the rate can be controlled via the DATA_RATE_MHZ template parameter to addLeds(). I am having some challenges following the WLED code, but it looks like the NeoPixelBus library handling the APA102 strips defaults to SPI rate of 20 MHz.

  • GitHub repo ESP32-Paxcounter

    Wifi & BLE driven passenger flow metering with cheap ESP32 boards

    Project mention: What Do People Think Of Pycom Products | reddit.com/r/IOT | 2021-02-01
  • GitHub repo Adafruit_Sensor

    Common sensor library

    Project mention: The code I attached below is working for esp32 but not working onesp8266 | reddit.com/r/arduino | 2021-05-05

    #include //DHT and Adafruit Sensor library(https://github.com/adafruit/Adafruit_Sensor)

  • GitHub repo HASwitchPlate

    LCD touchscreen for Home Automation

    Project mention: Is there a market for bespoke home automation components? You may recall I built this interface to our home that speaks, rings, and lights regular alerts. It has tasmota at its heart so is hardware based and easily interfaced with Home Assistant. Is there a market for me to make this kind of thing? | reddit.com/r/homeassistant | 2021-01-22

    Great news: you can build one yourself or you can buy one! :D

  • GitHub repo ESP32-BLE-Keyboard

    Bluetooth LE Keyboard library for the ESP32 (Arduino IDE compatible)

    Project mention: Made it with python, arduino and a homemade proximity sensor. A literal life saver. | reddit.com/r/arduino | 2021-06-15

    why not use the esp32 ble keyboard?

  • GitHub repo TaskScheduler

    Cooperative multitasking for Arduino, ESPx and STM32 microcontrollers

    Project mention: Understanding the rarely seen EVERY_N_MILLIS_I ? | reddit.com/r/FastLED | 2021-01-25

    Or just use TaskScheduler and never have to worry about this again. https://github.com/arkhipenko/TaskScheduler

  • GitHub repo cartreader

    A shield for the Arduino Mega that can back up video game cartridges.

    Project mention: I have a copy of metroid fusion with a corrupted save that prevents any new saves from being made and was wondering if I could use a joey jr to restore the save file, and if so how do I do that? | reddit.com/r/retrogaming | 2021-06-04
  • GitHub repo Universal-Arduino-Telegram-Bot

    Use Telegram on your Arduino (ESP8266 or Wifi-101 boards)

    Project mention: Cat feeder telegram bot | reddit.com/r/esp8266 | 2021-02-06
  • GitHub repo async-mqtt-client

    📶 An Arduino for ESP8266 asynchronous MQTT client implementation

    Project mention: Help, function calls to some library functions made in callbacks are sometimes getting lost. | reddit.com/r/arduino | 2021-04-19

    https://github.com/marvinroger/async-mqtt-client/blob/master/src/AsyncMqttClient.hpp onMqttPublish() is a callback of type OnPublishUserCallback.

  • GitHub repo MiniCore

    Arduino hardware package for ATmega8, ATmega48, ATmega88, ATmega168, ATmega328 and ATmega328PB

    Project mention: Running ATMEGA328P at 27mhz? | reddit.com/r/arduino | 2021-03-02

    You'd need to create your own board definition as the default install only handles 16MHz. MCUdude's MiniCore core shows how this could be done: https://github.com/MCUdude/MiniCore

  • GitHub repo ESP32_BLE_Arduino

    The library source for the ESP32 BLE support for Arduino.

    Project mention: Trying to connect to ESP32 bluetooth on iOS | reddit.com/r/esp32 | 2021-01-22
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-06-15.


What are some of the best open-source Arduino projects in C++? This list will help you:

Project Stars
1 Marlin 11,285
2 ArduinoJson 5,199
3 WiFiManager 4,633
4 blynk-library 3,140
5 PJON 2,561
6 OpenMQTTGateway 2,205
7 Serial-Studio 1,777
8 IRremoteESP8266 1,771
9 RF24 1,726
10 WS2812FX 1,149
11 ESP3D 1,049
12 arduino_midi_library 1,014
13 NeoPixelBus 880
14 ESP32-Paxcounter 879
15 Adafruit_Sensor 773
16 HASwitchPlate 677
17 ESP32-BLE-Keyboard 660
18 TaskScheduler 652
19 cartreader 643
20 Universal-Arduino-Telegram-Bot 613
21 async-mqtt-client 587
22 MiniCore 584
23 ESP32_BLE_Arduino 573