Open Source IoT Platforms & Protocols
A collection of open-source tools, resources, and platforms for building Internet of Things (IoT) solutions.
Resources & Aggregators
- Postscapes IoT Open Source Awards
- 67 Open Source Tools for IoT (TechBeacon)
- Eclipse IoT Industry Working Group
IoT Protocols
- HTTP RESTful: Standard web interface for IoT.
- MQTT (Message Queuing Telemetry Transport): Lightweight publish/subscribe messaging.
- WebSocket: Full-duplex communication over a single TCP connection.
- CoAP (Constrained Application Protocol): Wikipedia
- Eclipse Californium: Java implementation of CoAP.
Major IoT Platforms
IoTivity
- iotivity/iotivity
- License: Apache 2.0 | Language: C++, C, Java, Python | Tech: OCF Standards
- IoTivity is an open-source framework implementing Open Connectivity Foundation (OCF) standards for secure device-to-device communication.
Eclipse Mosquitto
- eclipse/mosquitto
- License: EPL 2.0 / EDL 1.0 | Language: C, C++ | Tech: MQTT Broker
- An open-source message broker that implements the MQTT protocol (versions 5.0, 3.1.1, and 3.1).
ThingsBoard
- thingsboard/thingsboard
- License: Apache 2.0 | Language: Java | Tech: Spring Boot, NoSQL (Cassandra/PostgreSQL)
- Device management, data collection, processing, and visualization. Supports multi-tenancy and horizontal scalability.
Kaa IoT Platform
- kaaproject/kaa
- License: Apache 2.0 | Language: Go, Java, TypeScript | Tech: Microservices, Digital Twins
- A highly flexible middleware platform for developing end-to-end IoT solutions, featuring device management and data analytics.
Mainflux (Now Magistrala)
- mainflux/mainflux
- License: Apache 2.0 | Language: Go | Tech: Docker, Microservices
- Industrial IoT messaging and device management server designed to be highly secure and scalable.
Apache iota (Incubating)
- Apache iota
- Language: Python (Django), Scala (Spark) | Tech: Spark, Redis, Kafka, CockroachDB
- Built to ingest, analyze, and orchestrate IoT data in a highly distributed and performant fashion.
Specialized Tools & Frameworks
Project Flogo
- tibcosoftware/flogo
- License: BSD-3-Clause | Language: Go | Tech: Serverless, Edge computing
- An open-source ecosystem dedicated to simplifying the creation of event-driven, serverless functions and edge microservices.
OpenThread
- openthread/openthread
- License: BSD-3-Clause | Language: C++ | Tech: Thread Networking Protocol
- OpenThread is an open-source implementation of the Thread networking protocol by Google, targeted at connected home/building products.
Eclipse Kapua
- Eclipse Kapua
- Tech: Java, Modular IoT Cloud
- A modular IoT cloud platform to manage and integrate devices and their data efficiently.
Thinger.io
- thinger-io/thinger.io
- License: MIT | Language: C++ (Client lib) | Tech: Cloud IoT Platform
- Helps users prototype, scale, and manage connected products with bidirectional communication tools.
Self-Hosted / Service Categories
- Self-host: Hosting the entire platform on private infrastructure.
- Self-service: Managed platforms with self-service capabilities.
- Self-center / Self-iot: Focus on user-centric or decentralized IoT models.