ModBee, homeTalk to us
Controller

Node UIO

Industrial I/O controller for DIN rail
Node UIO is the controller at the centre of the ModBee range. It is built on the ESP32-S3 and has 8 digital inputs, 8 digital outputs, 4 analog inputs, 2 analog outputs and two RS485 ports on plug-in terminals. HATs stack on top to add cellular, LoRa mesh radio or a mains power supply.
Available now. Online shop coming soon.
ModBee Node UIO controller in its DIN-rail enclosure
Overview

What it does

Program it in OpenPLC with ladder, function block diagram or structured text, or write your own firmware in Arduino or PlatformIO. ModBee libraries cover MQTT and Sparkplug B, Modbus, BeeBus, cellular and over-the-air updates.
Every input and output has its own LED, the terminals unplug for wiring, and solder bridges set the analog channels, RS485 termination and antenna without changing parts.

Features

  • 8 opto-isolated digital inputs, 5-24 V DC, in two groups of four with separate commons
  • Pulse counting on up to four inputs, and wake from deep sleep on any input
  • 8 opto-isolated sourcing MOSFET outputs: 100 mA each, or 500 mA each from a separate output supply
  • 4 analog inputs, 16-bit, 0-20 mA or 0-10 V per channel
  • 2 analog outputs, 15-bit, 0-10 V or 0-20 mA per channel
  • 2 RS485 ports with automatic direction control and selectable 120 Ω termination
  • 2.4 GHz Wi-Fi on a chip antenna, or an external antenna on the U.FL connector by moving one solder bridge
  • USB-C for programming, two Grove I2C ports, and LEDs on every input, output and RS485 line
Views

In the enclosure and on the bench

Node UIO in its enclosure, from the left
Node UIO in its enclosure, from the front
Node UIO with a HAT LoRa Mesh fitted
Node UIO board without its enclosure
Node UIO board from the front, showing the terminals
Node UIO with HAT LoRa Mesh, side view
Specifications

Technical details

Figures from the Rev 0.01 schematic and the hardware notes. The full pin map and solder bridge settings are in the hardware notes on GitHub.
Hardware notes
Node UIO specifications
ProcessorESP32-S3, dual-core 240 MHz, 512 KB SRAM, 4 MB flash, 2 MB PSRAM
Power supply5-24 V DC. The analog outputs need at least 9 V
Digital inputs8, opto-isolated, 5-24 V DC, 2 groups of 4 with separate commons
Digital outputs8, opto-isolated high-side MOSFET, 5-24 V, 100 mA each (500 mA with a separate supply)
Analog inputs4, 16-bit (ADS1115), 0-20 mA as shipped, 0-10 V by solder bridge, calibration stored on the board
Analog outputs2, 15-bit (GP8413), 0-10 V as shipped, 0-20 mA by solder bridge
Serial2 x RS485 (CH0 and CH1), half duplex, automatic direction, 120 Ω termination fitted, 1 kΩ fail-safe bias
WirelessWi-Fi 802.11 b/g/n, 2.4 GHz. Chip antenna as shipped, U.FL by solder bridge
Expansion2 stacking HAT headers, 2 Grove I2C ports (3.3 V)
USBUSB-C, native ESP32-S3 USB (serial and JTAG)
ProtectionResettable fuse, reverse-current diodes, USB ESD protection, clamped analog inputs
IndicatorsRGB status LED, power LED, LEDs on every input, output and RS485 TX/RX line. Reset, Boot and Wi-Fi buttons
TerminalsPlug-in: power, digital in, digital out, analog in, analog out, RS485
Mounting35 mm DIN rail enclosure, 118 x 58 x 45 mm
Wiring

Terminals and connections

All terminals are plug-in, so the board can be wired before it goes in and swapped without rewiring.
Power
VIN+ and GND, 5-24 V DC. USB-C powers the logic only, for programming on the bench.
Digital in
DI1-DI8 with commons COMA and COMB. An energised input reads on.
Digital out
DO1-DO8, sourcing from VSW. Up to 500 mA each from a separate supply.
Analog in
AI1-AI4. 0-20 mA as shipped; 0-10 V per channel by cutting a solder bridge.
Analog out
AO1 and AO2. 0-10 V as shipped; 0-20 mA per channel by solder bridge.
RS485
CH0 and CH1, A and B, with 120 Ω termination fitted on each port.
Connection diagram (full size)
Node UIO connection diagram showing every terminal and example wiring
Works with

Stack the HATs the site needs

HATs plug onto two 8-pin headers carrying power, I2C, a UART and both RS485 pairs. Fit one cellular HAT per stack; the LoRa Mesh HAT can share a stack with it. For sites with no power, the MPPT Charger and Battery Pack run the Node UIO from solar.
Software

Program it in OpenPLC or Arduino

OpenPLC

Install the ModBee Node UIO board package in the OpenPLC Editor and pick ModBee Node UIO as the target. The I/O is read and written by function blocks: a UIO block runs first in every scan, then DIGITAL_IN, your logic, DIGITAL_OUT, ANALOG_IN and ANALOG_OUT. Programs can be written in ladder, function block diagram or structured text.
ModBee OpenPLC libraries

Arduino and PlatformIO

Add the ModBeeNodeUIO library to the Arduino IDE or PlatformIO, choose the LOLIN S3 Mini board with USB CDC on boot enabled. The library has functions for the inputs, outputs, analog channels, pulse counters and sleep modes. The optional NodeWebUI library adds a live I/O web page.
Node UIO library on GitHub
The same board runs the ModBee MQTT and Sparkplug B, Modbus, BeeBus, GSM and OTA libraries, in OpenPLC or in your own firmware.
Downloads

Schematic and documents

Schematic

PDF, Rev 0.01, 694 KB
Download PDF

Connection diagram

Every terminal with example wiring
Open image

Hardware notes

Pin map, solder bridges, power and protection
Read the docs

Library and examples

ModBeeNodeUIO for Arduino and PlatformIO
View on GitHub

Need it built for your site?

We design custom hardware, white-label controllers, HMI panels and OpenPLC programs. Tell us what the site has to do.