C++ Arduino

Open-source C++ projects categorized as Arduino | Edit details

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: SKR 2.0 + new board mount + new wiring DONE! | reddit.com/r/AnycubicChiron | 2021-11-30
  • GitHub repo ArduinoJson

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

    Project mention: (esp32+adxl325+sdcard)Storing sensor data in sd card(in txt file) and then sending it to cloud. | reddit.com/r/IOT | 2021-10-16

    I'd suggest sending data directly to AWS IoT Core (Free tier eligible) with the MQTT protocol. You can send data in JSON format. You could then use a serverless function to send that data to a DynamoDB (noSQL) database as the API is easy to use.

  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo WiFiManager

    ESP8266 WiFi Connection manager with web captive portal

    Project mention: Any GOOD way to set WiFi credentials yet? | reddit.com/r/esp32 | 2021-11-23

    There are libraries like https://github.com/tzapu/WiFiManager which seem to be popular but have about the quality you'd expect from an Arduino lib.

  • 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: Blynk for Arduino Nano | reddit.com/r/arduino | 2021-11-29

    Agreed about google and would add clarity. In the field of IT clarity is critical. If OP had said blynk.io, the .io would have clicked with me that it was a web site. Another guy just asked about PS/2 - I thought he meant the keyboard/mouse interface. Others twigged that he meant Playstation 2.

  • 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, Bluetooth, beacons detection, mi flora, mi jia, LYWSD02, LYWSD03MMC, Mi Scale, TPMS, BBQ thermometer compatibility, SMS & LORA.

    Project mention: How can I use USB port from laptop to control IR transmitter module/circuit? | reddit.com/r/homeautomation | 2021-09-24

    An ESP32 dev board with OpenMQTTgateway can accomplish this. https://docs.openmqttgateway.com/

  • 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: How can I control output pins of an ESP8266 via a linux terminal over wifi? | reddit.com/r/arduino | 2021-09-24

    Either write your own api to drive it via a pre-written library like crankyoldgits IRremote or flash something like tasmota-ir which has IR driver capability and a restAPI which would allow you to send raw codes or protocol specific hex codes from a script via curl. There's a good reason people use prebuilt solutions, modulating a 38kHz carrier with often complex protocols is not a trivial coding excercise on an MCU, thankfully there a number of dedicated/obsessive techs who have already done the heavy lifting and are generous enough to share the results of their hundreds or thousands of hours work with us lazy types who don't want to reinvent the wheel.

  • Scout APM

    Scout APM: A developer's best friend. Try free for 14-days. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.

  • 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 splitflap

    DIY split-flap display

    Project mention: Vestaboard – A Smart Display to Connect and Inspire | news.ycombinator.com | 2021-11-24

    I was looking at these the other day - in the process of browsing around the subject I found this maker-project to create custom ones:

    https://github.com/scottbez1/splitflap

  • GitHub repo RF24

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

    Project mention: I found an easy way to test 2.4GHz downconverters for RTL SDR using a nRF24L01 module | reddit.com/r/RTLSDR | 2021-11-08

    But I didn't know if it worked. I saw a lot of different random signals, but I had no way to know if it was just amplified noise, nor I had a way to know if the downconverter frequency was exactly 2.4GHz, or something else. I have a few cheap nRF24L01 modules around, and plenty of 3.3V Arduino boards, so after a quick read on the nRF24 library (https://github.com/nRF24/RF24), I had a super simple generator running using the carrier wave function of the nRF24.

  • 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: Ender 3 + esp8266 | reddit.com/r/ender3 | 2021-08-23

    It's allready a thing https://github.com/luc-github/ESP3D

  • GitHub repo arduino_midi_library

    MIDI for Arduino

    Project mention: Best Arduino model for USB MIDI instrument? | reddit.com/r/arduino | 2021-11-15

    I haven't used it yet but there is this. They give more details so specifics about board support may be there too. It looks nice at first glance

  • 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 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-BLE-Keyboard

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

    Project mention: Can I hand wire a keyboard using the ESP8266 instead of the Arduino pro micro ? | reddit.com/r/MechanicalKeyboards | 2021-07-30

    ESP32 might work though: https://github.com/T-vK/ESP32-BLE-Keyboard

  • GitHub repo Adafruit_Sensor

    Common sensor library

    Project mention: A confusing issue with NodeMCU | reddit.com/r/arduino | 2021-11-25

    // Example testing sketch for various DHT humidity/temperature sensors // Written by ladyada, public domain // REQUIRES the following Arduino libraries: // - DHT Sensor Library: https://github.com/adafruit/DHT-sensor-library // - Adafruit Unified Sensor Lib: https://github.com/adafruit/Adafruit_Sensor #include "DHT.h" #define DHTPIN 4 // Digital pin connected to the DHT sensor // Feather HUZZAH ESP8266 note: use pins 3, 4, 5, 12, 13 or 14 -- // Pin 15 can work but DHT must be disconnected during program upload. // Uncomment whatever type you're using! #define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 //#define DHTTYPE DHT21 // DHT 21 (AM2301) // Connect pin 1 (on the left) of the sensor to +5V // NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1 // to 3.3V instead of 5V! // Connect pin 2 of the sensor to whatever your DHTPIN is // Connect pin 3 (on the right) of the sensor to GROUND (if your sensor has 3 pins) // Connect pin 4 (on the right) of the sensor to GROUND and leave the pin 3 EMPTY (if your sensor has 4 pins) // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor // Initialize DHT sensor. // Note that older versions of this library took an optional third parameter to // tweak the timings for faster processors. This parameter is no longer needed // as the current DHT reading algorithm adjusts itself to work on faster procs. DHT dht(DHTPIN, DHTTYPE); void setup() { delay(2000); Serial.begin(115200); delay(2000); Serial.println(F("DHTxx test!")); dht.begin(); } void loop() { // Wait a few seconds between measurements. delay(2000); // Reading temperature or humidity takes about 250 milliseconds! // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) float h = dht.readHumidity(); // Read temperature as Celsius (the default) float t = dht.readTemperature(); // Read temperature as Fahrenheit (isFahrenheit = true) float f = dht.readTemperature(true); // Check if any reads failed and exit early (to try again). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println(F("Failed to read from DHT sensor!")); return; } // Compute heat index in Fahrenheit (the default) float hif = dht.computeHeatIndex(f, h); // Compute heat index in Celsius (isFahreheit = false) float hic = dht.computeHeatIndex(t, h, false); Serial.print(F("Humidity: ")); Serial.print(h); Serial.print(F("% Temperature: ")); Serial.print(t); Serial.print(F("°C ")); Serial.print(f); Serial.print(F("°F Heat index: ")); Serial.print(hic); Serial.print(F("°C ")); Serial.print(hif); Serial.println(F("°F")); }

  • GitHub repo ArduinoThread

    ⏳ A simple way to run Threads on Arduino

    Project mention: How do I create 2 threads in the Ardunio IDE? | reddit.com/r/arduino | 2021-08-24

    There are libraries that let you do pseudo-threading. https://github.com/ivanseidel/ArduinoThread

  • GitHub repo cartreader

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

    Project mention: One's trash is another's treasure...quite literally. Found in a dumpster at the local dump. Saved them from the landfill! | reddit.com/r/gamecollecting | 2021-11-24

    There's always the Sanni dumper.

  • GitHub repo Arduino-FOC

    Arduino FOC for BLDC and Stepper motors - Arduino Based Field Oriented Control Algorithm Library

    Project mention: rosserial +platformio+ esc-BG431 | reddit.com/r/ROS | 2021-03-23
  • 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 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 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
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-11-30.

C++ Arduino related posts

Index

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

Project Stars
1 Marlin 12,128
2 ArduinoJson 5,431
3 WiFiManager 4,870
4 blynk-library 3,287
5 PJON 2,604
6 OpenMQTTGateway 2,386
7 IRremoteESP8266 1,948
8 Serial-Studio 1,946
9 splitflap 1,934
10 RF24 1,809
11 WS2812FX 1,225
12 ESP3D 1,163
13 arduino_midi_library 1,134
14 ESP32-Paxcounter 945
15 NeoPixelBus 925
16 ESP32-BLE-Keyboard 892
17 Adafruit_Sensor 790
18 ArduinoThread 788
19 cartreader 775
20 Arduino-FOC 761
21 TaskScheduler 725
22 HASwitchPlate 691
23 Universal-Arduino-Telegram-Bot 676
Find remote jobs at our new job board 99remotejobs.com. There are 33 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com