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 |
|---|---|---|---|
| milesburton/Arduino-Temperature-Control-Library DallasTemperature is a robust Arduino library for interfacing with Maxim (Dallas) 1-Wire temperature sensor ICs such as the DS18B20, DS18S2… | 73 | 1041 | stable |
| EMS-ESP EMS-ESP is open-source firmware for the ESP32 microcontroller that communicates with EMS and Heatronic compatible heating equipment from Bo… | 94 | 1034 | active |
| EMS-ESP EMS-ESP is open-source firmware for the ESP32 microcontroller that communicates with EMS (Energy Management System) and Heatronic compatibl… | 94 | 1034 | active |
| David00/rpi-power-monitor A Raspberry Pi-based power monitoring application combining custom hardware and Python software to measure home electricity consumption, so… | 64 | 1034 | active |
| SoftRF SoftRF is a DIY, multi-functional sub-1 GHz ISM band radio proximity awareness system for general aviation, compatible with protocols like … | 95 | 1031 | active |
| alienatedsec/yi-hack-v5 Custom open-source firmware for Xiaomi Yi cameras based on the Hi3518ev200 chipset, adding a free RTSP server, ONVIF support, MQTT motion d… | 23 | 1025 | active |
| syssi/esphome-jk-bms An ESPHome external component that monitors and controls Jikong (JK) Battery Management Systems over UART-TTL or Bluetooth LE. It exposes B… | 87 | 1024 | active |
| openHASP openHASP is open-source firmware that turns ESP32 or STM32 boards with commodity touchscreens into customizable smart home control panels. … | 67 | 1024 | active |
| BottlecapDave/HomeAssistant-OctopusEnergy An unofficial Home Assistant custom integration for Octopus Energy UK accounts. It brings electricity and gas meter data, tariffs, intellig… | 98 | 1022 | active |
| neu-rah/ArduinoMenu A generic menu and interactivity library for the Arduino framework, supporting menus, submenus, input fields, and event-driven handlers acr… | 64 | 1022 | active |
| SwiCago/HeatPump An Arduino library for controlling Mitsubishi heat pumps over the CN105 connector using serial communication. It lets microcontrollers like… | 32 | 1020 | active |
| lumapu/ahoy AhoyDTU is open-source firmware for ESP32/ESP8266 that communicates with Hoymiles microinverters via radio (NRF24/CMT2300A), providing a lo… | 38 | 1019 | active |
| noble/noble Noble is a Node.js library for acting as a Bluetooth Low Energy (BLE) central device, enabling scanning, connecting to, and interacting wit… | 10 | 3456 | maintenance |
| rmqtt/rmqtt RMQTT is a scalable, distributed MQTT message broker written entirely in safe Rust, supporting MQTT v3.1/v3.1.1/v5.0 with millions of concu… | 97 | 1017 | active |
| ekutner/home-connect-hass An alternative Home Connect integration for Home Assistant that connects BSH smart appliances (Bosch, Siemens, Constructa, Neff). It dynami… | 86 | 1016 | active |
| tinygo-org/bluetooth A cross-platform Bluetooth Low Energy (BLE) package for Go and TinyGo, supporting both BLE Central and Peripheral roles. It runs on Linux, … | 88 | 1012 | active |
| SCADA-LTS/Scada-LTS Scada-LTS is an open-source, web-based, multi-platform SCADA (Supervisory Control and Data Acquisition) system written in Java. It lets use… | 62 | 1012 | active |
| tapparelj/gr-lora_sdr A GNU Radio module implementing a fully functional software-defined radio LoRa transceiver in C++, covering complete transmit and receive c… | 56 | 1011 | active |
| ElegantOTA ElegantOTA is an Arduino library that adds over-the-air (OTA) firmware and filesystem update capabilities to wireless microcontrollers like… | 83 | 1010 | active |
| chipweinberger/flutter_blue_plus A Flutter plugin for discovering, connecting to, and communicating with Bluetooth Low Energy (BLE) devices. It supports Android, iOS, macOS… | 98 | 1006 | active |
| Gruppio/Sonoff-Homekit Open-source firmware that makes Sonoff WiFi smart switches natively compatible with Apple HomeKit, running directly on the ESP8266/ESP32 ch… | 36 | 1005 | active |
| MangoAutomation/modbus4j modbus4j is a high-performance, easy-to-use Java implementation of the Modbus protocol supporting ASCII, RTU, TCP, and UDP transports in bo… | 58 | 1003 | stable |
| joBr99/nspanel-lovelace-ui Custom firmware for the Nextion display inside Sonoff NSPanel wall panels that replicates Home Assistant's Lovelace UI design, flashed via … | 79 | 997 | active |
| lgaches/BeaconEmitter BeaconEmitter is a macOS application that turns a Mac into an iBeacon emitter, broadcasting its presence to nearby Bluetooth Low Energy (BL… | 23 | 997 | active |
| brutella/hkcam hkcam is an open-source implementation of a HomeKit IP camera that turns a Raspberry Pi or Mac with a camera into an Apple HomeKit-compatib… | 23 | 996 | active |
| jacksonliam/mjpg-streamer A lightweight command-line streaming tool that copies JPEG frames from input plugins (webcams, Raspberry Pi camera, files, OpenCV) to outpu… | 32 | 3254 | maintenance |
| eclipse-paho/paho.mqtt.golang The Eclipse Paho MQTT 3.1/3.1.1 client library for Go, enabling applications to connect to an MQTT broker to publish messages and subscribe… | 67 | 3131 | maintenance |
| eclipse-paho/paho.mqtt.android Eclipse Paho Android Service is an MQTT client library written in Java for Android applications, supporting MQTT 3.1/3.1.1 with features li… | 32 | 3101 | maintenance |
| starRTC StarRTC is a free cross-platform real-time communication SDK and self-hostable server suite providing instant messaging, one-to-one video c… | 23 | 3075 | maintenance |
| mpaland/printf A tiny, dependency-free, thread-safe printf/sprintf/(v)snprintf implementation in a single C file, designed for embedded systems where libc… | 23 | 3062 | maintenance |
| ESPurna ESPurna is open-source firmware for ESP8266/ESP8285-based smart switches, lights, and sensors, supporting over 125 devices with sensor inte… | 57 | 3054 | maintenance |
| GavinYellow/SharpSCADA A lightweight C# SCADA framework and industrial gateway for .NET Framework that supports major industrial protocols like Modbus, Siemens S7… | 32 | 3041 | maintenance |
| miguelbalboa/rfid An Arduino library for driving MFRC522-based RFID reader modules over SPI, supporting reading and writing MIFARE Classic and related cards.… | 60 | 3035 | maintenance |
| ha-fusion ha-fusion is a modern, performant custom dashboard for Home Assistant built with Svelte. It can be deployed as a Home Assistant add-on or v… | 55 | 3010 | maintenance |
| esp-link esp-link is ESP8266 firmware that turns the module into a transparent WiFi-to-serial bridge for attached microcontrollers. It also provides… | 23 | 3009 | maintenance |
| scottlawsonbc/audio-reactive-led-strip A real-time music visualizer that drives WS2812B LED strips using Python for audio capture and FFT-based signal processing, with an ESP8266… | 56 | 2987 | maintenance |
| evancohen/smart-mirror A DIY voice-controlled smart mirror application that displays information and controls IoT smart devices, typically running on a Raspberry … | 76 | 2819 | maintenance |
| SmartThingsCommunity/SmartThingsPublic The open-source repository of SmartApps and Groovy Device Type Handlers (DTHs) for the SmartThings home automation platform, written in Gro… | 32 | 2661 | maintenance |
| iotsound/iotsound IoTSound (formerly balenaSound) is a deployable application that turns a Raspberry Pi into an audio streamer for existing speakers, support… | 42 | 2625 | maintenance |
| apple/HomeKitADK Apple's open-source HomeKit Accessory Development Kit implementing the HomeKit Accessory Protocol (HAP) in C. It lets developers prototype … | 10 | 2618 | maintenance |
| Project Flogo Project Flogo is an ultra-light, Go-based open source ecosystem for building event-driven applications using triggers and actions. It suppo… | 23 | 2489 | maintenance |
| armink/EasyFlash EasyFlash is a lightweight open-source embedded Flash storage library written in C, providing key-value (ENV) parameter storage with wear l… | 24 | 2371 | maintenance |
| OOMWOO OOMWOO is an open-source DIY robot vacuum cleaner built with a Raspberry Pi, ESP32, Arduino, 3D-printed chassis, and 2D LiDAR for SLAM-base… | 59 | 12221 | experimental |
| microsoft/ELL ELL (Embedded Learning Library) is a C++ library and toolset from Microsoft Research for designing and deploying machine-learned models ont… | 10 | 2302 | maintenance |
| eclipse-paho/paho.mqtt.java The Eclipse Paho Java Client is an MQTT client library for the JVM and Android, providing both asynchronous (MqttAsyncClient) and synchrono… | 23 | 2297 | maintenance |
| stianeikeland/go-rpio A pure-Go library for accessing GPIO pins on Raspberry Pi boards without external C dependencies like WiringPI or bcm2835. It supports pin … | 23 | 2291 | maintenance |
| ha0y/xiaomi_miot_raw A Home Assistant custom integration that connects Xiaomi/Mijia smart home devices via the MIoT protocol, supporting both local (LAN) and cl… | 23 | 2173 | maintenance |
| noble/bleno A Node.js library for implementing Bluetooth Low Energy (BLE) peripheral devices, letting JavaScript code advertise services and characteri… | 10 | 2140 | maintenance |
| andrewjfreyer/monitor A shell-based application that performs passive Bluetooth Low Energy (BTLE) presence detection of beacons, cell phones, and other Bluetooth… | 23 | 2116 | maintenance |
| FIRMADYNE FIRMADYNE is an automated, scalable platform for emulating and dynamically analyzing Linux-based embedded firmware using QEMU with instrume… | 32 | 2114 | maintenance |
| sui77/rc-switch An Arduino library (also usable on Raspberry Pi) for sending and receiving 315/433MHz radio-controlled codes to operate devices like power … | 23 | 2088 | maintenance |
| Dwains Dashboard Dwains Lovelace Dashboard (DD3) is a fully auto-generating Home Assistant UI dashboard for desktop, tablet, and mobile, installed via HACS.… | 94 | 2076 | maintenance |
| Fullive-AI/Anima Anima is an open-source Agent OS that gives home hardware perceptive, decision-making, and learning AI capabilities by connecting devices t… | 55 | 639 | active |
| Lora-net/LoRaMac-node A reference implementation of a LoRaWAN end-device (node) stack written in C, with example projects for various MCU platforms. It implement… | 23 | 1997 | maintenance |
| armink/FreeModbus_Slave-Master-RTT-STM32 An open-source Modbus protocol stack based on FreeModbus that adds a master mode to the traditionally slave-only library, supporting RTU, A… | 23 | 1992 | maintenance |
| jishi/node-sonos-http-api A Node.js HTTP API bridge for controlling Sonos speakers, exposing simple REST-style endpoints for play, pause, volume, grouping, and prese… | 25 | 1963 | maintenance |
| UsbSerial A Java library providing USB serial port communication for Android devices, supporting common USB-to-serial chips like FTDI, CP210x, PL2303… | 23 | 1952 | maintenance |
| home-assistant/supervised-installer A shell-based installer that sets up Home Assistant Supervised on a generic Debian Linux system, providing the full Home Assistant experien… | 75 | 1935 | maintenance |
| uTensor uTensor is an extremely lightweight machine learning inference framework built on TensorFlow and optimized for Arm Cortex-M microcontroller… | 28 | 1933 | maintenance |
| sandeepmistry/arduino-LoRa An Arduino library for sending and receiving data over LoRa radios using Semtech SX1276/77/78/79-based modules. It provides a simple API fo… | 32 | 1925 | maintenance |
| shzlw/zeu Zeu.js is a JavaScript library offering a collection of prebuilt canvas-based visualization components such as meters, clocks, and network … | 23 | 1911 | maintenance |
| johnwheeler/flask-ask Flask-Ask is a Flask extension that simplifies building Alexa Skills for Amazon Echo devices in Python. It maps Alexa intents to view funct… | 32 | 1910 | maintenance |
| aholstenson/miio A JavaScript library and CLI for controlling Xiaomi Mi Home devices that speak the miIO protocol, such as robot vacuums, air purifiers, sma… | 23 | 1906 | maintenance |
| novastone-media/MQTT-Client-Framework A native Objective-C MQTT client framework for iOS, macOS, and tvOS built on CFNetwork with CoreData persistence. It fully implements MQTT … | 23 | 1880 | maintenance |
| peng-zhihui/Peak Peak is a tiny smart terminal device kit: a portable ESP32-based firmware and hardware project integrating the LVGL graphics framework, an … | 32 | 1841 | maintenance |
| kalliope-project/kalliope Kalliope is a modular, always-on voice-controlled personal assistant framework written in Python, designed to run on Linux systems includin… | 23 | 1784 | maintenance |
| samtap/fang-hacks A collection of shell-script-based modifications for the XiaoFang WiFi camera, delivered via a bootable SD card that runs scripts on the de… | 23 | 1714 | maintenance |
| bjoernkarmann/project_alias Project Alias is an open-source Raspberry Pi-based device that acts as a 'parasite' on smart home assistants, letting users train custom wa… | 32 | 1698 | maintenance |
| microsoft/EdgeML A library from Microsoft Research India implementing resource-efficient machine learning algorithms (Bonsai, ProtoNN, FastGRNN, EMI-RNN, DR… | 23 | 1687 | maintenance |
| TheCrypt0/yi-hack-v4 Custom firmware for Xiaomi Yi cameras based on the Hi3518e chipset, adding an RTSP server, SSH, FTP, web server, and MQTT motion detection … | 23 | 1640 | maintenance |
| IanHarvey/bluepy bluepy is a Python library providing an API to access Bluetooth Low Energy (BLE) devices on Linux, built around a C helper binary (bluepy-h… | 32 | 1633 | maintenance |
| ispysoftware/iSpy iSpy is an open source video surveillance application for Windows that connects to webcams and IP cameras, providing live viewing, motion d… | 59 | 1627 | maintenance |
| Mixiaoxiao/Arduino-HomeKit-ESP8266 An Arduino library implementing a native Apple HomeKit accessory server for the ESP8266 (with an ESP32 variant), allowing microcontroller p… | 23 | 1612 | maintenance |
| DT42/BerryNet BerryNet is a deep learning gateway that turns edge devices like Raspberry Pi into intelligent, offline AI hubs for analyzing camera images… | 23 | 1611 | maintenance |
| marcelstoer/nodemcu-pyflasher A self-contained GUI flasher for NodeMCU/ESP8266 (and ESP32) firmware built on esptool.py and wxPython. It ships as a standalone executable… | 23 | 1601 | maintenance |
| silvanmelchior/RPi_Cam_Web_Interface A PHP-based web interface for controlling the Raspberry Pi Camera module. It provides live streaming, motion detection, time-lapse capture,… | 32 | 1599 | maintenance |
| joan2937/pigpio pigpio is a C library for the Raspberry Pi that provides fine-grained control of GPIO pins, including PWM, servo pulses, callbacks, and sof… | 23 | 1594 | maintenance |
| SuperHouse/esp-open-rtos An open source FreeRTOS-based software framework for the ESP8266 WiFi microcontroller, developed by the community as an alternative to Espr… | 23 | 1583 | maintenance |
| waveform80/picamera A pure Python interface to the Raspberry Pi camera module, supporting Python 2.7+ and 3.2+. It provides APIs for capturing still images and… | 32 | 1575 | maintenance |
| eclipse-paho/paho.mqtt.embedded-c The Eclipse Paho MQTT C/C++ client library for embedded platforms, offering low-level MQTT packet serialization plus higher-level C and C++… | 60 | 1545 | maintenance |
| hybridgroup/artoo Artoo is a Ruby micro-framework for robotics, drones, and IoT physical computing, providing a DSL for connecting to hardware like Arduino, … | 23 | 1541 | maintenance |
| tasmota/tasmotizer Tasmotizer is a Python-based flashing tool for installing Tasmota firmware on ESP8266 devices, built on top of Espressif's esptool. It prov… | 23 | 1541 | maintenance |
| S-March/smarchWatch_Public An open-source DIY smartwatch project built from scratch by an electrical engineer, including custom PCB designs and firmware written in C … | 32 | 1535 | maintenance |
| gtxaspec/wz_mini_hacks A firmware modification toolkit for Ingenic T20/T31 based Wyze IP cameras that provides root access and extra features via a micro-SD card,… | 67 | 1533 | maintenance |
| ChirpStack v3 ChirpStack Network Server is an open-source LoRaWAN network server written in Go, responsible for handling and de-duplicating uplink data f… | 10 | 1513 | maintenance |
| tinyos/tinyos-main TinyOS is an open-source BSD-licensed operating system for low-power wireless embedded devices, written primarily in nesC. This repository … | 10 | 1500 | maintenance |
| opcua-asyncio A pure Python implementation of the OPC-UA (IEC 62541) protocol providing both client and server libraries with high-level and low-level AP… | 95 | 1497 | maintenance |
| ni-c/heimcontrol.js Heimcontrol.js is a self-hosted home automation application built with Node.js that runs on a Raspberry Pi. It provides a web interface for… | 10 | 1435 | maintenance |
| ortuman/jackal Jackal is a free, open-source, high-performance XMPP (Jabber) instant messaging server written in Go. It emphasizes stability, simple confi… | 10 | 1429 | maintenance |
| m5stack/M5Stack The official Arduino library for M5Stack Core (Basic/Gray) ESP32 development kits, providing access to the LCD, buttons, speaker, power man… | 45 | 1409 | maintenance |
| lukevink/hass-config-lajv A personal Home Assistant configuration repository featuring a heavily customized, picture-elements-based Lovelace UI with a dynamic 3D flo… | 32 | 1405 | maintenance |
| xiaoyaoyou1212/BLE An Android BLE (Bluetooth Low Energy) operation framework written in Java that simplifies device communication with a callback-based API. I… | 32 | 1399 | maintenance |
| homieiot/homie-esp8266 An Arduino framework for ESP8266 and ESP32 that implements the Homie MQTT convention for IoT devices. It provides configuration, OTA update… | 51 | 1373 | maintenance |
| uraimo/SwiftyGPIO SwiftyGPIO is a Swift library for hardware projects on Linux/ARM single-board computers like the Raspberry Pi, BeagleBone, and Orange Pi. I… | 32 | 1366 | maintenance |
| whitecatboard/Lua-RTOS-ESP32 Lua RTOS is a real-time operating system for embedded systems (ESP32, ESP8266, PIC32MZ) built on FreeRTOS with a Lua 5.3 interpreter on top… | 64 | 1334 | maintenance |
| RUB-SysSec/DroneSecurity A proof-of-concept receiver and decoder for DJI's Drone-ID protocol broadcast over OcuSync 2.0, developed for an NDSS 2023 paper. It decode… | 32 | 1321 | maintenance |
| tass-belgium/picotcp picoTCP is a small-footprint, modular TCP/IP stack written in C for embedded systems and IoT devices. It is portable to many microcontrolle… | 23 | 1312 | maintenance |
| Vu1nT0tal/IoT-vulhub A collection of Docker-based environments for reproducing IoT firmware vulnerabilities, inspired by the Vulhub project. It uses binwalk for… | 23 | 1298 | maintenance |
| neonious/lowjs low.js is an open-source port of the Node.js JavaScript runtime rebuilt with far lower system requirements, running on POSIX systems (Linux… | 32 | 1287 | maintenance |
| fusesource/mqtt-client A Java MQTT client library providing blocking, futures-based, and callback APIs for MQTT publish/subscribe messaging. It handles automatic … | 32 | 1276 | maintenance |