C++ IoT

Open-source C++ projects categorized as IoT

Top 23 C++ IoT Projects

  • IoT-For-Beginners

    12 Weeks, 24 Lessons, IoT for All!

    Project mention: pls suggest some mini project ideas for 6th sem. ready to learn anything required for project in these domain. | reddit.com/r/developersIndia | 2023-02-25

    You can go for IOT. Please refer to this - https://github.com/microsoft/IoT-For-Beginners This is good to get started with. Good industrial stuff can be built using IOT. You will need a device though like Raspberry pi or Arduino

  • GuiLite

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

    Project mention: [Cpp] Une assez grande liste de bibliothèques graphiques C ++ | reddit.com/r/enfrancais | 2023-02-14



    ONLYOFFICE Docs — document collaboration in your environment. Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises

  • Oat++

    🌱Light and powerful C++ web framework for highly scalable and resource-efficient web application. It's zero-dependency and easy-portable.

    Project mention: What isn't cpp used on web servers as much as other languages? | reddit.com/r/cpp_questions | 2023-04-16

    With the right libraries, C++ could be a good fit for applications that want to expose a fast web API to things that need lots of compute (simulators, for instance) or I/O (interactive editing of large datasets). Projects like Oat++ and Crow give me hope that we might see such an ecosystem develop.

  • esphome

    ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.

    Project mention: Seeking Go/Rust-Capable Microcontroller for Modular DIY Projects | reddit.com/r/microcontrollers | 2023-05-26

    However, based on what the projects you'd like to do are, you should really take a look at ESPHome (esphome.io) and maybe even HomeAssistant (for UI development & other integrations). ESPHome is what I use to build sophisticated automations & devices. It has drivers for a lot of stuff, and it's very easy to write C/C++ for devices or behaviors that don't built-in support. Also, ESPHome can be connected with MQTT and can have a built-in webserver, so don't think it requires homeassistant.

  • ArduinoJson

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

    Project mention: How can I obtain weather info? | reddit.com/r/esp8266 | 2023-05-20
  • connectedhomeip

    Matter (formerly Project CHIP) creates more connections between more objects, simplifying development for manufacturers and increasing compatibility for consumers, guided by the Connectivity Standards Alliance.

    Project mention: ModuleNotFoundError: No module named 'matter_idl' | reddit.com/r/esp32 | 2023-05-14

    I followed this doc: https://github.com/project-chip/connectedhomeip/blob/master/docs/guides/esp32/setup_idf_chip.md

  • 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: How to create App to control ESP32 over WIFI (no IP address needed)? | reddit.com/r/esp32 | 2023-01-09
  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

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

  • ESP32Marauder

    A suite of WiFi/Bluetooth offensive and defensive tools for the ESP32

    Project mention: Who can help Wifi death in flipper zero does not work or works every other time? | reddit.com/r/flipperzero | 2023-06-01
  • griddb

    GridDB is a next-generation open source database that makes time series IoT and big data fast,and easy.

    Project mention: griddb: NEW Data - star count:2051.0 | reddit.com/r/algoprojects | 2023-04-29
  • uTensor

    TinyML AI inference library

  • Sming

    Sming - powerful open source framework simplifying the creation of embedded C++ applications.

    Project mention: Sming: Framework for Embedded C++ Applications | news.ycombinator.com | 2023-01-21
  • ESP32-Paxcounter

    Wifi & BLE driven passenger flow metering with cheap ESP32 boards

    Project mention: Proximity using esp32's bluetooth | reddit.com/r/esp32 | 2022-10-17
  • MySensors

    MySensors library and examples

    Project mention: How to connect my coffee machine | reddit.com/r/arduino | 2023-03-25

    /** * The MySensors Arduino library handles the wireless radio link and protocol * between your home built sensors/actuators and HA controller of choice. * The sensors forms a self healing radio network with optional repeaters. Each * repeater and gateway builds a routing tables in EEPROM which keeps track of the * network topology allowing messages to be routed to nodes. * * Created by Henrik Ekblad * Copyright (C) 2013-2015 Sensnology AB * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors * * Documentation: http://www.mysensors.org * Support Forum: http://forum.mysensors.org * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * version 2 as published by the Free Software Foundation. * ******************************* * * DESCRIPTION * * Simple binary switch example * Connect button or door/window reed switch between * digitial I/O pin 3 (BUTTON_PIN below) and GND. * http://www.mysensors.org/build/binary */ // Enable debug prints to serial monitor #define MY_DEBUG // Enable and select radio type attached #define MY_RADIO_RF24 //#define MY_RADIO_RFM69 #include #include #define CHILD_ID 3 #define BUTTON_PIN 3 // Arduino Digital I/O pin for button/reed switch Bounce debouncer = Bounce(); int oldValue=-1; // Change to V_LIGHT if you use S_LIGHT in presentation below MyMessage msg(CHILD_ID,V_TRIPPED); void setup() { // Setup the button pinMode(BUTTON_PIN,OUTPUT); // Activate internal pull-up digitalWrite(BUTTON_PIN,LOW); // After setting up the button, setup debouncer debouncer.attach(BUTTON_PIN); debouncer.interval(5); } void presentation() { // Register binary input sensor to gw (they will be created as child devices) // You can use S_DOOR, S_MOTION or S_LIGHT here depending on your usage. // If S_LIGHT is used, remember to update variable type you send in. See "msg" above. present(CHILD_ID, S_DOOR); } // Check if digital input has changed and send in new value void loop() { debouncer.update(); // Get the update value int value = debouncer.read(); if (value != oldValue) { // Send in the new value send(msg.set(value==LOW ? 1 : 0)); oldValue = value; } }

  • device-os

    Device OS (Firmware) for Particle Devices

    Project mention: 3rd party control? | reddit.com/r/EightSleep | 2023-03-25

    As a next step i'm going to patch the urls and try having it connect to a simple python script (and implement the protocol) / load the stm32 firmware into ghidra to do some reverse engineering. I think the protocol itself is this: https://github.com/particle-iot/device-os/blob/89029fb0faf4b7b6cfe91543181d457a0e24c572/communication/src/spark_protocol.cpp (but there's some inconsistencies so will need to do more research).

  • ArduinoMenu

    Arduino generic menu/interactivity system

    Project mention: a list of worldwide cities and ,GPS coordinatges and timezones | reddit.com/r/esp32 | 2023-03-21

    if i'll have to dedicate more space for configuration, that means going into a real state machine mode, where i'd need to toggle the entire display layout, i'm aware there are entire LCD menu frameworks, like this one: https://github.com/neu-rah/ArduinoMenu but that seems way to complex, (and in addition it's possible it's not compatibliy with my display library because all it's LCD exampels give outr missing LCD.h file error, and i can't replace this library as it's the only that can display hebrew )

  • ESPresense

    An ESP32 based presence detection node for use with the Home Assistant mqtt_room component for localized device presence detection.

    Project mention: Works when connected to PC not off of numerous power adapters | reddit.com/r/esp32 | 2023-05-27

    It's the ESPresence images, so i'd need to spelunk through their code to see.

  • okcash

    OK is the leading multi chain and energy friendly open source electronic cash, nobody owns or controls OK and everyone can take part. OK wallet integration/staging tree • Okcash

  • nanoprintf

    The smallest public printf implementation for its feature set.

    Project mention: Nanoprintf – The smallest public printf implementation for its feature set | news.ycombinator.com | 2023-03-27
  • SIM7000-LTE-Shield

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

    Project mention: Cheap options for connecting to cellular data in 2023? | reddit.com/r/arduino | 2023-04-22
  • dscKeybusInterface

    An Arduino/esp8266/esp32 library to directly interface with DSC security systems.

    Project mention: Upgrade from DSC Powerseries PC1555 | reddit.com/r/homesecurity | 2022-12-27

    Actually it's not "dated" as much as it's "timeless" :) Things get a lot easier with a serial cable and the DLS software. You can even build your own Envisalink like module that works with Home Assistant, for about $6, see: https://github.com/taligentx/dscKeybusInterface

  • EspMQTTClient

    Wifi and MQTT handling for ESP8266 and ESP32

    Project mention: Is there a lowish consistent wireless method for sending variables to an esp32? | reddit.com/r/esp32 | 2022-07-01

    For ESPs, the library EspMQTTClient makes it incredibly easy to manage Wifi and MQTT together (with reconnect, OTA, etc)

  • ArduinoWebsockets

    A library for writing modern websockets applications with Arduino (ESP8266 and ESP32) (by gilmaimon)

    Project mention: esp8266 websocket client will not connect no matter what | reddit.com/r/esp8266 | 2022-06-21
  • Sonar

    Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

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 2023-06-01.

C++ IoT related posts


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

Project Stars
1 IoT-For-Beginners 12,495
2 GuiLite 6,762
3 Oat++ 6,480
4 esphome 6,246
5 ArduinoJson 6,149
6 connectedhomeip 6,042
7 blynk-library 3,649
8 Serial-Studio 3,419
9 ESP32Marauder 2,404
10 griddb 2,080
11 uTensor 1,549
12 Sming 1,360
13 ESP32-Paxcounter 1,274
14 MySensors 1,263
15 device-os 1,030
16 ArduinoMenu 839
17 ESPresense 721
18 okcash 652
19 nanoprintf 504
20 SIM7000-LTE-Shield 468
21 dscKeybusInterface 425
22 EspMQTTClient 373
23 ArduinoWebsockets 367
Write Clean C++ Code. Always.
Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.