p.enthalabs

GitHub - emqx/thing-loom: Build real, connected hardware from one prompt.

ThingLoom

[](https://github.com/emqx/thing-loom#thingloom) Chinese version

> **Build your smart home with one prompt.**

ThingLoom turns a natural-language request into a verified, working path from a physical sensor to a live dashboard. An agent guides the wiring, generates the firmware, flashes the board, provisions secure messaging, and checks a real reading before calling the project complete.

Why ThingLoom

[](https://github.com/emqx/thing-loom#why-thingloom)

Building even a small smart-home device usually means stitching together board drivers, firmware, Wi-Fi, MQTT, TLS, cloud credentials, and a dashboard. Most tutorials stop after generating code. ThingLoom packages that knowledge into reusable agent skills and treats **real telemetry from real hardware** as the definition of done.

The goal is not another IoT framework. It is the shortest reliable path from an idea to a connected device:

``` One prompt -> wire the sensor -> generate and flash firmware -> publish over secure MQTT -> verify the real message -> open a live dashboard -> store and explore history (TODO) ```

Before you start

[](https://github.com/emqx/thing-loom#before-you-start)

Bring an ESP32 development board, a supported sensor such as a DHT22 or BH1750FVI, a USB data cable, jumper wires, and access to a 2.4 GHz Wi-Fi network. That is enough to begin. Choose the disposable Zero EMQX environment for a quick demo, or connect your own MQTT broker for an existing deployment. If you need a reliable long-term broker but do not have one, create an EMQX Cloud Serverless or Dedicated Flex deployment.

Try a project

[](https://github.com/emqx/thing-loom#try-a-project) Start with either verified end-to-end skill:

Temperature and humidity

[](https://github.com/emqx/thing-loom#temperature-and-humidity)

git clone https://github.com/emqx/thing-loom.git cd thing-loom/dht22 codex

Then ask:

``` Build me a temperature and humidity monitor. ```

The skill takes the project through wiring, broker setup, firmware compilation and flashing, MQTT verification, and a local or remote live dashboard. See the DHT22 project for hardware and security details.

Ambient light

[](https://github.com/emqx/thing-loom#ambient-light)

cd thing-loom/bh1750 codex

Then ask:

``` Build me an ambient-light monitor. ```

The BH1750FVI project follows the same verified path and publishes real illuminance readings in lux.

The toolchain

[](https://github.com/emqx/thing-loom#the-toolchain) | Tool | Role | | --- | --- | | Agent Skills | Turn a prompt into a repeatable hardware workflow. | | Arduino CLI | Compile, flash, and monitor ESP32 firmware. | | EMQX Cloud | Create a managed Serverless or Dedicated Flex broker when you do not already have one. | | Zero EMQX | Create an isolated, disposable MQTT namespace with authenticated MQTTS and WSS transport. | | MQTTX CLI | Independently verify that the device message reached MQTT. | | Cloudflare Workers Static Assets | Publish the live browser dashboard when a remote URL is requested. | | EMQX Tables | **TODO:** persist, query, and visualize device telemetry as time-series data. |

From a first reading to a lasting smart home

[](https://github.com/emqx/thing-loom#from-a-first-reading-to-a-lasting-smart-home) Zero EMQX is designed for prototypes, demos, and first-run validation. Its namespaces expire automatically and the service provides no SLA, so it should not carry production traffic.

When your device needs persistent credentials, long-term operation, an SLA, or production capacity, use your own broker or create an EMQX Cloud deployment. Choose **Serverless** for a simple usage-based start, or **Dedicated Flex** for dedicated resources, higher performance, and enterprise capabilities. EMQX Tables then keeps MQTT telemetry in the same managed platform for historical queries, analytics, and visualization.

Principles

[](https://github.com/emqx/thing-loom#principles)

- A generated project is not complete until a real device publishes a valid reading.

- Credentials stay in local, Git-ignored files and are never printed in chat or logs.

- One proven vertical slice comes before a generic device framework or a catalog of sensors.

Roadmap

[](https://github.com/emqx/thing-loom#roadmap)

- ESP32-C6 + DHT22 -> secure MQTT -> live dashboard

- ESP32-C6 + BH1750FVI -> secure MQTT -> live dashboard

- MQTT -> EMQX Tables time-series storage

- Historical charts, alerts, and long-running smart-home deployments

- More verified sensor skills

Build our intelligent world together

[](https://github.com/emqx/thing-loom#build-our-intelligent-world-together)

Every proven skill can turn another maze of wiring, firmware, protocols, and cloud services into one simple request. Bring a sensor, an idea, or a working end-to-end path—and help make technology feel less like configuration and more like creation.

Use the skill contribution template to add a proven hardware-to-dashboard path of your own.

> **Join us. Let complex work begin with one sentence.**

License

[](https://github.com/emqx/thing-loom#license) MIT