Introduction
ThingsBoard is a Java-based IoT platform that handles the full lifecycle of connected devices — from provisioning and data ingestion to real-time processing and visualization. It is designed for both small deployments and large-scale multi-tenant installations.
What ThingsBoard Does
- Connects devices via MQTT, CoAP, HTTP, LwM2M, and SNMP transport protocols
- Collects telemetry data and stores it in PostgreSQL, Cassandra, or TimescaleDB
- Provides a drag-and-drop dashboard builder with 30+ widget types
- Executes automation logic through a visual rule engine with message routing
- Supports multi-tenancy with isolated customer hierarchies and role-based access
Architecture Overview
ThingsBoard runs as a monolithic Java application or as a microservices cluster. The transport layer accepts device connections and forwards telemetry to the rule engine via an internal message queue (in-memory, Kafka, or RabbitMQ). The rule engine processes messages through configurable node chains that can filter, transform, enrich, and trigger actions like alarms or REST callbacks. The web UI is an Angular application served by the same backend.
Self-Hosting & Configuration
- Deploy via Docker Compose for single-node setups or Helm charts for Kubernetes
- Choose a database backend: PostgreSQL for entities, Cassandra or TimescaleDB for time-series
- Configure device transport protocols in thingsboard.yml
- Set up HTTPS with a reverse proxy (Nginx or Traefik) for production
- Scale horizontally by splitting into transport, rule-engine, and web-ui microservices
Key Features
- Visual rule engine with 30+ processing nodes for complex event-driven automation
- OTA firmware update management for device fleets
- Edge computing support with ThingsBoard Edge for offline-capable gateways
- White-labeling and custom theming for reseller and enterprise deployments
- REST API and WebSocket API for integration with external systems
Comparison with Similar Tools
- Home Assistant — consumer-focused home automation; ThingsBoard targets industrial IoT with multi-tenancy
- Node-RED — flow-based wiring tool; ThingsBoard adds device management, dashboards, and tenant isolation
- AWS IoT Core — managed cloud service; ThingsBoard is fully self-hosted with no vendor lock-in
- Grafana + InfluxDB — strong for visualization; ThingsBoard adds device provisioning and rule engine out of the box
FAQ
Q: Is the open-source edition production-ready? A: Yes. The Community Edition includes the full rule engine, dashboards, and device management. The PE edition adds advanced features like scheduler and CSV export.
Q: What databases does it support? A: PostgreSQL for entities and either PostgreSQL, Cassandra, or TimescaleDB for time-series telemetry storage.
Q: Can devices connect behind NAT? A: Yes. MQTT and CoAP are device-initiated protocols, so devices behind NAT connect outbound to the broker without port forwarding.
Q: How many devices can a single instance handle? A: A single node on modest hardware can handle tens of thousands of devices. For larger fleets, the microservices architecture scales horizontally.