Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

🌐 IoTflow

A Simple, Scalable Automation Engine

Official Website

🌱 Make Things Happy Platform Philosophy

Modern prototyping tools make it easy to build a demo but extremely hard to transition that prototype into a stable, maintainable industrial product. Teams often redesign hardware from the ground up after using Raspberry Pi, Arduino, or similar prototyping boards, a costly and time-consuming process that burdens long-term support.

The Make Things Happy platform eliminates this gap by standardizing I/O hardware through the IoTextra module family and providing two clear integration paths:

IoTbase for full-featured, serial-ready solutions using SoMs, and IoTsmart for compact wireless MCU nodes. All modules are Open Hardware, well-documented, and usable independently.

To unify these hardware options on the software side, we created IoTflow, a lightweight orchestration layer that defines message topology, automation behavior, and Node-RED communication patterns. IoTflow enables predictable, scalable automation across diverse modules without requiring custom firmware for each device.

🧩 What Is IoTflow?

IoTflow is a lightweight workflow orchestration system designed to unify automation across IoTextra Digital, Analog and Combo I/O modules and IoTsmart or IoTbase MCU nodes.

It enables no-code programming for distributed MCU nodes, providing a consistent structure for MQTT-based communication and Node-RED automation.

IoTflow is not firmware itself, it is an orchestration layer that defines:

  • Message topology
  • Workflow behavior
  • Automation patterns
  • Topic conventions
  • Node-RED flow organization

This ensures reliable, scalable, and easily maintainable automation across multiple IoTextra, IoTsmart and IoTbase devices.


πŸ› οΈ Supported Hardware

Microcontrollers and System On Modules (SoM)

  • IoTbase PICO - Compatible with Raspberry Pi Pico, Pico 2, Pico W, Pico 2W, Waveshare ESP32-S3 PICO
  • IoTbase NANO - Arduino Nano ESP32 or ESP32-S3 or Waveshare ESP32-S3 Nano
  • IoTbase Feather - Coming Soon
  • IoTsmart ESP32-S3 - Tiny Adaptor Board with Cable is required for flashing
  • IoTsmart RP2040 or IoTsmart RP2350A - Tiny Adaptor Board with Cable is required for flashing
  • IoTsmart XIAO - Supports multiple Seeed XIAO-compatible SoMs β€” Coming Soon

IoTsmart modules are System-on-Module (SOM) microcontroller boards that provide the primary compute and control functionality for the system. Each module integrates a complete MCU environment, and different form factors (soldered SoM, slot-based modules such as the IoTsmart XIAO, etc.) are treated as implementation variations rather than separate device classes.

Carrier Board Software Compatibility

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 β€” β€”
IoTsmart RP2350A β€” β€”
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

Legend:

  • Open β€” available, click to open
  • β€” β€” not applicable
  • πŸ”Ά β€” Coming Soon
  • πŸ”² β€” Planned

Supported IoTextra Board Categories

Digital I/O Boards

Analog I/O Boards

  • IoTextra Analog
  • IoTextra Analog2 β€” Coming Soon
  • IoTextra Analog3 β€” Coming Soon
  • Custom analog mezzanines

Combo I/O Boards

  • IoTextra Combo
  • IoTextra Combo2 β€” Coming Soon
  • Custom combo mezzanines

IoTextra Node-RED Compatibility

IoTextra Module Node-RED Blynk
Input Example Example
Relay πŸ”² πŸ”²
Relay2 Example Example
SSR Small Example Example
MOSFET2 Example Example
Quadro πŸ”² πŸ”²
Octal Example Example
Octal2 Example Example
Octal3 Example Example
Analog Example Example
Analog2 πŸ”² πŸ”²
Analog3 Example Example
Combo Example Example
Combo2 πŸ”² πŸ”²

Legend:

  • Example β€” available, click to open
  • πŸ”Ά β€” Coming Soon
  • πŸ”² β€” Planned

IoTextra Tasmota Compatibility

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 πŸ”Ά
Relay πŸ”² πŸ”² πŸ”² πŸ”² πŸ”²
Relay2 Template πŸ”Ά πŸ”Ά Template Template
SSR Small Template πŸ”Ά πŸ”Ά Template πŸ”Ά
MOSFET2 Template πŸ”Ά πŸ”Ά Template πŸ”Ά
Quadro Template πŸ”² πŸ”² πŸ”² πŸ”²
Octal Template πŸ”Ά πŸ”Ά Template Template
Octal2 Template πŸ”Ά πŸ”Ά Template Template
Octal3 Template πŸ”² πŸ”² Template πŸ”²
Analog Template πŸ”Ά πŸ”Ά Template Template
Analog2 πŸ”² πŸ”² πŸ”² πŸ”² πŸ”²
Analog3 Template πŸ”Ά πŸ”Ά Template Template
Combo Template πŸ”Ά πŸ”Ά Template Template
Combo2 πŸ”² πŸ”² πŸ”² πŸ”² πŸ”²

Legend:

  • Template β€” available, click to open
  • πŸ”Ά β€” Coming Soon
  • πŸ”² β€” Planned

πŸš€ Supported IIoT Workflows

IoTflow is optimized for:

  • MQTT-driven event automation
  • Multi-module digital, analog and combo I/O routing
  • Structured topic hierarchies for distributed MCU nodes
  • Node-RED automation flows (import-ready)
  • State-change event pipelines
  • Raspberry Pi, Linux gateways, and ESP32-S3 edge automation
  • Consistent MCU-to-gateway communication patterns

These workflows allow developers to build stable systems without custom firmware logic for each device.


🧱 Node-RED Flow & Event-Driven Automation Structure

IoTflow provides import-ready Node-RED flows demonstrating how to implement reliable, event-driven automation across IoTextra and IoTsmart modules:

The flows demonstrate:

  • State-change detection and conditional logic
  • Input β†’ event β†’ output control logic and mapping
  • MQTT communication handling and topic parsing
  • Multi-device orchestration and routing patterns
  • Timed action automations, triggers, notifications and actuator chains
  • Integration of IoTextra Digital, Analog and Combo modules with IoTsmart and IoTbase MCU nodes

Event-Driven Automation Examples

Examples are stored inside the repository:

/Node-RED Examples/

These flows are compatible with any Node-RED environment and illustrate how to structure topics, triggers, and actions for predictable, scalable automation. Ideal for learning and rapid prototyping.

IoTextra Node-RED Compatibility

IoTextra Module Node-RED Blynk
Input Example Example
Relay πŸ”² πŸ”²
Relay2 Example Example
SSR Small Example Example
MOSFET2 Example Example
Quadro πŸ”² πŸ”²
Octal Example Example
Octal2 Example Example
Octal3 Example Example
Analog Example Example
Analog2 πŸ”² πŸ”²
Analog3 Example Example
Combo Example Example
Combo2 πŸ”² πŸ”²

Legend:

  • Example β€” available, click to open
  • πŸ”Ά β€” Coming Soon
  • πŸ”² β€” Planned

πŸ”— MQTT Workflow Automation

MQTT is the core transport layer used by IoTflow.

Features include:

  • Well-defined, hierarchical MQTT topics
  • Event-driven reporting from IoTsmart and IoTbase nodes
  • Structured commands for digital, analog and combo I/O
  • Consistent multi-module routing
  • Compatibility with Mosquitto, EMQX, Aedes, and similar brokers

This repository does not provide standalone MQTT client code, only the automation structure used to implement workflows.


πŸ“₯ Installation & Quick Start

See full setup instructions in:

πŸ“„ SETUP.md

Quick Start

  1. Clone or download this repository.
  2. Upload IoTflow Kernel MicroPython files to your MCU (via Thonny or any IDE).
  3. Use IoTflow Forge to configure workflow parameters and module definitions.
  4. Ensure an MQTT broker is active on your network.
  5. Install Node-RED on your gateway (Raspberry Pi or Linux host).
  6. Import flows from /Node-RED Examples/.
  7. Configure MQTT topics, device IDs, and automation logic.
  8. Deploy to activate automation.

IoTflow is intentionally lightweight and compatible with any MQTT + Node-RED stack.


Demo Videos


πŸ“ Folder Structure

IoTflow/
 β”œβ”€ Documentation/
 β”œβ”€ IoTflow Forge/
 β”œβ”€ IoTflow Kernel/
 β”œβ”€ Node-RED Examples/
 β”œβ”€ node-red-contrib-iotextra/
 └─ Media/

Directory Overview


πŸ”— Reference Materials

GPIO Examples for Device Integration

GPIO reference examples for IoTextra and IoTsmart will be added in future updates by the development team.

These examples are not yet part of the hardware repositories.

Pinout Diagrams (MCU Hosts)

Available inside each IoTsmart module folder:

  • RP2040/docs/
  • RP2350A/docs/
  • ESP32-S3/docs/

SKU & Ordering Files

(Located in each repository root.)

Node-RED Flow Library


πŸ”„ Planned Updates

Future additions may include:

  • Extended automation templates
  • Expanded MQTT topic models
  • Enhanced IoTextra module integration
  • Secure MQTT authentication options
  • Additional distributed workflow examples

All updates will follow the unified documentation and versioning model.


πŸ“œ Licensing

All IoTflow code, documentation, and media are licensed under:

πŸ“„ LICENSE

Hardware licenses do not apply, this is a software-only repository.

About

IoTflow is a comprehensive software platform designed to provide a unified framework for managing Input/Output modules within the Internet of Things (IoT) and Industrial Internet of Things (IIoT) ecosystem

Topics

Resources

Contributing

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /