IoThome is a standalone Tasmota ecosystem that integrates IoTextra I/O boards, IoTbase carrier boards, and IoTsmart wireless nodes into a ready-to-run smart home automation system — without writing firmware from scratch.
It runs entirely on-device. No external server, hub, or cloud dependency is required. Every node operates autonomously and locally.
Modern prototyping tools make it easy to build a demo but extremely hard to turn that prototype into a stable, maintainable product. Teams often redesign hardware from the ground up after using Raspberry Pi, Arduino, or similar boards — a costly and time-consuming process that burdens long-term support.
The Make Things Happy platform eliminates the prototype-to-production gap by standardizing I/O hardware through the IoTextra module family and providing two clear integration paths: IoTbase for full-featured solutions using SoMs, and IoTsmart for compact wireless nodes. All modules are Open Hardware, well-documented, and usable independently.
IoThome unifies these hardware options for smart home users through a consistent software layer on top of Tasmota.
IoThome is a software layer that sits on top of Tasmota and the IoTextra hardware family. It provides ready-to-use Berry drivers, Tasmota templates, and automation scripts so you can go from hardware assembly to a running smart home node without writing firmware from scratch.
IoThome is not a cloud service and is not locked to a specific microcontroller. The same workflow applies whether you use ESP32-S3–based IoTsmart modules or any ESP32-based IoTbase configuration.
| Layer | Role |
|---|---|
| IoTextra modules | Standardized I/O hardware (analog inputs, digital I/O, relays, etc.) |
| Tasmota | Open-source ESP32 firmware — connectivity, OTA updates, MQTT, and the local web interface |
| IoThome Berry Drivers & Application Scripts | Application-level logic running on-device inside Tasmota — no server needed |
| IoThome Templates | Pre-configured GPIO mappings for each supported IoTextra module |
A typical IoThome node follows five steps from hardware to running automation:

See the complete setup walkthrough in the Setup Guide (~20–30 minutes from unboxing to a running node).
| Carrier Board | IoTflow (Node-RED) | IoThome (Tasmota) |
|---|---|---|
| IoTbase PICO + Waveshare ESP32-S3-Pico | 🔶 Coming Soon | 🔶 Coming Soon |
| IoTbase PICO + Waveshare ESP32-C6-Pico | 🔶 Coming Soon | 🔶 Coming Soon |
| IoTbase PICO + RP2040 | Open | — |
| IoTbase PICO + RP2350 | Open | — |
| IoTbase NANO + Waveshare ESP32-S3-NANO | Open | Open |
| IoTbase Feather + Adafruit ESP32-C6 Feather | 🔶 Coming Soon | 🔶 Coming Soon |
| IoTbase Feather + FeatherS3[D] ESP32-S3 | 🔲 Planned | 🔲 Planned |
| IoTsmart RP2040 | Open | — |
| IoTsmart RP2350A | Open | — |
| IoTsmart ESP32-S3 | Open | Open |
| IoTsmart XIAO + XIAO RP2350 | 🔶 Coming Soon | — |
| IoTsmart XIAO + XIAO ESP32-S3 | 🔶 Coming Soon | 🔶 Coming Soon |
| IoTsmart XIAO + XIAO ESP32-C5 | 🔲 Planned | 🔲 Planned |
| IoTsmart XIAO + XIAO ESP32-C6 | 🔲 Planned | 🔲 Planned |
Digital I/O
Analog & Combo
| IoTextra Module | IoTsmart ESP32-S3 | IoTsmart XIAO + XIAO ESP32-S3 | IoTbase PICO + Waveshare ESP32-S3-Pico | IoTbase NANO + Waveshare ESP32-S3-NANO | IoTbase Feather + Adafruit ESP32-C6 Feather |
|---|---|---|---|---|---|
| Input | Template | 🔶 | 🔶 | Template | 🔶 |
| Relay2 | Template | 🔶 | 🔶 | Template | Template |
| SSR Small | Template | 🔶 | 🔶 | Template | 🔶 |
| MOSFET2 | Template | 🔶 | 🔶 | Template | 🔶 |
| Quadro | Template | 🔲 | 🔲 | 🔲 | 🔲 |
| Octal | Template | 🔶 | 🔶 | Template | Template |
| Octal2 | Template | 🔶 | 🔶 | Template | Template |
| Octal3 | 🔲 | 🔲 | 🔲 | 🔲 | 🔲 |
| Analog | Template | 🔶 | 🔶 | Template | Template |
| Analog2 | 🔲 | 🔲 | 🔲 | 🔲 | 🔲 |
| Analog3 | Template | 🔶 | 🔶 | Template | Template |
| Combo | Template | 🔶 | 🔶 | Template | Template |
| Combo2 | 🔲 | 🔲 | 🔲 | 🔲 | 🔲 |
Tasmota is the communication and management backbone of IoThome. It handles Wi-Fi connectivity, OTA firmware updates, MQTT publishing, and the local web interface — all out of the box.
IoThome provides:
autoexec.be application scripts for common automation scenarios (e.g. Smart Farm)Tasmota’s MQTT output is compatible with Home Assistant, Node-RED, Blynk, and any standard MQTT broker including Mosquitto, EMQX, and Aedes.
IoThome ships with a Smart Farm reference application — a real-world Berry automation script for irrigation control. It reads soil moisture and analog sensor channels on a configured interval, drives relay outputs when thresholds are crossed, and logs every event. The control loop runs entirely on-device: if the MQTT broker goes offline, irrigation keeps running.
A complete node pairs an IoTbase NANO or IoTsmart ESP32-S3 module with the IoTextra Combo mezzanine — analog inputs for sensors, digital outputs for relay coils, wired to solenoid valves. Setup takes under 30 minutes.
Everything is open and available on GitHub:
Stop rebuilding your smart home projects. Start building systems that last.