ThingsBoard is an open‑source IoT platform that enables device management, data collection and processing, and visualization through dashboards. Its goal is to provide a server open‑source service, on‑premise or cloud, to drive IoT applications flexibly. This open‑source solution aims to meet the needs of supervision, stream processing, and control of connected infrastructures. In this review we analyse its features, use‑cases, and relevance for professionals.
What problems does ThingsBoard solve?
Many organisations look for an open‑source alternative to commercial IoT platforms that are often expensive. They want an open‑source platform capable of handling a large number of devices, using standard protocols such as MQTT, CoAP, or HTTP, and offering maximum flexibility. They also want to avoid vendor lock‑in, reduce licence costs, and retain full control of their data while benefiting from an active open‑source community.
Key features and capabilities
Below is an overview of the main capabilities of ThingsBoard:
- Interface and visualization
Customizable dashboards with more than 30 default widgets (charts, gauges, maps, etc.)
Ability to create custom widgets through an editor
Multi‑tenant: supports installations with several tenants
- Performance and scalability
- Optional micro‑services architecture to scale the system
- High fault‑tolerance: automatically detects failing nodes, no single master, data redundancy via a NoSQL database
- Scalable deployment: can grow horizontally by adding servers without downtime
- Optional micro‑services architecture to scale the system
Customization
- Very flexible rule engine: you can define data processing chains (rule chains) with drag‑and‑drop
- Integration of new protocols: besides MQTT, CoAP, HTTP, you can create custom transports
- ThingsBoard IoT Gateway written in Python to integrate legacy devices (Modbus, CAN, BACnet, OPC‑UA, REST…) with ThingsBoard
- Very flexible rule engine: you can define data processing chains (rule chains) with drag‑and‑drop
Security
- Encryption of MQTT and HTTP(S) transports
- Device authentication / credential management
- Access control, role management per tenant
- Encryption of MQTT and HTTP(S) transports
- Entity management
- Provisioning and management of devices, assets, and their relationships (e.g., device → asset → customer hierarchy)
- RPC (Remote Procedure Call) exchange between server and devices for commands and control
- Alarm management: trigger alerts based on telemetry, inactivity, attributes, etc.
- Provisioning and management of devices, assets, and their relationships (e.g., device → asset → customer hierarchy)
- Data processing
- Real‑time processing via rule chains: normalization, enrichment, alarm triggering, forwarding to external systems
- Event‑driven actions: rule chains, workflows, APIs, notifications
- Real‑time processing via rule chains: normalization, enrichment, alarm triggering, forwarding to external systems
Installation: how to install and configure ThingsBoard
A typical installation procedure is:
- Download the desired version
- The Community Edition (free, open‑source) can be obtained from the official website.
- Professional (PE), cloud, Edge, etc., editions are also available.
- The Community Edition (free, open‑source) can be obtained from the official website.
- Choose a deployment mode
- Monolithic: for starters or simple environments.
- Micro‑services: for high availability and scalability.
- Installation options include Docker, Kubernetes, or direct installation on Linux/Windows.
- Monolithic: for starters or simple environments.
- Configure the database
- Choose between pure SQL or hybrid (SQL + NoSQL) for telemetry storage.
- Set up replication if required.
- Choose between pure SQL or hybrid (SQL + NoSQL) for telemetry storage.
- Enable security
- Configure encryption for MQTT/HTTP communications.
- Implement device authentication.
- Define roles and access rights per tenant/team.
- Configure encryption for MQTT/HTTP communications.
- Add your devices
- Use the REST API or MQTT/CoAP connectors to register devices.
- For legacy devices, deploy the ThingsBoard IoT Gateway (Python) to connect via Modbus, OPC‑UA, BACnet, etc.
- Use the REST API or MQTT/CoAP connectors to register devices.
- Create dashboards
- Use the web UI to build dashboards, select widgets, and customize the layout.
- Define rule chains for data processing and alarm/action triggering.
- Use the web UI to build dashboards, select widgets, and customize the layout.
- Production rollout
- If needed, migrate to a micro‑services architecture, set up backups, monitor performance, and tune resources.
Typical use cases
ThingsBoard is employed in many professional scenarios.
In agriculture it gathers environmental data and triggers alerts when thresholds are exceeded. In fleet tracking it centralises vehicle telemetry and displays real‑time positions. In energy or infrastructure management it collects meter data, detects anomalies, and provides operator‑ready interfaces. In industrial settings this open‑source solution integrates easily thanks to the gateway and industrial protocols, making it a favourite among engineers.
Comparison with alternatives
| Feature | ThingsBoard | OpenRemote | Mainflux |
|---|---|---|---|
| Open source | ✅ (Apache 2.0) | ✅ (AGPL v3) | ✅ (Apache 2.0) |
| Supported protocols | MQTT, CoAP, HTTP | MQTT, HTTP, Modbus, BACnet, etc. | MQTT, HTTP, CoAP |
| Architecture | Monolith / micro‑services | Flow‑oriented / workflow‑centric, better for automation & business logic | Micro‑services, high‑performance IoT backend |
| Visualisation / dashboards | Yes, very rich (customizable widgets) | UI, workflows, dashboards | Limited; often paired with Grafana |
| Rules / automation | Yes, a very flexible rule engine | Yes, business workflows & automation logic | Less focused on complex automation; more a messaging/data‑management backend |
| Typical use cases | Smart energy, agriculture, fleet tracking, industrial IoT | Smart buildings, process automation, energy, smart cities | Industrial IoT, massive ingestion, micro‑services backend |
Advantages and disadvantages
| Advantages | Disadvantages |
|---|---|
| ✅ Completely free and open‑source platform | ❌ Learning curve: the rule engine and configuration can be complex for beginners |
| ✅ Highly customizable : widgets, rules, connectors, gateway | ❌ Community support can be limited compared to commercial vendors; some users report installation difficulties (“the documentation feels really outdated”) |
| ✅ Scalable via micro‑services, high fault tolerance | ❌ Advanced features (PE / professional edition) are paid |
| ✅ Security well‑handled (encryption, authentication) | ❌ Requires substantial server resources for large‑scale deployments |
| ✅ Built‑in multi‑tenant architecture, useful for SaaS IoT apps | ❌ Admin UI can appear dense and confusing for non‑technical users |
| ✅ IoT Gateway for legacy system integration (Modbus, BACnet…) | ❌ Advanced analytics may be limited without extra modules |
Conclusion
ThingsBoard is a robust solution suited for developers, system administrators, and IT teams seeking a complete open‑source platform to run their IoT projects. Its flexibility, rule engine, scalability, and the richness of its open‑source community make it a strategic choice for modern infrastructures. It is especially recommended when total data ownership, customization, and scalability are priorities. For simpler needs or ultra‑rapid deployments, other tools might fit better, but ThingsBoard remains one of the top options for demanding professional projects.