Overview

EQXRA82 Datasheet

8× Relay and 2× Analog Output Expansion Module for the EQSP32 IIoT PLC Controller.

Datasheet v1.0Rev 093026
EQXRA82 DIN-rail expansion module for the EQSP32 Industrial IoT PLC, featuring eight electromagnetic relay outputs and two calibrated 0-10 V analog outputs, front USB-C firmware update port, status indicators and industrial screw terminals.

Overview

The EQXRA82 is a relay and analog-output expansion module designed to extend the EQSP32 Industrial IoT controller with both switching and proportional control capabilities. Each module adds 8 electromagnetic relay outputs and 2 calibrated 0–10 V analog output channels, combining ON/OFF switching and proportional control in a single DIN-rail module.

The relay section provides 8 SPST-NO outputs for switching external control circuits and automation loads, with each contact rated up to 5 A at 250 VAC or 3 A at 30 VDC. Relay 1 and Relay 2 have independent common terminals, while Relays 3 to 8 are arranged in shared-common pairs for compact wiring. All relay contacts are potential-free dry contacts.

The analog output section provides 2 calibrated 0–10 V channels driven directly in millivolts. In AOUT mode each new value is applied immediately and independently per channel, while in SAOUT mode values are staged and applied synchronously to both channels when the application sends the apply trigger. Each output includes hardware overcurrent and short-circuit protection, together with firmware-monitored diagnostic feedback that detects overvoltage, short-circuit and output deviation conditions and reports them per channel.

Relay operation is supervised by the module firmware. The relay coil supply is continuously measured and reported, and supply undervoltage or overvoltage and loss of communication move all outputs to a safe state in which the relay coils are de-energised and both analog outputs are forced to 0 mV. The optional relay and analog output command watchdogs move only the outputs they supervise to that state. Because these faults clear the requested output states, the outputs remain in the safe state after the fault clears until the application issues new commands. An analog output deviation fault latches until the application re-arms the channel, while analog output overvoltage and short-circuit faults retain the commanded value and restore it automatically once the fault clears.

Like all EQX expansion modules, the EQXRA is housed in a DIN-rail mount enclosure and is powered and controlled through the EQSP32 board-to-board expansion connector. The module is automatically detected and indexed by the EQSP32 upon power-up, and firmware updates are performed through the front-facing USB-C port.

Integration is further simplified through the EQSP32 library and EQ-AI generative AI model, allowing relay outputs, analog outputs, feedback and status values to be driven with minimal development effort. This makes the EQXRA an ideal solution for automation panels that need both ON/OFF switching and proportional 0–10 V control.

Key Features

Relay Outputs

  • 8× electromagnetic SPST-NO relay outputs, potential-free dry contacts
  • Relay contacts rated 5 A at 250 VAC or 3 A at 30 VDC
  • Independent common terminals on Relay 1 and Relay 2
  • Shared-common pairs on Relays 3 to 8 for compact wiring

Analog Outputs

  • 2× calibrated 0–10 V analog output channels
  • Millivolt-based analog output control, 0 to 10000 mV, 12-bit DAC
  • AOUT immediate update mode, applied independently per channel
  • SAOUT synchronous update mode, applied on an application trigger
  • Analog output feedback readable per channel in millivolts

Protection & Supervision

  • Hardware overcurrent and short-circuit protection on both analog outputs
  • Firmware-detected analog output overvoltage, short-circuit and deviation faults with automatic overvoltage and short-circuit recovery and latched deviation protection
  • Configurable output deviation detection, per channel, enabled by default at 250 mV / 500 ms
  • Relay coil supply monitoring with undervoltage and overvoltage safe-state handling, supply voltage readable in millivolts
  • Three independent watchdogs: system (communication), relay command, and per-channel analog output command, plus an internal hardware watchdog as a safety backstop
  • Safe-state handling: relay coils de-energised and analog outputs forced to 0 mV
  • System and per-channel analog output status reporting, identifying which channel and which fault without external sensors

System & Integration

  • Automatic module detection and indexing by EQSP32
  • Powered through the EQSP32 board-to-board expansion connector (24 V nominal supply required on the EQSP32, 19 V minimum for relay operation)
  • Front-facing USB-C port for firmware updates
  • LED indicators for power and module status
  • Up to 15 EQXRA on each EQSP32 controller
  • Generative AI coding assistant trained with EQSP32 Library and EQXRA features

Enclosure & Environment

  • Compact, 3SU-wide (54 mm), DIN-rail mount enclosure with 17 screw terminals for industrial control cabinets
  • IP20 protection and −20 °C to +55 °C operating ambient temperature

Applications

  • HVAC control and building automation
  • Pump, fan and compressor control
  • Valve and damper actuator control
  • VFD speed references and motor control signals
  • Lighting stages and load switching
  • Alarm, signalling and interlock circuits
  • Water and wastewater treatment systems
  • Process and machine control panels
  • Mixed ON/OFF and proportional control automation
  • Distributed control systems using EQSP32 expansion architecture

Block Diagram

EQXRA82 functional block diagram: 8 SPST-NO relay outputs rated 5 A at 250 VAC and 3 A at 30 VDC, two protected 0–10 V analog outputs with 12-bit DAC and output feedback, relay and analog output controllers with watchdogs and safety handling, and EQSP32 expansion connectors.
Figure 1: EQXRA functional block diagram

System Specifications

Section / Features
Power Management
Supplied by the board-to-board expansion connector
24 V nominal supply required on the EQSP32; 19 V minimum for relay operation
Relay Outputs
8× electromagnetic SPST-NO potential-free contacts
5 A at 250 VAC, 3 A at 30 VDC per contact
Independent commons on Relay 1 and Relay 2, shared-common pairs on Relays 3 to 8
Analog Outputs
2× factory-calibrated 0–10 V analog output channels, ±10 mV accuracy
0 to 10000 mV control range, 12-bit DAC resolution
Immediate (AOUT) and synchronous (SAOUT) update modes
Protection & Supervision
Hardware overcurrent and short-circuit protection on analog outputs
Firmware-detected analog output overvoltage (>11.0 V), short-circuit and deviation faults
Automatic overvoltage recovery and short-circuit recovery with 3 s retry interval
Latched deviation protection, re-armed by a 0 mV command
System watchdog, 200 ms fixed, enabled by default
Relay command watchdog, 0–60000 ms, disabled by default
Analog output command watchdog per channel, 0–60000 ms, disabled by default
Internal hardware watchdog, 2 s fixed, always enabled
Safe-state handling on all watchdog and supply faults
Monitoring
Analog output feedback per channel, readable in mV, ±50 mV accuracy
Relay coil supply readable in mV, undervoltage below 18.0 V, overvoltage above 29.0 V
System and per-channel analog output status words
Indications
Green LED for power indication
Red LED for module status
Enclosure
Easy standard DIN-rail push-fit mounting with spring mechanism
IP20 protection
Expandability
Push-fit expansion module mounting
Automatic module detection and indexing by EQSP32
Firmware Update
Front-facing USB-C for easy firmware upgrades
Environment
−20 °C to +55 °C

Electrical Specifications

Absolute Maximum Values

PinTypeMin.Typ.Max.Unit
RLx to COMxRelay contact switching, AC (*)——5 / 250A / VAC
Relay contact switching, DC (*)——3 / 30A / VDC
AOx to GNDAnalog output voltage00 to 1000010000mV
Analog output current (**)——10mA
(*) Relay contacts are potential-free SPST-NO dry contacts. External load protection must be selected according to the connected circuit and application requirements.
(**) Continuous, per channel, with both channels loaded — equivalent to a load of 1 kΩ or more at 10 V output.
PinTypeMin.Typ.Max.Unit
Relay coil supplyPower In, via EQSP32 (*)192426V
Supply current, per energised relay—8.3—mA
Supply current, all relays on and both AO at 10 mA——90mA
Undervoltage trip / release—18.0 / 19.0—V
Overvoltage trip / release—29.0 / 28.0—V
AOx to GNDAnalog output voltage00 to 1000010000mV
Analog output load resistance1——kΩ
Analog output resolution—2.5—mV
Analog output accuracy——±10mV
Analog output feedback accuracy——±50mV
Short-circuit output current (current-limited)—75—mA
Short-circuit shut-off (output forced to 0 mV)—100—ms
Short-circuit retry interval—3—s
RLx to COMxRelay operate time——10ms
Relay release time——10ms
Mechanical life5,000,000——ops
Electrical life, 5 A / 250 VAC resistive100,000——ops
Electrical life, 3 A / 30 VDC resistive200,000——ops
Contact resistance (5 VDC, 1 A)——100mΩ
Minimum switching load (reference)10 mA at 5 VDC———
RLx / COMx to logicContact-to-logic isolation, 1 min (relay coil-to-contact rating)4,000——VAC
(*) The maximum is bounded by the EQSP32’s own recommended supply maximum. The module’s internal overvoltage protection trips above 29.0 V as a self-protection backstop and is not part of the operating range — a compliant EQSP32 installation will never reach it.

Connecting EQXRA

To install the EQXRA relay and analog output expansion module, mount it next to the EQSP32 controller on the DIN rail and slide it until the board-to-board connector is fully engaged with the expansion interface. The module is powered through this connector, but the EQSP32 must be supplied at 24 V nominal for the relay coils to operate. A minimum of 19 V is required.

When adding or removing expansion modules, it is recommended to disconnect system power beforehand. After power is applied, the EQSP32 automatically detects and indexes all connected expansion modules, including the EQXRA, enabling immediate plug-and-play operation without additional configuration.

For safety and ease of installation, it is strongly recommended that a main circuit breaker is used to fully isolate the system’s AC/DC power source and the switched load circuits.

EQXRA82 relay and analog output expansion module being slid onto the right side of an EQSP32 PLC controller on a DIN rail, with a circuit breaker and 24 V DC power supply wired to the EQSP32.
Figure 2: Slide EQXRA to connect on EQSP32
EQXRA82 expansion module fitted next to the EQSP32 PLC controller on a DIN rail, with circuit breaker and 24 V DC power supply, showing the relay terminals RL1 to RL8 and the analog output terminals AO1, AO2 and GND.
Figure 3: Connected EQXRA on EQSP32

Warning

The relay contacts switch external circuits that may carry mains voltage. De-energise all load circuits before wiring and make sure that appropriate ground fault circuit breakers, fuses and protective components are used.

Visual Indications

When the EQXRA module is connected to the EQSP32 controller and the system is powered on, the POWER LED illuminates solid green, indicating that the module is properly powered.

If the STATUS LED remains solid red after the automatic detection process, this indicates that the EQXRA module is not communicating correctly with the EQSP32.

During normal operation, when data exchange occurs between the EQSP32 controller and the EQXRA module, the STATUS LED will flash to indicate active communication and output updates.

EQXRA82 front faceplate drawing showing the green power LED and red status LED visual indications and the Boot button used for firmware updates.
Figure 4: EQXRA faceplate: visual indications and Boot button

Power LED (green)

OnPowered On
OffNo Power

Status LED (red)

OffNo errors, no communication
Fast flashingData exchange
BlinkingAuto indexing issue
Blink offHardware detection failed
OnCommunication error

Note

Relay coil supply undervoltage and overvoltage conditions, and watchdog trips, are not indicated on the STATUS LED. These conditions are reported through the system and analog output status words and must be read by the application.

Pinout

EQXRA82 pinout drawing: X1 relay terminals RL1, COM1, RL2, COM2; X2 analog output terminals GND, AO1, AO2, GND; X3 relay terminals RL3 to RL8 with shared commons COM3&4, COM5&6, COM7&8; front USB-C port, LEDs and Boot button.
X1
Screw terminal connector 1 — Relay 1 and Relay 2
X2
Screw terminal connector 2 — Analog outputs AO1 and AO2
X3
Screw terminal connector 3 — Relay 3 to Relay 8
USB-C
Firmware update port

The EQXRA82 provides eight relay outputs and two calibrated analog output channels arranged across three screw-terminal connectors. Relay 1 and Relay 2 provide independent common terminals, while Relays 3 to 8 are arranged in shared-common pairs. The analog outputs are referenced to the module ground and provide 0–10 V control signals for proportional control applications.

Relay outputs are potential-free SPST-NO dry contacts. The relay contact terminals do not supply voltage by themselves; they are used to switch an external circuit according to the application wiring.

X1 — Screw Terminal Connector 1 (Relay 1 and Relay 2)

The X1 screw terminal connector provides access to Relay 1 and Relay 2. Each relay has its own independent common terminal, making these outputs suitable for switching separate circuits or loads that do not share the same common connection.

Each relay output is a potential-free dry contact that can switch:

  • Up to 5 A at 250 VAC, or
  • Up to 3 A at 30 VDC.
EQXRA82 X1 screw terminal connector with RL1 and COM1 for relay 1 and RL2 and COM2 for relay 2, each a normally-open potential-free contact with its own common.
NamePinFunctionType
X1RL1, RL2Relay 1 and Relay 2 normally-open contact terminals (*)RELAY NO
COM1, COM2Relay 1 and Relay 2 independent common terminalsRELAY COM
(*) RL1 pairs with COM1 and RL2 pairs with COM2. In the relay safe state the coil is de-energised and the contact between RLx and COMx is open.

X2 — Screw Terminal Connector 2 (Analog Outputs AO1 and AO2)

The X2 screw terminal connector provides access to the two calibrated analog output channels. AO1 and AO2 provide 0–10 V analog control signals referenced to GND and are driven through the EQSP32 library in millivolts, from 0 to 10000 mV.

Both analog outputs include hardware overcurrent and short-circuit protection and firmware-monitored diagnostic feedback, and are forced to 0 mV during startup or protection events.

EQXRA82 X2 screw terminal connector with GND, AO1, AO2 and GND terminals for the two 0–10 V analog output channels.
NamePinFunctionType
X2GNDAnalog output ground reference (*)GND
AO1, AO2Analog output channels 1 and 2, 0–10 VAOUT / SAOUT
(*) GND is common with the system’s GND.

X3 — Screw Terminal Connector 3 (Relay 3 to Relay 8)

The X3 screw terminal connector provides access to Relay 3 through Relay 8. These relays are arranged in shared-common pairs: Relay 3 and Relay 4 share COM3&4, Relay 5 and Relay 6 share COM5&6, and Relay 7 and Relay 8 share COM7&8.

Grouping the relays in shared-common pairs keeps the wiring compact when several loads are switched from the same supply or reference.

EQXRA82 X3 screw terminal connector with relay contacts RL3 to RL8 arranged in shared-common pairs: RL3, RL4, COM3&4, RL5, RL6, COM5&6, RL7, RL8, COM7&8.
NamePinFunctionType
X3RL3, RL4Relay 3 and Relay 4 normally-open contact terminalsRELAY NO
COM3&4Shared common terminal for Relay 3 and Relay 4RELAY COM
RL5, RL6Relay 5 and Relay 6 normally-open contact terminalsRELAY NO
COM5&6Shared common terminal for Relay 5 and Relay 6RELAY COM
RL7, RL8Relay 7 and Relay 8 normally-open contact terminalsRELAY NO
COM7&8Shared common terminal for Relay 7 and Relay 8RELAY COM
(*) Relay contacts are potential-free SPST-NO dry contacts. In the relay safe state the coils are de-energised and the contacts return to their normally-open state.

USB-C — Firmware Update and Maintenance Port

The USB-C connector on the EQXRA module is used exclusively for:

  • Firmware updates
  • Maintenance and recovery operations

Normal operation requires the module to be powered through the EQSP32 board-to-board expansion connector.

Power Distribution

The EQXRA expansion module is powered and controlled through the EQSP32 board-to-board expansion connector and does not require a separate supply of its own. The control logic, analog output stages and relay drivers are all fed from the EQSP32, which must itself be supplied at 24 V nominal for the relay coils to energise. A minimum of 19 V is required: the module enters undervoltage safe state below 18.0 V and leaves it only above 19.0 V, and while it is active the relays cannot be energised regardless of the commands issued by the application.

EQXRA82 power distribution diagram: 24 V, 5 V, GND and the communication bus pass through the board-to-board expansion connectors, 24 V feeds the relay coils, and the USB-C port powers the control unit for firmware updates.
Figure 5: Power distribution

The relay coil supply is continuously measured by the module firmware and is readable by the application in millivolts at any time, not only during a fault.

Undervoltage is detected below 18.0 V and clears above 19.0 V. Overvoltage is detected above 29.0 V and clears below 28.0 V. Both thresholds use hysteresis to prevent the relays from chattering when the supply sits at a boundary. The overvoltage threshold is a self-protection backstop: it lies above the EQSP32’s own supply rating and is not reachable in a compliant installation.

While either condition is active, the requested relay states are cleared, all eight relays are forced to their de-energised safe state, both analog outputs are forced to 0 mV, and new relay commands are ignored. Both conditions are reported in the system status word.

Warning

Because the requested states are cleared rather than held, the relays and analog outputs do not return to their previous state when the supply recovers. The application must re-issue its relay and analog output commands after an undervoltage or overvoltage event.

The relay contacts themselves are potential-free and are powered by the external circuit being switched.

The front-facing USB-C port is provided exclusively for firmware updates and maintenance operations. While the module responds when powered via USB, normal operation is intended to occur only when the EQXRA is powered through the EQSP32 expansion connector.

Because power is delivered automatically through the slide-to-connect mechanical interface, the EQXRA becomes operational immediately upon docking and the EQSP32 is powered up — no external wiring, terminals, or additional power connections are required.

Mechanical Dimensions

All dimensions are measured in mm with a ±0.1 tolerance.

EQXRA82 mechanical drawing, side and front views: DIN-rail enclosure 53.2 mm wide, 90.2 mm high and 52.3 mm deep, with 5.08 mm terminal pitch.
Figure 6: Dimensions (mm)
Isometric line drawing of the EQXRA82 DIN-rail enclosure showing the screw terminal block, the front USB-C port and LED windows, and the side board-to-board expansion connector.
Figure 7: Enclosure overview

Output Overview

The EQXRA provides eight electromagnetic relay outputs for ON/OFF switching and two calibrated analog output channels for proportional 0–10 V control. Relay outputs are potential-free SPST-NO dry contacts that switch an external circuit, while the analog outputs drive a 0–10 V signal referenced to the module ground.

Equivalent Output Circuits

Equivalent circuit of an EQXRA82 relay output: 24 V relay coil with flyback diode, coil supply sensing and relay control, switching a normally-open contact between the NOx and COMx terminals.
Figure 8: Equivalent relay output circuit
Equivalent circuit of an EQXRA82 analog output: output amplifier driven by the analog output control, protection stage and feedback measurement, providing 0–10 V between the AOx and GND terminals.
Figure 9: Equivalent analog output circuit

The RLx and COMx terminals on the X1 and X3 connectors provide the relay outputs, while the AOx terminals on the X2 connector provide the analog outputs.

At power-up, after any module reset, on a relay supply undervoltage or overvoltage and on a system watchdog trip, the relay coils are de-energised and the analog outputs are forced to 0 mV. A relay command watchdog trip affects only the relays, and an analog output command watchdog trip only its own channel.

Relay outputs and analog outputs are driven independently: relay state changes are applied immediately, while analog output values may be applied immediately (AOUT) or synchronously across both channels on an application trigger (SAOUT).

Channels

Relay and analog output channels are addressed through the EQXRA(ii, nn) macro, where ii is the index of the EQXRA module on the expansion chain and nn is the logical channel. In addition to the ten physical output channels, the module exposes read-only channels for analog output feedback, relay coil supply voltage, and system and analog output status.

ChannelCountAccessRange
EQXRA_RL_1 … EQXRA_RL_88Read / Write0 = de-energised, non-zero = energised
EQXRA_AO_1, EQXRA_AO_22Read / Write0 – 10000 mV
EQXRA_AOFB_1, EQXRA_AOFB_22ReadMeasured mV, nominally 0 – 10000 (diagnostic)
EQXRA_RL_SUPPLY1ReadmV
EQXRA_SYSSTAT1ReadStatus word
EQXRA_AOSTAT1ReadStatus word, per channel

Note

Over Bluetooth and EQConnect the module reports ten pins, corresponding to the eight relay and two analog output physical channels. The read-only feedback and status channels above are available through the EQSP32 library.

Output Modes

ModeTypeFunctionRangeUnits
Relay Output (RELAY) DefaultOutputDigital0 or 1/1000—
Analog Output (AOUT / SAOUT)OutputAnalog0 – 10000mV

In relay operation, each output switches its normally-open contact against the corresponding common terminal. The contacts are rated up to 5 A at 250 VAC or 3 A at 30 VDC and are supervised by the module firmware, with relay supply monitoring and safe-state handling.

In analog output operation, each channel drives a calibrated 0–10 V signal set directly in millivolts. Diagnostic feedback is monitored from the output side, and overvoltage, short-circuit and output deviation faults are detected and reported per channel.

Relay Outputs (RELAY)

Each relay output switches a potential-free SPST-NO dry contact between the RLx terminal and the common terminal of its group. Relay 1 and Relay 2 have independent commons on X1, while Relays 3 to 8 are arranged in shared-common pairs on X3.

The relay contact terminals do not supply voltage by themselves; they switch an external circuit according to the application wiring. External load protection must be selected according to the connected circuit and application requirements.

Relay operation is supervised by the module firmware. The relay coil supply is monitored, and a system watchdog or relay command watchdog trip de-energises all relay coils so that every contact returns to normally-open. An analog output command watchdog trip affects only its own analog output channel and does not change the relay states.

EQXRA82 relay output wiring example: an AC load connected between the NOx terminal and neutral (N), with line (L) wired to COMx, switched by the normally-open relay contact.
Figure 10: Example wiring of a load switched by an EQXRA relay output

Relay State Representation

Relay outputs are controlled as digital outputs: any non-zero value energises the relay coil and closes the RLx to COMx contact, while 0 de-energises the coil and returns the contact to its normally-open state.

  • Non-zero — relay energised, RLx to COMx contact closed
  • 0 — relay de-energised, RLx to COMx contact open

In safe-state conditions — startup, a module restart, relay supply faults, system or relay command watchdog trips, or loss of communication with the EQSP32 — all relay coils are de-energised regardless of the last commanded value. The commanded relay state and the module status can be read back through the EQSP32 library for diagnostics and fault handling.

Note

Reading a relay channel returns the state most recently commanded by the application, not a measurement of the physical contact. Hardware state is re-read only while a fault is flagged in the status words. A relay that fails to actuate without raising a fault will still read back as commanded. A relay reads back as a non-zero value when energised (normally 1000, or 1 after a fault readback), so compare the reading against 0 rather than against 1.

Library Reference
Configuration
eqsp32.pinMode( EQXRA(ii, nn), RELAY )

ii: number (index) of EQXRA module on the chain (*)

nn: relay output channel, EQXRA_RL_1 to EQXRA_RL_8

RELAY is the only mode accepted on a relay channel; other modes are rejected.

eqsp32.configWDG( EQXRA(ii, nn), tt )

Configures the relay command watchdog.

tt: timeout in ms, 0 disables

A single watchdog covers all eight relays — passing any relay channel configures the same timer.

Values between 1 and 199 ms are raised to the 200 ms minimum. Maximum 60000 ms.

The watchdog is fed only by writes to relay channels, including a repeat of an unchanged value; status reads and analog output writes do not feed it.

Usage
eqsp32.pinValue( EQXRA(ii, nn), vv )

Sets the relay output state.

vv: 0 de-energises the coil, any non-zero value energises it

eqsp32.readPin( EQXRA(ii, nn) )

Returns the last commanded relay state: 0 when de-energised, non-zero when energised (**)

(*) When multiple EQXRA modules are connected, they are indexed in order based on their physical position on the expansion chain. The EQXRA module closest to the EQSP32 controller is assigned index 1, the next EQXRA module index 2, and so on.
Indexing is applied independently per module type; for example, EQXRA modules are indexed separately from EQXIO or EQXTC modules, each maintaining its own numbering sequence.
(**) See the readback note above.

Analog Outputs (AOUT / SAOUT)

Each analog output drives a calibrated 0–10 V signal between the AOx terminal and GND, set directly in millivolts from 0 to 10000 mV with 12-bit DAC resolution.

Both channels include hardware overcurrent and short-circuit protection and protected feedback sensing. Firmware monitors the feedback and detects overvoltage, short-circuit and output deviation conditions, reporting them per channel. During startup or an analog-output protection event, the affected output is forced to the safe state of 0 mV.

Connect the controlled device between the desired AOx terminal and GND, as shown in the wiring diagram. No external components are required.

EQXRA82 analog output wiring example: AOx connected to the + input and GND to the – input of a voltage-controlled device with a 0–10 V analog input and its own supply.
Figure 11: Example wiring of a 0–10 V controlled device connected to an EQXRA analog output

Immediate Update Mode (AOUT)

In AOUT mode each new analog output value is applied immediately and independently per channel, as soon as it is written by the application. This is the simplest mode and suits most proportional control tasks such as VFD speed references or valve positioning.

The update mode is shared between both analog output channels. Setting the mode on either channel places both AO1 and AO2 in that mode; the channels cannot be operated in different modes simultaneously. AOUT is the mode after power-up or a module reset; SAOUT must be selected again after a module reset.

Synchronous Update Mode (SAOUT)

In SAOUT mode a write to an analog output channel stages the value rather than applying it; the output does not move. Both channels are updated together when the application issues a write with the apply flag set, using the EQXRA_SAOUT_APPLY() macro. Applying latches the staged targets of both AO1 and AO2 to the outputs in the same operation, giving a true simultaneous update rather than two sequential writes. This allows coordinated multi-channel analog updates where the two outputs must change at the same instant.

The two channels are always applied together; the module never applies one channel of the pair on its own. An apply is refused while either channel holds a latched deviation fault, and a pending apply is discarded by a system fault or an analog output watchdog trip. The EQSP32 library does not report the refusal, so confirm the result through the feedback channels or the analog output status word.

Timing diagram comparing EQXRA82 analog output modes: in AOUT (asynchronous) mode AO1 and AO2 change as soon as each is written, while in SAOUT (synchronous) mode staged values are applied to both channels together on the APPLY command.
Figure 12: Comparison of AOUT (Asynchronous) and SAOUT (Synchronous)

Analog Output Value Representation

Analog output values are expressed in millivolts (mV), from 0 to 10000 mV across the full 0–10 V range.

Example: a commanded value of 5345 written to channel AO1 of the first EQXRA module in the expansion chain corresponds to:

  • 5345 mV
  • 5.345 V on the AO1 terminal

Diagnostic feedback is monitored from the output side of each channel, allowing the application to supervise the actual output behaviour and detect short-circuit, overvoltage or excessive deviation from the commanded target.

The measured output voltage of each channel is separately readable in millivolts through the corresponding feedback channel, allowing the application to compare the commanded target against the actual output. The feedback is a diagnostic measurement with its own, lower accuracy than the output itself.

Library Reference
Configuration
eqsp32.pinMode( EQXRA(ii, nn), AOUT )

Sets immediate update mode.

nn: EQXRA_AO_1 or EQXRA_AO_2

The mode applies to both analog output channels.

eqsp32.pinMode( EQXRA(ii, nn), SAOUT )

Sets synchronous update mode.

The mode applies to both analog output channels.

eqsp32.configWDG( EQXRA(ii, nn), tt )

Configures the analog output command watchdog for that channel. Each channel has its own independent timer.

tt: timeout in ms, 0 disables; values between 1 and 199 ms are raised to the 200 ms minimum; maximum 60000 ms

The watchdog is fed by any command to that channel, including a repeat of an unchanged value. On a trip the channel is driven to 0 mV in both AOUT and SAOUT modes and its commanded value is cleared; the next command to the channel clears the trip.

eqsp32.configFBDEV( EQXRA(ii, nn), th, dd )

Configures deviation detection for that channel.

th: threshold in mV, dd: delay in ms

Enabled by default at 250 mV / 500 ms. Values below 200 mV or 200 ms are raised to those minimums. Maximum 10000 mV and 60000 ms. Setting either value to 0 disables detection; a latched fault must still be re-armed (see Deviation Protection).

Usage
eqsp32.pinValue( EQXRA(ii, nn), vv )

Sets the analog output value from 0 to 10000 (mV). Values outside this range are rejected and pinValue() returns false.

In SAOUT mode the value is staged only.

A non-zero value sent to a channel with a latched deviation fault is refused by the module, but pinValue() still returns true; the refusal is visible in the analog output status word.

eqsp32.readPin( EQXRA(ii, EQXRA_AOFB_n) )

Returns the measured output voltage in mV

eqsp32.readPin( EQXRA(ii, EQXRA_RL_SUPPLY) )

Returns the relay coil supply voltage in mV

eqsp32.readPin( EQXRA(ii, EQXRA_SYSSTAT) )

Returns the system status word (**)

eqsp32.readPin( EQXRA(ii, EQXRA_AOSTAT) )

Returns the analog output status word (**)

Macros
EQXRA_SAOUT_APPLY( vv )

Stages vv and applies the staged targets of both analog output channels simultaneously.

vv: analog output value in mV

EQXRA_AOUT_STATUS_AO1( ss ) / EQXRA_AOUT_STATUS_AO2( ss )

Extracts the AO1 or AO2 field from the analog output status word ss, for comparison with EQXRA_AOUT_STATUS_CH_DEV, _CH_OV, _CH_SC and _CH_NA.

(*) When multiple EQXRA modules are connected, they are indexed in order based on their physical position on the expansion chain. The EQXRA module closest to the EQSP32 controller is assigned index 1, the next EQXRA module index 2, and so on.
(**) System and analog output status values are available through the EQSP32 library for diagnostics and fault handling. See Supervision and Safe-State Behaviour and Status and Diagnostics below.

Supervision and Safe-State Behaviour

The EQXRA provides three independent watchdogs. All three move outputs to a safe state on trip, but they differ in what they supervise, what they affect, and how they recover. In addition, an internal hardware watchdog acts as a safety backstop. It is always active and is not expected to act in normal operation: should the module firmware ever stop responding for 2 s, it restarts the module in its safe state (see Configuration Persistence).

WatchdogDefaultRangeAction on trip
SystemEnabled, 200 ms fixedOn / off onlyAll relays de-energised and both analog outputs forced to 0 mV
Relay commandDisabled0 = disabled, 200–60000 msRequested relay states cleared, all relays de-energised
Analog output command (per channel)Disabled0 = disabled, 200–60000 msThat channel forced to 0 mV and its commanded value cleared
Internal (hardware)Enabled, 2 s fixedAlways on, not configurableModule restarts: all relays de-energised, both analog outputs at 0 mV, stored configuration restored

The system watchdog supervises the communication link between the EQSP32 and the module. It is reset by any register transaction, and because the EQSP32 library polls the module continuously during normal operation, it is satisfied by that polling alone.

It therefore detects a lost or failed link, not a stalled application. A user program that stops issuing commands while the library continues running will not trip the system watchdog.

The relay command and analog output command watchdogs exist for that case. Both are disabled by default and are the mechanism by which the module fails safe when the application itself stops updating its outputs. Any application relying on the module to reach a safe state if the control program hangs must enable them explicitly. To keep them fed, the application must call pinValue() on the supervised channels within the timeout, even when the value has not changed. The EQSP32 library does not refresh outputs on its own: while the application is stalled, the library keeps polling the module, which satisfies the system watchdog, but sends no output writes, so the relay and analog output command watchdogs trip.

Recovery differs between the two. The system watchdog clears on any register transaction. The relay command watchdog clears only on a write to a relay channel — status reads and analog output writes leave it tripped — so recovery requires issuing a relay command specifically. The relay command watchdog is fed only by writes to relay channels, and each analog output command watchdog only by commands to its own channel, which also clear its trip.

Warning

The system watchdog can be disabled with eqsp32.configWDG( EQXRA(ii, EQXRA_SYSSTAT), 0 ) and re-enabled with a value of 1. It is the module’s only automatic response to a lost link with the EQSP32, and disabling it removes safe-state handling for communication failure entirely. It should be left enabled unless the application provides an equivalent mechanism of its own.

Configuration Persistence

Settings applied with configWDG() and configFBDEV() are held in module RAM; the EQSP32 library does not save them to the module. After a module reset or power cycle, including removal and re-insertion of the module, the module restarts with all relays de-energised and both analog outputs at 0 mV and returns to its stored configuration: system watchdog enabled, relay and analog output command watchdogs disabled, and deviation detection enabled at 250 mV / 500 ms. The application is responsible for reapplying its configuration whenever the module is re-detected.

No fault is raised in this case — the module reports normal operation with its stored supervision settings.

Values below the documented minimums are raised by the module, but the EQSP32 library keeps the value that was requested, so the configuration reported by the library can differ from the value in effect.

Deviation Protection

Deviation detection compares each analog output’s commanded target with its measured output. It is enabled by default at 250 mV / 500 ms and can be adjusted or disabled per channel with configFBDEV(). A continuous deviation trips after the configured delay; an intermittent one trips only if it is present for more than half of the time. Repeating or changing the command while the delay is running does not restart it.

A deviation trip latches. The affected channel is forced to 0 mV, the deviation flag is set in the analog output status word, and every non-zero command to that channel is refused — including a repeat of the previous command. The previous command is never restored automatically.

To re-arm the channel, command 0 mV. The fault clears once the output has been measured at or below 200 mV continuously for 100 ms; a non-zero command during that time cancels the re-arm. The next non-zero command is then treated as a fresh start. Changing or disabling the deviation configuration does not clear a latched fault; a module reset or power cycle does, leaving the output at 0 mV.

Deviation detection is intended to report genuine tracking failures, not the transient of a commanded change. With slow or capacitive loads the output settling time can still appear as a sustained deviation, so the threshold and delay should be chosen to suit the load.

Status and Diagnostics

Two status words are readable through the EQSP32 library. Each flag has a named constant in the EQSP32 library (EQXRA_SYS_STATUS_… for the system status word and EQXRA_AOUT_STATUS_… for the analog output status word), and the per-channel fields of the analog output status word are extracted with EQXRA_AOUT_STATUS_AO1() and EQXRA_AOUT_STATUS_AO2().

System Status Word — EQXRA_SYSSTAT

FlagMeaning
System watchdog tripCommunication link watchdog has tripped
Relay watchdog tripRelay command watchdog has tripped
Analog output watchdog tripAn analog output command watchdog has tripped
Supply undervoltageRelay coil supply below 18.0 V
Supply overvoltageRelay coil supply above 29.0 V
Analog output faultOne or more analog output faults active — see the analog output status word; also set while that status is not available
General faultSet while any of the above is active

Analog Output Status Word — EQXRA_AOSTAT, one field per channel

FlagCondition
DeviationDifference between target and feedback exceeded the configured threshold for longer than the configured delay; latched until the channel is re-armed (see Deviation Protection)
OvervoltageFeedback above 11.0 V for more than 100 ms; clears after 100 ms at or below 11.0 V, and in AOUT mode the retained command is restored
Short circuitFeedback below 0.5 V while the commanded target is 200 mV or more and the output is at least 200 mV below it, for more than 100 ms; retried every 3 s
Not availableStatus not yet available, reported briefly at startup before the first status update; treat as not ready

The general fault flag in the system status word provides a single-read health check; the remaining flags identify the cause, and the analog output status word identifies which channel and which fault, without requiring external sensing.

A short-circuit fault forces the affected channel to 0 mV and then retries automatically every 3 seconds, briefly re-enabling the output to test whether the short has cleared, and either restoring the commanded value or re-latching the fault. The output will therefore continue to attempt recovery for as long as the short persists.

An overvoltage fault forces the affected channel to 0 mV and clears once the feedback has stayed at or below 11.0 V for 100 ms; in AOUT mode the retained command is then restored automatically. Overvoltage and short-circuit recovery can therefore re-energise an output without a new command from the application. Applications that must not restart an output on their own should monitor the analog output status word and command 0 mV when a fault is reported.

Supply voltage, both status words and both analog output feedback values are refreshed continuously and can be read at any time without an explicit request.

Boot Button & Firmware Update

Boot Button

The Boot button is used exclusively to place the EQXRA module into firmware update (maintenance) mode. It is not required for normal operation. To enter firmware update mode:

  1. Press and hold the Boot button.
  2. While holding the button, power the module by connecting the front-facing USB-C port to a PC host.
  3. Release the Boot button after power is applied.

The module will enter maintenance mode and appear to the host computer as a USB mass-storage device.

Firmware Update Procedure

Firmware updates for the EQXRA are performed through the front-facing USB-C port like copying a file into a storage device. Switch off the system power before starting, so the module is powered from the USB-C port only and its outputs stay off during the update.

To update the firmware:

  1. Download the latest EQXRA firmware from erqos.com website.
  2. Ensure the module is in maintenance mode (see Boot Button section above).
  3. Locate the removable storage device labeled RPI-RP2 on the host computer.
  4. Copy (or drag and drop) the provided .uf2 firmware file onto the device.
  5. The firmware update will start automatically.

Once the update is complete, the module will reboot. Power-cycle the system and ensure the EQXRA is powered through the EQSP32 board-to-board expansion connector to resume normal operation and allow automatic module detection and indexing.

↑ Back to top

↑ Back to top

Shopping Basket

Contact us for Availability