The first three posts covered the system and each module. This one collects the specifications and covers expansion.

The finished units with covers fitted

The finished form: covers fitted, mounted on the rail.

The four modules as built

The same units with the covers off - the four boards as actually manufactured and populated.

Full specifications

GO-Pi-Zero-MGO-SUB-CB08GO-SUB-AD04GO-SUB-DA04
Rolemain, commsrelay, contactsanalog inputanalog output
Size75.0 × 81.551.0 × 81.551.0 × 81.551.0 × 81.5
Layers4444
Parts170162121135
Nets1161129195
MCUcompute moduleRP2040RP2040RP2040
Channels4 out + 4 in4 in (16-bit)4 out
Terminals2-pin power, 3-pin RS-4855-pin ×26-pin ×26-pin ×2
Addressrotary ×2rotary ×1rotary ×1rotary ×1

Common to all:

  • 81.5 mm tall, four-layer
  • 16-pin module bus (CAN 2 · I2C 4 · address 2 · power 4 · ground 4)
  • 24 V input, isolated at the main board and distributed as +5V and +3V3
  • Sub-modules take firmware over USB individually

How many can be chained

The connector is not the limit. The J4/J5 daisy chain continues indefinitely. Two other things set the real limit.

First, CAN bus loading. More nodes means revisiting termination and bus length. The wiring is short inside one enclosure, but the polling interval matters more as nodes are added.

Second, the 5 V current budget. The isolated DC-DC on the main board supplies 5 V at 1.2 A. How many modules fit depends on what each draws, calculated for the worst case where all relays energise at once.

If that runs out, feed power again partway along the rail, or fit a higher-rated isolated module — the same footprint is available at other ratings.

Designing a new module

Three rules are enough to fit an existing system.

  1. 81.5 mm tall. The width follows the function
  2. Keep the 16-pin bus. Same pin assignment, same receive-on-J4 pass-on-J5 arrangement
  3. Fit an address switch. Several of the same module must be able to coexist

The MCU and CAN section can be taken straight from an existing sub-module. All three already share it, and only the function block differs.

Checking the boards against the design

We compared the silkscreen on the manufactured boards against the net names in the design files.

Board silkscreen   CAN_H  CAN_L  SCL  SDA  RESET  3.3V  +5V  ADDRESS
Design file        CAN_H  CAN_L  O_I2C_SCL  O_I2C_SDA  O_I2C_RESET  +3V3  +5V  BCD

The bus signals and power labels match the design. The parts are fitted as drawn — the main board’s isolated supply is the VRB2405YMD-6WR3 at 5 V 1.2 A, and CB08 has its four relays in place.

Summary

Three things are fixed in this system — 81.5 mm tall, the 16-pin bus, and an MCU on every module. Everything else follows the function.

Run short of channels and you add a module; need a function that does not exist and you build one to those three rules. Never having to redesign the system from scratch is why it was split into modules.


🔧 GO Modular IO series: Part 1 — the system · Part 2 — the main module · Part 3 — the three sub-modules · Part 4 — specs and expansion

Contact