Node UIO

Node UIO

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

ModBee Node UIO

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.

ModBee Node UIO

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

  1. Install the ESP32 core: Boards Manager, esp32 by Espressif Systems.
  2. Copy node-uio (and node-webUI if you want the web page) into your
    Arduino libraries folder.
  3. For node-webUI, install ArduinoJson, Async TCP and
    ESP Async WebServer (the ESP32Async versions) from the Library Manager.
  4. Select the LOLIN S3 Mini board, which uses the same ESP32-S3FH4R2, and
    set USB CDC On Boot to Enabled so that Serial is 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.

  • modbee-openplc: OpenPLC function
    blocks for this board, built on ModBeeNodeUIO
  • 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

Top Assembled
Connections With LoRa mesh HAT

Licence

AGPL-3.0, see LICENSE. Vendored third-party drivers under
node-uio/src/lib/ keep their own MIT licences.

Last updated 1 hour ago
Was this helpful?
Thanks!