Open-source iot software
797 open-source libraries, tools and applications tagged iot, ranked by how closely iot is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
797 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| custom-components/remote_homeassistant A Home Assistant custom integration that links multiple Home Assistant instances together over their WebSocket APIs. The main instance mirr… | 59 | 1276 | active |
| openBalena OpenBalena is an open-source platform for deploying and managing fleets of connected IoT devices running balenaOS, composed of backend serv… | 94 | 1275 | active |
| maxwroc/battery-state-card A custom Lovelace card for Home Assistant that displays battery levels from connected devices and entities. It offers filtering, sorting, a… | 87 | 1274 | active |
| klaasnicolaas/home-assistant-glow Home Assistant Glow is an open-source project that turns an ESP32/ESP8266 microcontroller with a photodiode into an energy meter reader for… | 93 | 1272 | active |
| project-akri/akri Akri is a Kubernetes Resource Interface, a CNCF Sandbox project written in Rust, that exposes heterogeneous edge leaf devices (IP cameras, … | 84 | 1264 | active |
| Scheduler A Lovelace custom card for Home Assistant that provides a UI for creating, editing, and managing time-based schedules for smart devices. It… | 92 | 1260 | active |
| makermoekoe/Picoclick-C3 Picoclick-C3 is an open-source tiny WiFi and BLE IoT button based on the ESP32-C3 RISC-V processor, available in standard and ultra-small (… | 32 | 1260 | active |
| denysdovhan/vacuum-card A custom Lovelace card for Home Assistant that displays the state of robot vacuum cleaners and provides controls like start, stop, pause, a… | 85 | 1257 | active |
| RAUC RAUC (Robust Auto-Update Controller) is an open-source update client and host tool for embedded Linux systems that manages fail-safe, atomi… | 83 | 1246 | stable |
| Z-Wave JS A full-featured Z-Wave control panel web UI and MQTT gateway built with Node.js and Vue/Vuetify. It lets users manage Z-Wave devices and br… | 93 | 1242 | active |
| Hypfer/esp8266-vindriktning-particle-sensor ESP8266 firmware that adds WiFi MQTT data logging to the Ikea VINDRIKTNING PM2.5 air quality sensor without interfering with its normal ope… | 32 | 1241 | active |
| peng-zhihui/ESP32-PicoDK An open-source miniature development board based on the ESP32-PicoD4 SiP module, including PCB design files, schematics, and documentation.… | 32 | 1236 | stable |
| witnessmenow/Universal-Arduino-Telegram-Bot An Arduino IDE library providing an interface to the Telegram Bot API, designed to work across multiple Arduino architectures such as ESP82… | 23 | 1234 | active |
| Duino-Coin Duino-Coin is a centralized, eco-friendly proof-of-work cryptocurrency (DUCO) designed to be mined with low-power devices such as Arduino b… | 66 | 1233 | active |
| Anashost/HA-Animated-cards A collection of customizable animated card templates for Home Assistant dashboards, covering appliances, battery status, environmental grap… | 61 | 1233 | active |
| EliasKotlyar/Xiaomi-Dafang-Hacks Custom firmware (CFW) for the Xiaomi Dafang, Xiaofang 1S, Wyzecam V2/Pan, and other Ingenic T10/T20-based IP cameras. It replaces the stock… | 32 | 4325 | maintenance |
| banto6/haier A Home Assistant custom integration (HACS-installable) that connects Haier smart home appliances to Home Assistant. It exposes Haier device… | 85 | 1229 | active |
| Mender Mender is an open-source over-the-air (OTA) software update client for IoT and embedded Linux devices, part of a client-server platform for… | 78 | 1227 | stable |
| mz-automation/libiec61850 libiec61850 is an open-source (GPLv3) C library implementing the IEC 61850 client and server protocols MMS, GOOSE, Sampled Values, and R-Se… | 82 | 1226 | stable |
| nordicsemi/Android-nRF-Toolbox An Android container app from Nordic Semiconductor that bundles demo applications for standard Bluetooth Low Energy profiles such as heart … | 93 | 1224 | active |
| simondlevy/TinyEKF TinyEKF is a lightweight, header-only C/C++ implementation of the Extended Kalman Filter designed for microcontrollers like Arduino and STM… | 63 | 1220 | stable |
| alexpfau/calendar-card-pro Calendar Card Pro is a custom Lovelace card for Home Assistant that displays upcoming calendar events in a sleek, highly customizable layou… | 86 | 1219 | active |
| SwitchBot Official documentation for the SwitchBot Open API v1.1, a REST API for controlling and monitoring SwitchBot smart home devices. It covers a… | 75 | 1217 | active |
| hivemq/hivemq-community-edition HiveMQ Community Edition is a Java-based open-source MQTT broker fully supporting MQTT 3.x and MQTT 5, serving as the foundation of the Hiv… | 88 | 1214 | active |
| RPi-Monitor/RPi-Monitor RPi-Monitor is a self-hosted application that performs real-time monitoring of embedded devices such as the Raspberry Pi. It includes an em… | 66 | 1212 | active |
| blinker-iot/blinker-nRF52 A Blinker support library for Nordic nRF52xx series chips, built on the nRF5 SDK v16.0.0 and nRF5 SDK for Mesh v4.0.0. It enables BLE 5.0 a… | 32 | 4234 | maintenance |
| Amazon Kinesis Video Streams Producer SDK A pure C WebRTC client SDK for Amazon Kinesis Video Streams that enables real-time audio/video communication between embedded devices and t… | 91 | 1209 | active |
| OwnTracks Recorder A lightweight C program that stores and serves location data published by OwnTracks mobile apps via MQTT or HTTP. It stores data in plain f… | 86 | 1207 | active |
| ESPSomfy RTS ESPSomfy-RTS is firmware for an ESP32 with a CC1101 433MHz transceiver that controls Somfy RTS motorized blinds and shades. It supports up … | 22 | 1206 | active |
| Versatile Thermostat Versatile Thermostat is a feature-rich custom component for Home Assistant that turns any heating or cooling equipment (radiators, AC units… | 95 | 1205 | active |
| e2002/yoradio yoRadio is open-source firmware for building an internet web-radio player on an ESP32 microcontroller, based on the ESP32-audioI2S and ESP3… | 49 | 1204 | active |
| Cylon.js Cylon.js is a JavaScript/Node.js framework for robotics, physical computing, drones, and IoT. It offers a unified robot definition API with… | 32 | 4209 | maintenance |
| weewx/weewx WeeWX is an open-source Python application that collects data from a wide variety of personal weather stations and sensors. It generates pl… | 94 | 1203 | stable |
| iRobot Roomba Control An unofficial Node.js SDK for controlling Wi-Fi enabled iRobot Roomba and Braava robots (i7, 980, 960, e5, 690, 675, m6, etc.) via the iRob… | 60 | 1202 | active |
| Kable Kable is a Kotlin Multiplatform library providing a Coroutines-powered API for interacting with Bluetooth Low Energy devices. It supports A… | 98 | 1201 | active |
| esp32cam-ready Firmware for ESP32-CAM modules that turns the device into an RTSP streaming camera server, HTTP Motion JPEG streamer, and HTTP snapshot ima… | 66 | 1196 | active |
| flixlix/power-flow-card-plus Power Flow Card Plus is a highly customizable Home Assistant Lovelace card that visualizes live (instantaneous) power flow between grid, so… | 76 | 1195 | active |
| G6EJD/ESP32-e-Paper-Weather-Display An Arduino/ESP32 firmware project that fetches weather data from the OpenWeatherMap API and renders it on Waveshare ePaper (e-ink) displays… | 72 | 1192 | active |
| custom-components/pyscript Pyscript is a Home Assistant custom integration (installable via HACS) that lets you write automations and logic as Python functions, with … | 90 | 1188 | active |
| usetrmnl/trmnl-firmware Open-source firmware for the TRMNL e-ink display device, written in C for embedded hardware. It handles Wi-Fi provisioning via a captive po… | 90 | 1188 | active |
| deviceplug/btleplug btleplug is an async Rust library for Bluetooth Low Energy (BLE) GATT access in host/central mode, supporting Windows, macOS, Linux, iOS, a… | 77 | 1183 | active |
| wind-c/comqtt Comqtt is a lightweight, high-performance MQTT broker written in Go supporting MQTT v3.0, v3.1.1, and v5.0. It can run as a standalone serv… | 87 | 1182 | active |
| nightscout/AndroidAPS AndroidAPS is an open-source automated insulin delivery (closed loop) system for people with type 1 diabetes, running on Android smartphone… | 94 | 1178 | active |
| OpenGemini openGemini is a cloud-native distributed time-series database written in Go, designed for storing and analyzing massive telemetry data such… | 78 | 1175 | active |
| FarmBot OS FarmBot OS (FBOS) is the operating system and related software that runs on FarmBot's Raspberry Pi, built with Elixir and the Nerves framew… | 84 | 1173 | active |
| andrew-codechimp/HA-Battery-Notes A Home Assistant custom integration that adds battery notes to devices, tracking battery type, replacement dates, low battery thresholds, a… | 94 | 1171 | active |
| majianjia/nnom NNoM is a high-level neural network inference library written in C for microcontrollers. It converts Keras models into optimized on-device … | 23 | 1170 | stable |
| espressif/esp-dl ESP-DL is Espressif's lightweight neural network inference framework for ESP-series chips, with a custom .espdl model format, quantization … | 69 | 1168 | active |
| me-no-dev/ESPAsyncWebServer An asynchronous web server library for ESP8266 and ESP32 microcontrollers, supporting WebSocket, Server-Sent Events, and event-driven reque… | 10 | 4044 | maintenance |
| TheThingsNetwork/lorawan-stack The Things Stack is an open source LoRaWAN network server written in Go, providing network, application, and join server components plus an… | 91 | 1163 | active |
| bluez/bluez BlueZ is the official Bluetooth protocol stack for Linux, providing the kernel interfaces, daemons, and command-line utilities for Bluetoot… | 89 | 1156 | stable |
| metartc/metaRTC MetaRTC is a pure C WebRTC SDK designed for embedded, IoT, and robotics devices, implementing a complete WebRTC protocol stack (ICE, DTLS/S… | 72 | 1151 | active |
| wuspy/portal_calendar A Portal-themed e-ink desk/wall calendar built on ESP32 hardware that runs for years on AAA batteries. It displays the date with Portal cha… | 51 | 1147 | active |
| ThingPulse/esp8266-weather-station An Arduino library for building ESP8266-based weather stations that fetches data from OpenWeatherMap, Aeris, and other weather APIs. It inc… | 23 | 1145 | active |
| hypery11/flipper-tesla-fsd An open-source Tesla CAN bus toolkit implemented as a Flipper Zero app with an ESP32 port, providing features like FSD region-gate bypass, … | 82 | 1141 | active |
| roleoroleo/yi-hack-Allwinner-v2 A custom firmware modification for Xiaomi Yi 1080p cameras built on the Allwinner SoC, replacing the stock cloud-dependent software with a … | 88 | 1140 | active |
| echavet/MitsubishiCN105ESPHome ESPHome custom component/firmware for ESP32/ESP8266 that lets a microcontroller talk to Mitsubishi heat pumps and air conditioners over the… | 85 | 1140 | active |
| diyBMS v4 Version 4 of a do-it-yourself battery management system (BMS) for lithium-ion battery packs and cells, including ESP32-based controller boa… | 44 | 1136 | active |
| koosoli/ESPHomeDesigner A visual drag-and-drop editor for designing display UIs for ESPHome, OpenEpaperLink, and OpenDisplay devices. It runs as a Home Assistant i… | 81 | 1132 | active |
| steve-community/steve SteVe is an open-source OCPP server implementation in Java for managing EV charging stations, charge points, user data, and RFID card authe… | 91 | 1128 | active |
| Kerberos Agent Kerberos Agent is an open-source, scalable video surveillance application written in Go with a React frontend, designed to connect to IP ca… | 95 | 1126 | active |
| s00500/ESPUI ESPUI is an Arduino-style C++ library that serves a web-based user interface from ESP8266 and ESP32 microcontrollers using websockets. It l… | 55 | 1126 | active |
| HiveMQ MQTT Client HiveMQ MQTT Client is a high-performance Java client library implementing MQTT 5.0 and MQTT 3.1.1 with reactive, asynchronous, and blocking… | 95 | 1125 | stable |
| DroneBridge DroneBridge for ESP32 is open-source firmware for ESP32 modules that provides a secure, transparent, bidirectional telemetry link between a… | 91 | 1120 | active |
| shmuelzon/home-assistant-floor-plan A plugin for Sweet Home 3D that generates 3D rendered floor plan panels for Home Assistant dashboards. It renders images of your home showi… | 76 | 1120 | active |
| ChirpStack ChirpStack is an open-source LoRaWAN Network Server written in Rust for setting up private or public LoRaWAN networks. It provides a multi-… | 94 | 1118 | stable |
| elax46/custom-brand-icons A custom icon pack plugin for Home Assistant that adds hundreds of brand and device icons (Philips Hue, Xiaomi, IKEA, and more) usable with… | 99 | 1117 | active |
| homebridge-plugins/homebridge-camera-ffmpeg A Homebridge plugin that exposes FFmpeg-based IP cameras to Apple HomeKit, streaming video and audio via RTSP or HTTP sources. It also supp… | 52 | 1115 | active |
| pageauc/speed-camera A Python3 and OpenCV application that turns a Raspberry Pi, Unix, or Windows computer with a Pi camera, USB webcam, or IP/RTSP camera into … | 75 | 1106 | active |
| revk/xESP32-Faikout Faikout is an ESP32-based hardware module and firmware that controls Daikin air conditioning units, allowing network-based management of th… | 10 | 1106 | active |
| contiki-os/contiki Contiki is an open source operating system for tiny low-power microcontrollers, providing standardized low-power wireless communication acr… | 32 | 3808 | maintenance |
| Anker Solix Home Assistant Integration A Home Assistant custom integration for Anker Solix power devices such as Solarbank, smart meters, and portable power stations, built on th… | 92 | 1103 | active |
| iioter/iotgateway IoTGateway is a cross-platform, B/S-architecture industrial IoT gateway built on .NET that connects southbound to industrial devices (PLCs,… | 70 | 1098 | active |
| EspressifApp/EsptouchForAndroid EspTouch is an Android library and app by Espressif that provisions ESP8266/ESP32 IoT devices by broadcasting the router's SSID and passwor… | 48 | 1098 | active |
| lwmqtt An Arduino library wrapping the lwmqtt MQTT 3.1.1 client with an Arduino-style API. It supports many Arduino-compatible boards and shields … | 65 | 1094 | stable |
| x-tools-author/x-tools xTools is an open-source, cross-platform Qt-based debugging tool-set for serial port, HID, BLE, UDP, TCP, WebSocket, Modbus, CAN Bus, MQTT,… | 84 | 1090 | active |
| dext0r/yandex_smart_home A Home Assistant custom component that exposes Home Assistant devices to Yandex Smart Home (Alice) and VK Marusia platforms. It lets users … | 90 | 1088 | active |
| espressif/esp-matter Espressif's official SDK for building Matter smart home products on ESP32 series SoCs. It wraps the open-source Matter SDK (connectedhomeip… | 77 | 1084 | active |
| rednblkx/HomeKey-ESP32 Firmware for ESP32 boards that implements Apple HomeKit lock functionality with support for Apple Home Key, enabling NFC-based door unlocki… | 83 | 1083 | active |
| slashback100/presence_simulation A Home Assistant integration that simulates occupancy while you are away by replaying historical on/off states of lights, switches, covers,… | 93 | 1080 | active |
| dingjikerbo/Android-BluetoothKit An Android BLE Bluetooth communication library that wraps the native Android Bluetooth API with a simple client interface. It supports devi… | 32 | 3702 | maintenance |
| particle-iot/device-os The open-source Device OS firmware for Particle IoT devices, providing the operating system, hardware abstraction layer, cloud communicatio… | 89 | 1078 | active |
| NVIDIA/jetson-gpio A Python library for controlling the GPIO pins on NVIDIA Jetson development boards (TX1, TX2, AGX Xavier, Nano, etc.) via their 40-pin head… | 71 | 1077 | stable |
| ThingLinks IoT Platform ThingLinks is an enterprise-grade, multi-tenant SaaS IoT platform built on Spring Cloud microservices with a Netty/BifroMQ-based engine sup… | 82 | 1076 | active |
| jeffbass/imagezmq imageZMQ is a set of Python classes that transport OpenCV images between computers using PyZMQ messaging. It enables distributed computer v… | 58 | 1073 | stable |
| gopcua/opcua A native Go implementation of the OPC/UA Binary Protocol for industrial automation communication. It provides client and server functionali… | 96 | 1069 | active |
| berry-lang/berry Berry is an ultra-lightweight dynamically typed embedded scripting language written in ANSI C99, designed for low-performance embedded devi… | 66 | 1069 | active |
| vsergeev/c-periphery A small MIT-licensed C library providing userspace access to Linux peripheral I/O interfaces including GPIO, LED, PWM, SPI, I2C, MMIO, and … | 44 | 1068 | stable |
| adafruit/Adafruit_Sensor Adafruit Unified Sensor is an Arduino/C++ abstraction layer providing a common Adafruit_Sensor base class and standardized sensors_event_t … | 66 | 1067 | stable |
| zigpy Zigpy is a Python library implementing a Zigbee stack, and zha-device-handlers provides custom 'quirks' that bridge non-standard Zigbee dev… | 98 | 1064 | active |
| UnchartedBull/OctoDash OctoDash is a touchscreen-optimized dashboard UI for OctoPrint, built with TypeScript/Angular, that runs on a Raspberry Pi attached to a 3D… | 92 | 1063 | active |
| Bluetooth jammer An ESP32 firmware project that uses NRF24L01 radio modules to generate 2.4GHz noise signals that jam Bluetooth and WiFi devices. It include… | 10 | 1063 | active |
| ESP-Hosted ESP-Hosted is an open-source solution that lets Espressif SoCs like the ESP32 act as wireless communication co-processors, adding Wi-Fi and… | 79 | 1061 | active |
| cgiesche/streamdeck-homeassistant A Stream Deck plugin that lets users control and monitor Home Assistant entities directly from Elgato Stream Deck buttons and dials. It dis… | 87 | 1058 | active |
| AWS IoT Device SDK for Embedded C AWS's official C SDK for connecting embedded devices to AWS IoT, composed of modular libraries like coreMQTT, coreHTTP, coreJSON, and coreP… | 54 | 1058 | active |
| exein-io/pulsar Pulsar is a modular, eBPF-powered runtime security and observability tool for Linux devices, written in Rust and designed for IoT and edge … | 87 | 1054 | active |
| espressif/ESP8266_RTOS_SDK Espressif's official FreeRTOS-based software development kit for the ESP8266 chip, written in C and following the esp-idf style API. It pro… | 60 | 3576 | maintenance |
| walkor/GatewayWorker GatewayWorker is a PHP framework built on Workerman for rapidly developing long-connection applications using a Gateway/Worker process mode… | 35 | 1048 | stable |
| mobilityhouse/ocpp A Python package implementing the JSON version of the Open Charge Point Protocol (OCPP), supporting OCPP 1.6, 2.0.1, and Edition 3. It prov… | 82 | 1043 | active |
| goburrow/modbus A fault-tolerant, fail-fast Go library implementing the Modbus protocol over TCP and serial (RTU/ASCII) transports. It provides a client AP… | 23 | 1042 | stable |