ModBee Node UIO
Firmware libraries and hardware documentation for the ModBee Node UIO, an
ESP32-S3 industrial I/O module for 35 mm DIN rail: 8 digital inputs, 8 digital
outputs, 4 analog inputs, 2 analog outputs, 2 RS485 ports, Wi-Fi, Grove I2C
and stackable HAT headers.

What is here
| Folder | What it is |
|---|---|
| node-uio | ModBeeNodeUIO, the board library: I/O, pulse counting, HAT power, Wi-Fi bring-up, sleep and wake, the I2C expansion bus. Also the hardware documentation, schematic and photos. |
| node-webUI | NodeWebUI, an optional web page showing the board's live I/O, with an analog calibration editor. Depends on ModBeeNodeUIO. |
Start with node-uio/README.md. The reference documents are:
Quick start
#include <NodeUioAPI.h>
void setup() {
uio().begin();
}
void loop() {
uio().update();
bool on = false;
uio().digitalIn(0, on); // DI01
uio().setDigitalOut(0, on); // DO01
}
Installing
Both libraries live in subfolders of this repository, so neither the Arduino
Library Manager nor a plain PlatformIO git URL can install them directly.
Arduino IDE
- Install the ESP32 core: Boards Manager, esp32 by Espressif Systems.
- Copy
node-uio(andnode-webUIif you want the web page) into your
Arduinolibrariesfolder. - For
node-webUI, install ArduinoJson, Async TCP and
ESP Async WebServer (the ESP32Async versions) from the Library Manager. - Select the LOLIN S3 Mini board, which uses the same ESP32-S3FH4R2, and
set USB CDC On Boot to Enabled so thatSerialis the USB port.
The ESP32 core already provides Wire, Preferences and WiFi. Do not
install libraries of those names from the Library Manager.
PlatformIO
Clone this repository and point lib_deps at the folders:
[env:node_uio]
platform = espressif32
board = lolin_s3_mini
framework = arduino
build_flags =
-D ARDUINO_USB_MODE=1
-D ARDUINO_USB_CDC_ON_BOOT=1
lib_deps =
symlink:///path/to/modbee-node-uio/node-uio
symlink:///path/to/modbee-node-uio/node-webUI ; optional
node-webUI pulls in its own dependencies from the PlatformIO registry. Each
folder also has a platformio.ini that builds its example.
Related repositories
- modbee-openplc: OpenPLC function
blocks for this board, built onModBeeNodeUIO - modbee-hats: HATs for the Node UIO:
LTE, Cat-M/NB-IoT, LoRa mesh, AC/DC power - modbee-modbus: Modbus library,
for example over the RS485 ports - modbee-protocol: the ModBee
RS485 / UDP mesh protocol
Photos
![]() |
![]() |
![]() |
![]() |
Licence
AGPL-3.0, see LICENSE. Vendored third-party drivers under
node-uio/src/lib/ keep their own MIT licences.



