C++ Microcontroller

Open-source C++ projects categorized as Microcontroller

Top 23 C++ Microcontroller Projects

  • IoT-For-Beginners

    12 Weeks, 24 Lessons, IoT for All!

    Project mention: Why nobody talks about Internet of Things (IoT) here? | reddit.com/r/cscareerquestions | 2022-11-22

    You can read this definition here, https://github.com/microsoft/IoT-For-Beginners/blob/main/1-getting-started/lessons/1-introduction-to-iot/README.md

  • GuiLite

    ✔️The smallest header-only GUI library(4 KLOC) for all platforms

    Project mention: Does anyone have feedback on working with GuiLite? | reddit.com/r/cpp_questions | 2022-04-08
  • Sonar

    Free webinar: The Power of Clean C++. Are you ready to take your C++ code to the next level? Join Sonar on December 7th for our live webinar as we discuss how to get your code clean - and stay clean - with minimal effort and without being overloaded with warnings. Register now!

  • Serial-Studio

    Multi-purpose serial data visualization & processing program

    Project mention: Can't find a way to create AppImage for Qt6 programs | reddit.com/r/QtFramework | 2022-10-04

    I recommend moving away from linuxdeployqt, and use linuxdeploy (almost the same name, but without the "qt" at the end). It has a Qt plugin, and it's as easy to use. Check how a real world application is using it, and it's with Qt 6.

  • uTensor

    TinyML AI inference library

  • MiniCore

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

    Project mention: Having trouble communicating with a CP2102 IC on a custom board. Simplicity Studio says it is not recognised properly even though it does show up. Tried replacing drivers with Zadig, no change. Perhaps the schematic is wrong? | reddit.com/r/PrintedCircuitBoard | 2022-08-24
  • modm

    modm: a C++20 library generator for AVR and ARM Cortex-M devices

    Project mention: how come there aren't any open source drivers for MCUs? | reddit.com/r/embedded | 2022-08-30

    Something like https://modm.io ?

  • MightyCore

    Arduino hardware package for ATmega1284, ATmega644, ATmega324, ATmega324PB, ATmega164, ATmega32, ATmega16 and ATmega8535

    Project mention: Fast Led Multiple Colour Pallets in a State Machine | reddit.com/r/FastLED | 2022-09-09

    I am working on a project using the WSB2812B LED strip, with a ATmega644A using the MCUdude/MightyCore plug in (https://github.com/MCUdude/MightyCore). I am using Fastled 3.3.3 with Ardunio 1.8.13 on Windows 10 and is using code based off "ColourWavesWithPalettes" (https://gist.github.com/kriegsman/8281905786e8b2632aeb).

  • Zigi

    Workflow assistant built for devs & their teams. Automate the mundane part of your day, with live actionable messages for your GitHub & Jira tasks.

  • dRehmFlight

    Teensy/Arduino flight controller and stabilization for small-scale VTOL vehicles

    Project mention: What did you wish you knew before making your own drone from scratch? | reddit.com/r/diydrones | 2022-08-29

    dRehmFlight is about the simplest a flight controller can get (in terms of code readability).

  • SIM7000-LTE-Shield

    Botletics SIM7000 LTE CAT-M1/NB-IoT Shield for Arduino

    Project mention: solar + LTE tide sensor | reddit.com/r/arduino | 2022-09-28

    I want to lead off with a big shout-out to Botletics and their (his?) SIM7000 LTE CAT-M1 shield. From the beginning I knew I was going to need wireless connectivity and that WiFi was not going to reach. I considered Blues Wireless, but ultimately went with Botletics + hologram.io and I'm extremely glad I did. I plugged it in, I lightly modified the example code (it was pretty close to what I needed already, I basically just took out the GPS reading and replaced it with an averaged HC-SR04 ultrasonic sensor reading) and it just worked.

  • real-time-cpp

    Source code for the book Real-Time C++, by Christopher Kormanyos

    Project mention: ring allocator, help | reddit.com/r/cpp_questions | 2022-11-26

    Link here.

  • Pro_Micro

    ATMega32U4 Arduino board, available from SparkFun Electronics

    Project mention: Help figuring out how many pins can be used as analog on my SparkFun Qwiic Pro Micro! | reddit.com/r/arduino | 2022-05-23

    You're looking for the pinout here. Look for the ADC labels.


    Libraries to program and use UART-based EBYTE wireless data transceivers

  • EmbeddedProto

    Embedded Proto is a C++ Protocol Buffers implementation specifically suitable for microcontrollers. It is small, reliable and easy to use.

    Project mention: What is the best data serialization protocol for real-time embedded systems | reddit.com/r/embedded | 2022-05-13

    Have you looked into Embedded Proto? https://embeddedproto.com/

  • platform_specific_components

    Low-level components and hardware drivers for various Cyphal-related projects

  • SimpleFTPServer

    A simple FTP server for Arduino, ArduinoSAMD WiFiNINA, esp8266, esp32, stm32 and Raspberry Pi Pico W

  • hwlib

    C++ OO micro-controller library for close-to-the-hardware programming

    Project mention: Is using C++ singleton classes on atmega 2560 to abstract away port, pin and interrupt setup a good approach? | reddit.com/r/embedded | 2022-11-05
  • nsec-badge

    Software from the NorthSec badge

    Project mention: Creating something like a P.O. 33 K.O: | reddit.com/r/synthdiy | 2022-02-23

    Step zero is to decide how is your board going to be assembled. Do you feel confident enough to solder and assemble everything yourself or would you defer some of that job to a manifacturer. If you go with a manufacturer, check how they get their parts supply, that will limit which parts you can select. For example, jlcpcb offers a manufacturing service for board assembly, but the parts have to come from lscs. Then the first step is selecting the parts required. This one is currently quite tedious because there's a big part shortage. The bigger costier chips first as everything else will fall around that. In this case, we're looking for the microcontroller and the codec chip, then the power supply chips. I'd choose the microcontroller first as it's an easy but laborious step. You want a chip that has at least all the peripherals you need and make sure that they're not conflicting: some peripherals might block another from being used in certain places. It's a bit of a puzzle to solve. In this specific case, we'd want at least some i2s peripheral and an sdio too, i2c or spi for the screen, with some left over pins and some decent amount of flash that can also be user configured. Next the codec which will require some interface compatible with the microcontroller. For the power supply, i copied the design from a board i already worked on i was board tested and known to work: the 2019 nsec badge

  • Bloom

    A debug interface for AVR-based embedded systems development on GNU/Linux. (by bloombloombloom)

    Project mention: Inspect AVR memories with Bloom, on Linux. Also: support for five new debug tools | reddit.com/r/avr | 2021-12-28

    See the Bloom website for more: https://bloom.oscillate.io

  • cortex-m3-rtos

    ARM Cortex-M3 Real-Time Operating System for educational purpose.

    Project mention: Architecture and style of C++ projects | reddit.com/r/cpp | 2022-01-19

    I decided to have similar architecture in my own private project ( https://github.com/t4th/cortex-m3-rtos ), because the underlying concept is that, it is all just an array of structs and I used C++ to Abstract those arrays as different modules for cleaner architecture.

  • Simon-Arduino

    Interactive hardware game based on memorizing blink pattern

  • HAR

    Drop-in simulator for C/C++-programmable microcontrollers and hardware models (by Ocead)

  • MatrixGL

    An Arduino Microcontroller Graphics Library For LED Dot Matrix Displays

  • Drone-ESP32

    Designing a drone from scratch on the ESP32 microcontroller in C++.

    Project mention: Drone Controller & Bluetooth Mouse | ESP32 microcontroller in C++ | reddit.com/r/cyberDeck | 2022-08-31

    Project Source for Drone Controller

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.

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 2022-11-26.

C++ Microcontroller related posts


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

Project Stars
1 IoT-For-Beginners 11,329
2 GuiLite 6,533
3 Serial-Studio 2,978
4 uTensor 1,485
5 MiniCore 765
6 modm 570
7 MightyCore 532
8 dRehmFlight 477
9 SIM7000-LTE-Shield 452
10 real-time-cpp 371
11 Pro_Micro 236
12 EBYTE 179
13 EmbeddedProto 82
14 platform_specific_components 61
15 SimpleFTPServer 49
16 hwlib 46
17 nsec-badge 34
18 Bloom 32
19 cortex-m3-rtos 9
20 Simon-Arduino 5
21 HAR 3
22 MatrixGL 2
23 Drone-ESP32 0
Truly a developer’s best friend
Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.