Introduction
| SKU | Description | Operating temperature |
|---|---|---|
| NLEUG016A | LEO CG 16 Channel USB GPIO Module - CG16A | -40 ℃ to 85 ℃ |

The Numato Lab LEO CG 16 Channel USB GPIO Module is a versatile and reliable USB-based control and monitoring interface designed for industrial automation, test systems, embedded applications, and system integration. Combining digital inputs, digital outputs, low-voltage GPIOs, and analog inputs in a single compact module, the LEO CG module provides a flexible solution for applications that require both control and measurement capabilities.
This modules enables seamless control and monitoring of digital signals over USB through a clean, human-readable command interface. This streamlined approach simplifies system integration, allowing developers, engineers, and system integrators to build reliable automation and test solutions without the complexity of conventional communication protocols.
Designed with an industrial-grade architecture, the LEO CG 16 Channel USB GPIO Module supports 16 high-voltage digital inputs and 16 high-voltage digital outputs, with signal levels of up to 24V. This makes the module suitable for interfacing with a wide range of industrial sensors, switches, actuators, and control systems.
In addition to its high-voltage I/O, the module provides 8 dedicated 3.3V GPIOs, offering flexible low-voltage digital interfacing for embedded and electronic applications. These GPIOs are multiplexed with 8 analog input channels and 2 PWM channels, allowing the same pins to be used for digital I/O, analog signal acquisition, or PWM output depending on the application requirements.
To further enhance automation and system reliability, this module includes:
- Smart Action Engine for rule-based, event-driven automation and standalone operation.
- Advanced GPIO Timer Functionality for accurate and repeatable output control.
- Integrated I/O Failsafe Engine to help maintain safe and predictable operation during defined fault conditions.
- USB Command-Line Interface for simple and reliable host-based control.
- Configurable GPIO functionality for flexible digital interfacing.
- Analog Input Capability for monitoring variable voltage signals through the multiplexed 3.3V GPIO channels.
With its combination of high-voltage digital I/O, low-voltage GPIO, analog inputs, and intelligent automation features, the LEO CG16 delivers a powerful and flexible platform for modern control and monitoring applications.
Whether used in industrial automation, test and measurement, machine interfacing, data acquisition, or standalone edge automation, the LEO CG 16 Channel USB GPIO Module provides a reliable, user-centric solution for digital control and signal monitoring.
Board Features
- 16 High-Voltage Digital Inputs – Supports input signals up to 24V
- 16 High-Voltage Digital Outputs – Supports output signals up to 24V
- 8 GPIOs – Supports 3.3V signals.
- 8 Analog Inputs multiplexed with the 3.3V GPIOs
- 2 PWM Channels multiplexed with the 3.3V GPIOs
- USB Connectivity for convenient host-based control
- Human-Readable Command-Line Interface
- Smart Action Engine for rule-based automation and standalone operation
- Advanced GPIO Timer Functionality
- Configurable I/O Failsafe Engine
- DIN Rail Mount Compatibility
- RGB Status Indicator
- Device Reset and Factory Reset Switch
Applications
- Industrial Automation and Control
- Machine and Equipment Monitoring
- Building and Facility Automation
- Test and Measurement Automation
- Data Acquisition and Signal Monitoring
- Sensor and Actuator Interfacing
- Power Management and Sequencing
- Safety and Failsafe Systems
- Standalone Edge Automation
- Embedded System Integration
- Laboratory and Development Systems
- DIY and Hobby Applications
Technical Specifications
| Parameter * | Value | Unit |
|---|---|---|
| Basic Specifications | ||
| Number of Digital Inputs | 16 | |
| Number of Digital Outputs | 16 | |
| Digital circuit power supply voltage (External) | 12/24 | V |
| Maximum current drawn by digital circuitry | 300 | mA |
| Operating Temperature Range | -40 to 85 | °C |
| Digital Inputs Specifications | ||
| Minimum DI sink current | 2.05 | mA |
| Maximum DI sink current | 30 | mA |
| Recommended sink current | 10 | mA |
| Maximum Low Voltage (VIL) | 10.2 | V |
| Minimum High Voltage (VIH) | 10.5 | V |
| Maximum High Voltage | 24 | V |
| Digital Outputs Specifications | ||
| Maximum Voltage | 30 | V |
| Load current per Output | 1 | A |
| Load per Output | 12 | W |
| GPIO, ADC and PWM | ||
| Number of GPIOs | 8 | |
| Maximum High Voltage on GPIOs | 3.3 | V |
| Number of Analog Inputs [Multiplexed] | 8 | |
| Analog Input Resolution | 10 | Bits |
| Number of PWM Channels | 2 | |
* All parameters considered nominal. Numato Systems Pvt Ltd reserve the right to modify products without notice.
How to use the module
The following section describes how to use this module.
Components/Tools required
Along with the module, you may need the items in the list below for easy and fast installation.
- USB Type-C Cable
- 12V 1A DC power supply
- Medium-sized Philips screwdriver
USB Interface
The LEO CG 16 Channel USB GPIO Module is designed for quick and intuitive operation. With its human-readable command set and standard USB CDC interface, the device can be used with widely available serial terminal applications, no specialised software required.
It is compatible with most common terminal tools, including:
- Windows
- Tera Term
- PuTTY
- Linux
- GNU Screen
- PuTTY
- MAC OS X
- Screen Command
- CoolTerm
Note: The device is not limited to the above tools and can be used with any standard serial terminal software.
Getting started with the device involves just a few simple steps:
- Connect the Device: Plug the module into a USB port on your host system.
- Install Drivers (Windows Only): Driver is available on the product page.
- Open the COM Port: Open the COM Port assigned to the device using your preferred serial terminal software.
- Send Commands: Control, monitor and configure the device with simple human-readable commands, similar to using DOS or Bash terminal.
- Automate via scripts: Integrate with your application or scripts using language of choice such as C, python, Node.js, Perl, or others.
- Enable Standalone Automation: Configure Smart Actions and GPIO Timers to allow the device to operate independently without a host system.
Use a USB-A to USB-C/ USB-C to USB-C cable to connect to a PC. Please visit accessories to buy cables and accessories for this product.
Digital Outputs
This module provides 16 digital outputs, supporting output voltages of up to 24V DC. All digital output channels are available externally through connectors for easy user access and connection. The outputs can be used to control and interface with external devices such as indicators, switches, and other compatible digital loads.

Each digital output can be independently controlled through the module’s interface. The output can be configured to either digital HIGH or LOW state.
Digital Inputs
In addition to the onboard digital outputs, the LEO CG 16 Channel USB GPIO Module features 16 high-voltage digital input channels, designed for reliable interfacing with external signals in industrial environments.
Input Voltage Range
- Recommended Operating Voltage: Up to 24V
- Logic LOW (Max): <= 10.2V
- Logic HIGH (Min): >= 10.5V
Input Current Characteristics
- Minimum Sink Current: 2.05 mA
- Maximum Sink Current: 30 mA

Each input channel detects the presence of an external voltage signal and interprets it as a digital HIGH or LOW based on the defined thresholds. These inputs can be used to monitor signals from switches, sensors or any other control systems.
Important Notes
- Ensure input voltages remain within the specified limits to prevent damage.
- Always use proper grounding and wiring practices in industrial environments.
GPIO/Analog Inputs/PWM
The module has 8 General Purpose I/O (GPIO) pins that can be used for various custom applications. All 8 GPIO pins can also function as analog-to-digital converter (ADC) inputs. All I/O pins support 3.3V TTL signals, and the ADC input range is 0 to 3.3V, with a resolution of 12 bits per sample. The module also provides 2 PWM outputs, which can be used for applications requiring pulse-width modulation, such as LED brightness control and other suitable control applications.
It is recommended to use a series resistor with the GPIO/ADC pins when interfacing with other circuits to protect the inputs from stray voltages and spikes. In output mode, each GPIO can source up to 25mA. Therefore, no additional circuitry is needed to drive regular LEDs. A 470-ohm series resistor is recommended for current limiting when connecting an LED to a GPIO.
Unlike digital GPIOs, analog inputs can measure voltages across the 0 to 3.3V range. A series resistor is recommended to protect the inputs from stray voltages and spikes. The table below summarizes the GPIO, ADC input, and PWM pin positions on the header.
| GPIO | ADC | PWM |
|---|---|---|
| IO0 | ADC0 | NA |
| IO1 | ADC1 | NA |
| IO2 | ADC2 | NA |
| IO3 | ADC3 | NA |
| IO4 | ADC4 | NA |
| IO5 | ADC5 | NA |
| IO6 | ADC6 | PWM0 |
| IO7 | ADC7 | PWM1 |
| 3V3 | ||
| GND | ||
LED Indication
The LEO CG 16 Channel USB GPIO Module provides visual feedback for reset operations through the onboard LED indicator:
- On Power-On: Solid Red Turns ON, indicating the device is ready for use.
- Device Reset: The Red LED briefly turns OFF and ON, indicating that the device is restarting.
- Factory Reset: The Red LED blinks continuously while the factory reset process is in progress.
Multipurpose Switch
The LEO CG 16 Channel USB GPIO Module is equipped with a versatile multipurpose switch that enables a range of device management functions:
| Action | LED Indication | Function |
|---|---|---|
| Single Click | The Red LED briefly turns OFF and ON, indicating that the device is restarting. | Device Reset: Resets the device and reinitializes. |
| Press for 7-10 seconds | The Red LED blinks continuously while the factory reset process is in progress. | Factory Reset: Device erases all the settings and restores to factory defaults. |
Important: Use the Factory reset feature only to recover the Username/Password. A factory reset will erase all user settings, restoring the board to its default configuration. After resetting, access the board using the default credentials listed in the table.
Factory Reset
The LEO CG 16 Channel USB GPIO Module provides a factory reset feature to restore all settings to their original default values.
How to Perform a Factory Reset
You can initiate a factory reset using either of the following methods:
- Using the Multipurpose Switch: Press and hold the RESET switch for 7 – 10 seconds.
- Using Command Interface: Execute the factory reset command via the USB console.
Important Notes
- This operation will reset all user-configured settings, including:
- Username and Password
- Device ID
- Smart Actions and Timer configurations
- All other user-configured parameters.
- After reset, the device will revert to factory default credentials, as listed in the table below.
Factory Default Settings
The default configuration after a factory reset is provided in the table below.
| User name | admin |
| Password | admin1234 |
| Device ID | 00000000 |
| Smart Action | Disabled |
| GPIO Power-On | Disabled |
| GPIO Notify Feature | Disabled |
| IO Failsafe | Disabled |
Smart Action Engine
The Smart Action Engine enables real-time, rule-based automation by directly mapping digital inputs to digital outputs. It allows the module to respond to input conditions using configurable logic modes such as LOW, HIGH, or FOLLOW.
For Smart Action Engine functionality, GPIO 0–7 can be configured as digital inputs, while GPIO 8–15 can be configured as digital outputs. This feature transforms the module from a simple USB interface into an intelligent control system that can operate independently without continuous host intervention.
Output Timer Engine
The Output Timer Engine provides precise, time-based control of digital outputs and GPIO pins. It supports configurable modes such as Delayed ON, Delayed OFF, and Toggle, enabling automation of sequencing, scheduling, and timed switching tasks.
With persistent configuration, the timer settings are retained across power cycles, making it ideal for autonomous and repeatable control applications.
IO Failsafe Control
The IO Failsafe Control feature ensures safe and predictable system behaviour by monitoring a designated digital input. Only GPIO 0 can be configured as the failsafe input. When GPIO 0 reaches the specified trigger condition, the module automatically drives the digital outputs to a predefined state.
This feature is useful for implementing safety mechanisms such as emergency shutdowns, fault handling, and enforcing predefined system states based on input-triggered conditions.
Supported Error Codes
The LEO CG 16 Channel USB GPIO Module returns error codes to indicate invalid commands or incorrect parameter usage.
These codes help in quickly identifying and resolving issues during operation.
| Error Code | Error Name | Description |
|---|---|---|
| -3 | Invalid Command | The device does not recognise the entered command |
| -2 | Invalid Argument | One or more parameters are incorrect |
| -51 | Invalid Output Timer Limit | Timer delay is outside the allowed range |
| -41 | Invalid Smart Engine Mode | The IO is already set to a different smart engine mode |
| -42 | Invalid Output Value | The output value is outside the allowed range in the smart action engine |
Notes:
- Error codes are returned immediately upon command validation failure
- Ensure all commands and parameters follow the defined format and limits
- Refer to individual command sections for valid parameter ranges
Driver Installation
Installing Numato Lab CDC Driver - Windows Desktop and Server Editions
The driver package for Numato Lab’s products can be downloaded from the product page at http://numato.com. To install the driver, unzip the contents of the downloaded driver package to a folder. Attach USB cable to the PC and when asked by Windows device installation wizard, point to the folder where driver files are present. When driver installation is complete, the module should appear in Windows Device Manager as a serial port. The picture below shows a 1 Channel USB Relay Module visible in Windows Device Manager. For other devices (USB GPIO and USB Relay modules), the name will be different but how the device is displayed and used is exactly same.
Note down the name of the serial port (COM1, COM2, etc..). This information is required to control the module from the PC.
You may notice that the driver package does not come with a .sys or .exe file as most driver packages do and are expected to be that way. The driver binary necessary in this case is shipped with all copies of Windows Desktop/Server editions and gets installed automatically while Windows is installed for the first time. The .inf and .cat files present in the driver package downloaded from http://numato.com merely associate this pre-existing driver with the attached Numato Lab device.
The following video demonstrates how to install the driver on Windows 10.
Installing on Windows Embedded Editions
Windows Embedded editions do not install the infrastructure necessary for the USB CDC by default in favor of a smaller footprint. This will cause the driver to install to fail unless the necessary files are manually installed prior to installing the driver. Please follow the steps below to install the prerequisites and drivers correctly. These steps are tested on Windows 7 Embedded Edition.
- Locate winemb-inf-mdmcpq.cab on Win 7 Embedded DVD/ISO image
- Copy winemb-inf-mdmcpq.cab to a folder Ex: C:Temp
- Run command DISM.exe /online /Add-Package /PackagePath:C:Temp
- Wait for Windows to restart (Restart machine manually if DISM does not restart the machine automatically)
- After reboot is complete, plug the device to a USB port and install driver normally (Driver is available for download at the product page)
Installing on Linux
To use any device that uses the USB CDC protocol with Linux, the USB CDC driver needs to be compiled into the kernel. Fortunately, most Linux distributions (Ubuntu, Redhat, Debian, etc..) have this driver pre-installed. The chances of you requiring to rebuild the kernel to include the USB CDC driver is very slim. When connected to a Linux machine, this product should appear as a serial port under /dev directory. Usually, the name of the device will be ttyACMx or similar. The name may be different depending on the Linux distribution you have. The image below shows the result of ls /dev command on a Linux Mint system with a USB GPIO/Relay device attached.
In this particular case, the device shows up as ttyACM0 (highlighted in orange color) but it could be ttyACM1 or ttyACM2, etc… depending on the specific system and other connected devices. Once the device is visible under /dev directory, it can be treated just like any other serial device. Commands can be sent to the device using any mechanism that is valid for regular serial ports such as screen command or Serial Terminal Emulation applications. If there is more than one device connected to the same host computer, each device will be displayed as separate serial devices with unique names. These separate serial devices can be used to control individual devices attached.
Installing on Mac OSX
Mac OSX is usually shipped with USB CDC driver pre-installed. When connected to a Mac computer, this product should appear as a serial port under /dev directory. Usually, the name of the device will be tty.usbserialportx or similar. The name may be different depending on the Mac OSX version you have. The image below shows the result of ls /dev/*usb* command on a Mac OSX Yosemite system with a USB GPIO/Relay device attached.
In this particular case, the device shows up as tty.usbmodem141141 (highlighted on orange color) but it could be any name starting tty.usbmodem or even a completely different name depending on the exact version of operating system and other connected devices. Once the device is visible under /dev directory, it can be treated just like any other serial device. Commands can be sent to the device using any mechanism that is valid for regular serial ports such as screen command or Serial Terminal Emulation applications. If there is more than one device connected to the same host computer, each device will be displayed as separate serial devices with unique names. These separate serial devices can be used to control individual devices attached.
Installing CDC Devices On Android
Most Android versions have a built-in driver that supports external USB Devices. Due to the presence of a built-in driver any external USB device including Numato Lab’s USB GPIO/Relay products connected to Android-based gadget will be enumerated by Android OS. Such enumerated devices can be listed/viewed by using apps such as USB Device Info. The image below shows info about a Numato Lab USB device printed by the USB Device Info app. All Numato Lab’s USB GPIO and USB Relay modules will be displayed the same way.
Devices detected by Android can be controlled by using an off the shelf Serial Terminal App such as USB Serial Terminal Lite.
Sending Commands
One of the most powerful features of this module is the simple easy to use command set it supports. This command set hides the complex USB protocol and gives a very simple interface to access the features of the module. The following sections give details of the command set and how to use the command set.
The command set
This product support a very simple command set that is designed to be less cryptic and easy to use manually (using serial terminal emulation programs) or through a program written in many supported languages.
List of currently supported commands.
| No. | Command | Parameters | Example | Description |
|---|---|---|---|---|
| 1 | ver | None | ver | Returns firmware Version |
| 2 | id | get/set xxxxxxxx | id get, id set 12345678 | Reads/Sets id of the module |
| 3 | usr | get/set xxxxxxxx | usr get, usr set admin | Reads/Sets User name |
| 4 | pass | get/set xxxxxxxx | pass get, pass set admin | Reads/Sets Password |
| 5 | usr auth | get/on/off | usr auth get, usr auth on, usr auth off | Returns User Auth status, Enable/Disable Authentication |
| 6 | gpi | gpi read [input number], gpi notify on/off/get | gpi read 000, gpi read, gpi notify on, gpi notify off. gpi notify get | Monitor General Purpose Input |
| 7 | gpo | set/clear/status [gpo number]/ set all/clear all/ write [gpo_group] [gpo_map]/ pwron [gpo_group] [gpo_map]/ tmr get [gpo_number]/disable [gpo_number]/[gpo_number] [mode] [delay_seconds] | gpo set 000,gpo clear 000, gpo status 000, gpo set all, gpo clear all, gpo write A 00ff, gpo pwron A 00ff, gpo tmr get 000, gpo tmr disable 000, gpo tmr 000 M0 2 | GPO Control |
| 8 | smart | get/-i/disable/ [input] [mode] [target_output] [value] | smart get 000, smart -i 000, smart disable, smart 000 L 000 1 | Read configured data, clear configured input, disable entire smart action feature, configure smart feature |
| 9 | gpio | set/clear/read/status [gpio number]/writeall/iomask/iodir [value]/notify/poweron [iodir value] [gpio value] | gpio set 000, gpio clear 000, gpio read 000, gpio status 000, gpio status, gpio writeall ff, gpio iodir 00, gpio iodir A 0000 gpio notify on, gpio notify off, gpio notify get, gpio poweron 00 ff | Control and monitor the GPIOs |
| 10 | adc | read [adc number] | adc read 000 | Read Analog to Digital Converter input value |
| 11 | pwm | status, freq xxx y, duty xxx y, disable, status/on/off xxx | pwm status, pwm freq 000 1000, pwm duty 001 50, pwm disable, pwm status 000, pwm on 001, pwm off 001 | Control and monitor the PWMs. |
| 12 | fs | get input_number/reset/disable/ [input] [mode] [gpo_group] [gpo_map] | fs get 000, fs reset, fs disable, fs 000 L A 0012 | Read status of IO failsafe, Manual Reset Failsafe, Disable Failsafe, Configure Failsafe |
| 13 | info | none | info | Display information about the module including Smart Action, Power-on status, and IO Failsafe |
| 14 | reboot | none | power reset | Power reset does a soft-reset. |
| 15 | fact | reset | fact reset | Perform device factory reset |
The table below has more detailed information about available commands.
Device Command Set
| No. | Command | Example | Description |
|---|---|---|---|
| 1 | ver | ver | This command returns the current firmware version of the device. Command Format verResponse Format xxxxxxxx – Firmware version string Description Returns the firmware version currently running on the device. Example ver Returns firmware version Notes The version format may vary depending on the firmware release. |
| 2 | id | id get id set xxxxxxxx | This command is used to read and configure the device ID. Command Format id get id set xx – New device ID (exactly 8 characters) Description id get returns the current device ID. id set x updates the device ID to the specified value.Example id get Returns the current device ID id set DEV12345 Sets the device ID to "DEV12345"Notes The device ID must be exactly 8 characters in length. Changing the device ID may affect identification in connected systems or applications.n a new ID to the module. “x” stands for alphanumeric characters including symbols. The new ID must be exactly 8 characters in length. |
| 3 | usr | usr get usr set xxxxxxxx | This command is used to read and configure the device username. Command Format usr get usr set xx – New username (1 to 8 characters) Description usr get returns the current username configured on the device. usr set x updates the username to the specified value.Example usr get Returns the current username usr set admin Sets the username to "admin"Notes Username length must be between 1 and 8 characters. Changing the username affects authentication over the USB interface. |
| 4 | pass | pass get pass set xxxxxxxxx | This command is used to read and configure the device password. Command Format pass get pass set xx – New password (9 to 31 characters, alphanumeric and symbols supported are !, @, ^, (, ))Description pass get returns the current password configured on the device. pass set x updates the device password to the specified value.Example pass get Returns the current password pass set admin1234 Sets the password to "admin1234"Notes Password length must be between 9 and 31 characters. Use a strong password to ensure secure access to the device. Changing the password affects authentication over the USB interface. |
| 5 | usr auth | usr auth get | This command returns the current USB authentication status. Command Format usr auth getResponse Format USR Authentication Disabled – Authentication is DISABLED USR Authentication Enabled– Authentication is ENABLED Description Returns whether USB authentication is currently enabled or disabled. Example usr auth get Returns USR Authentication Enabled if authentication is enabled, otherwise USR Authentication DisabledNotes Ensure authentication is enabled for secure operation. When disabled, commands can be executed without credentials. |
| usr auth on | This command enables USB authentication for the device. Command Format usr auth onDescription Enables authentication over the USB interface. Once enabled, valid credentials are required to execute commands. Example usr auth on Enables USB authenticationNotes Ensure valid username and password are configured before enabling authentication. If credentials are unknown, use factory reset to restore default access. |
||
| usr auth off | This command disables USB authentication for the device. Command Format usr auth offDescription Disables authentication over the USB interface. Once disabled, commands can be executed without requiring a username or password. Example usr auth off Disables USB authenticationNotes Disabling authentication reduces access security. It is recommended to use this feature only in trusted environments. |
||
| 6 | info | info | This command displays module information, including Smart Action status, Power-on configuration, and IO Failsafe status. Command Format infoDescription Returns a summary of key module configurations in a single response. Helps in quickly verifying system setup and operational status. Example info Returns module configuration summaryNotes The response format may vary based on firmware version. Use individual commands for detailed configuration of each feature. |
| 7 | reboot | reboot | This command performs a soft reset of the device. Command Format rebootDescription Restarts the device without altering any stored configuration. All settings, including Smart Action, Timer, Failsafe, and credentials, remain unchanged. Example reboot Performs a device soft resetNotes The device will briefly disconnect and restart after execution. Use this command to recover from temporary issues or apply configuration changes. |
| 8 | fact reset | fact reset | This command performs a factory reset of the device. Command Format fact resetDescription Restores the device to factory default settings. All configurations, including Smart Action, Timer, Failsafe, credentials, and other user-defined parameters, will be erased. Example fact reset Performs a device factory resetNotes The device will briefly disconnect, the LED will blink during the reset process, and the device will restart upon completion. Use this command to recover the device or reset all configurations. This action cannot be undone. |
GPI Command Set
| No. | Command | Example | Description |
|---|---|---|---|
| 1 | gpi | gpi read xxx | This command reads the current state of a specific digital input (GPI). Command Format gpi read xxxxxx – Digital input number (Range: 000 to 015) Response Format 0 or 10 – Input is LOW 1 – Input is HIGH Description The command returns the instantaneous logic level of the selected digital input. Example gpi read 000 Returns 0 or 1 depending on the current state of GPI 0Notes Ensure the input number is within the valid range (000–015). The response reflects the real-time state of the input at the moment of execution. |
| 2 | gpi read | This command reads the current status of all digital inputs in a single operation and returns the values grouped by input channels. Command Format gpi readResponse Format A:XXXXXXXX – Current digital input state (hexadecimal value) Description The returned value represents the state of all digital inputs in the selected group. Each bit corresponds to one input channel. 0 – GPI LOW 1 – GPI HIGH Example A:FFFF – All inputs in Group A are HIGH A:0001 – GPI 0 is HIGH, all other inputs are LOW Group Representation A – Group A (first 16 digital inputs) Each bit represents one input channel 0 – GPI LOW 1 – GPI HIGH Value Range 0000 to FFFF (16-bit) |
|
| 3 | gpi notify on | This command enables digital input (GPI) change notifications. When enabled, the device monitors input state changes and sends a notification to the host whenever a change is detected. Command Format gpi notify onNotification Format A:XXXX/YYYYXXXX – Current input state YYYY – Previous input state Description A notification is sent only when a change is detected in any input bit. The value represents the state of all inputs in the group using hexadecimal format. Example A:00FE/00FF Previous state: 00FF Current state: 00FE This indicates that GPI 0 changed from HIGH (1) to LOW (0), triggering the notification. Group Representation A – Group A (first 16 digital inputs) Each bit represents one input channel 0 – GPI LOW 1 – GPI HIGH Value Range 0000 to FFFF (16-bit) |
|
| 4 | gpi notify off | This command disables the GPI change notification feature. Command Format gpi notify offResponse Format Gpi Notify DisabledDescription Disables automatic notifications for digital input state changes. Once disabled, the device will no longer send updates to the host when input states change. Example gpi notify off Disables GPI change notifications |
|
| 5 | gpi notify get | This command returns whether the GPI change notification feature is enabled or disabled. Command Format gpi notify getResponse Format Gpi Notify Enabled or Gpi Notify DisabledDescription Returns the current status of the gpi change notification feature. Example gpi notify get Returns Gpi Notify Enabled or Gpi Notify Disabled |
GPO Command Set
| No. | Command | Example | Description |
|---|---|---|---|
| 1 | gpo | gpo set xxx | This command sets a specific GPO channel HIGH. Command Format gpo set xxxxxx – GPO number (Range: 000 to 015, numbering starts from 0) Description Set to HIGH the selected GPO channel. Example gpo set 000 GPO 0 set to HIGHNotes Ensure the GPO number is within the valid range (000–015). The command immediately updates the GPO state. If a GPO is mapped to smart action or gpo timer, manual control will be restricted |
| 2 | gpo clear xxx | This command clears a specific GPO channel LOW. Command Format gpo clear xxxxxx – GPO number (Range: 000 to 015, numbering starts from 0) Description Clear to LOW the selected GPO channel. Example gpo clear 000 GPO 0 clear to LOWNotes Ensure the GPO number is within the valid range (000–015). The command immediately updates the GPO state. If a GPO is mapped to smart action or gpo timer, manual control will be restricted |
|
| 3 | gpo status xxx | This command returns the current status of a specific GPO channel. Command Format gpo status xxxxxx – GPO number (Range: 000 to 015, numbering starts from 0) Response Format 0 or 11 – GPO is High 0 – GPO is Low Description Returns the current state of the selected GPO channel. Example gpo status 000 Returns status of GPO 0Notes Ensure the GPO number is within the valid range (000–015). The response reflects the real-time state of the GPO at the moment of execution. |
|
| 4 | gpo status | This command reads the current status of all GPOs in a single operation. Command Format gpo statusResponse Format A:XXXXXXXX – Current GPO state (hexadecimal value) Description The returned value represents the state of all gpos in the selected group. Each bit corresponds to one gpo channel. 0 – GPO low 1 – GPO high Example A:0000 – All GPOs are low A:FFFF – All GPOs are highGroup Representation A – Group A (first 16 GPOs) Each bit represents one GPO channel Value Range 0000 to FFFF (16-bit) |
|
| 5 | gpo set all | This command sets HIGH all GPOs channels. Command Format gpo set allDescription Turns ON all GPOs in a single operation, regardless of their current state. Example gpo set all Sets High all GPOS.Notes This command immediately sets all GPO outputs to High. It overrides any previously set GPO states. If a GPO is mapped to smart action or GPO timer, manual control will be restricted |
|
| 6 | gpo clear all | This command clears to Low all GPO channels. Command Format gpo clear allDescription Clears to Low all GPOs in a single operation, regardless of their current state. Example gpo clear all Clears to Low all GPOsNotes This command immediately sets all GPO outputs to Low. It overrides any previously set GPO states. If a GPO is mapped to smart action or GPO timer, manual control will be restricted |
|
| 7 | gpo write A xxxx | This command controls all GPOs in a single operation using a hexadecimal value. Command Format gpo write G xxxx G – GPO group identifier A – Group A (GPOs 0 to 15) xxxx – GPO state value (hexadecimal) Description Sets the state of multiple GPOs simultaneously. Each bit in the hexadecimal value represents one GPO in the group. Bit Representation 0 – GPO low 1 – GPO high Example gpo write A FFFF – All GPOs set to HIGH in Group AValue Range 0000 to FFFF (16-bit)Notes Each bit position corresponds to a GPO channel within the group. Ensure correct bit mapping to avoid unintended GPO switching. If a GPO is mapped to smart action or GPO timer, manual control will be restricted |
|
| 8 | gpo pwron A xxxx | This command configures the default GPO state that is applied when the module powers on or resets. Command Format gpo pwron G xxxxG – GPO group identifier A – Group A (first 16 GPOs) xxxx – GPO power-on state value (hexadecimal) Description Defines the GPO states that will be applied automatically when the device powers on or resets. Each bit in the hexadecimal value represents the power-on state of one GPO. Bit Representation 0 – GPO LOW 1 – GPO HIGH Example gpo pwron A 00030000 0000 0000 0011 → GPOs 0 and 1 HIGH, all other GPOs LOW Value Range 0000 to FFFF (16-bit)Notes The configured GPO state is applied automatically during device power-up or reset. Ensure correct bit mapping to avoid unintended GPO state changes. If a GPO is mapped to a Smart Action or GPO timer, manual control will be restricted. |
|
| 9 | gpo pwron get | This command returns the poweron value. Command Format gpo pwron getResponse Format Poweron Value : xxxxxxxx – 0000 to FFFF Description Returns Poweron Value configured for GPOs. Example gpo pwron get Poweron Value: 05F3Indicates that GPO 0,1,4-8 and 10 are configured as high and others are configures ad low on poweron. |
|
| 10 | gpo pwron disable | This command disables the GPO poweron feature. Command Format gpo pwron disableDescription Disables the poweron feature configured for GPOs. Once disabled, the GPO will no longer operate based on the poweron value configured. Example gpo pwron disable – Disables the poweron feature for GPOs. |
|
| 11 | gpo tmr get xxx | This command returns the current configuration and status of a specific GPO timer. Command Format gpo tmr get xxxxxx – GPO number (Range: 000 to 015, numbering starts from 0) Response Format Mx D:yyyyM:Mx – Timer mode (M0 [Delayed HIGH], M1 [Delayed LOW], M2 [Toggle]) D:yyyy – Delay value in seconds Description Returns the timer configuration for the selected GPO. Includes the configured timer mode and delay value. Example gpo tmr get 000 – Returns timer status for GPO 0.Notes Ensure the GPO number is within the valid range (000–015). If no timer is configured, the response will indicate timer not active. |
|
| 12 | gpo tmr get | This command returns the list of GPOs with timer configurations. Command Format gpo tmr getResponse Format Active timers: xxx xxx xxxxxx – GPO numbers with timer configured Description Returns a list of GPO channels for which timer functionality is currently configured. Only GPOs with active timer settings are included in the response. Example gpo tmr get Active timers: 000 002 005Indicates that GPO timers are configured on GPO 0, 2, and 5. Notes If no GPO timers are configured, the response may indicate an empty or default state. Use gpo tmr get xxx to view the detailed timer configuration of a specific GPO. |
|
| 13 | gpo tmr disable xxx | This command disables the GPO timer configuration for the specified GPO channel. Command Format gpo tmr disable xxxxxx – GPO number (Range: 000 to 015) Description Disables the timer configured for the selected GPO. Once disabled, the GPO will no longer operate based on the timer settings. Example gpo tmr disable 000 – Disables the timer for GPO 0.Notes Ensure the GPO number is within the valid range (000–015). |
|
| 14 | gpo tmr disable | This command disables the GPO Timer feature for all GPO channels. Command Format gpo tmr disableDescription Disables all configured GPO timers. Once disabled, no GPO will operate based on timer settings. Example gpo tmr disable – Disables all GPO timer operations.Notes Use the GPO timer configuration command to re-enable timer-based behavior. |
|
| 15 | gpo tmr [gpo_number] [timer_mode] [timer_delay] | This command configures the timer behavior of a specific GPO channel, enabling precise control over GPO output states based on time. Command Format gpo tmr xxx mode delayxxx – GPO number (Range: 000 to 015) mode – Defines the operating mode of the GPO timer M0 – Delayed HIGH M1 – Delayed LOW M2 – Toggle Timer delay – Time delay in seconds (Range: 1 to 3600 seconds) Description Configures time-based behavior for the selected GPO channel. The GPO output state changes according to the selected mode and delay value. Examples gpo tmr 000 M0 1 – Sets GPO 0 HIGH after a delay of 1 second gpo tmr 000 M1 4 – Sets GPO 0 LOW after a delay of 4 seconds gpo tmr 000 M2 10 – Toggles GPO 0 every 10 secondsNotes Timer configurations are persistent and remain active even after a power reset. A configured timer continues to operate until it is explicitly disabled or the device is factory reset. If a GPO is already mapped to a Smart Action, a GPO timer cannot be configured. |
GPIO/ADC/PWM Command Set
| No. | Command | Example | Description |
|---|---|---|---|
| 1 | gpio | gpio status xxx | This command returns the current status of a specific GPIO channel. Command Format gpio status xxxxxx – GPIO number (Range: 000 to 007, numbering starts from 0) Response Format 0 or 11 – GPIO is High 0 – GPIO is Low Description Returns the current state of the selected GPIO channel. Example gpio status 000 Returns status of GPIO 0Notes Ensure the GPIO number is within the valid range (000–007). The response reflects the real-time state of the GPIO at the moment of execution. |
| 2 | gpio status A | This command reads the current status of all GPOs in group A in a single operation. Command Format gpio status AResponse Format A:XXXXXXXX – Current GPIO state (hexadecimal value) Description The returned value represents the state of all gpios in the selected group. Each bit corresponds to one gpio channel. 0 – GPIO low 1 – GPIO high Example A:0000 – All GPIOs are low A:00FF – All GPIOs are highGroup Representation A – Group A (first 16 GPIOs) Each bit represents one GPIO channel Value Range 0000 to 00FF (8-bit) |
|
| 3 | gpio status | This command reads the current status of all GPIOs in a single operation. Command Format gpio statusResponse Format A:XXXXXXXX – Current GPIO state (hexadecimal value) Description The returned value represents the state of all gpios in the selected group. Each bit corresponds to one gpio channel. 0 – GPIO low 1 – GPIO high Example A:0000 – All GPIOs are low A:00FF – All GPIOs are highGroup Representation A – Group A (first 16 GPOs) Each bit represents one GPIO channel Value Range 0000 to 00FF (8-bit) |
|
| 4 | gpio set xxx | This command sets a specific GPIO channel HIGH. Command Format gpio set xxxxxx – GPIO number (Range: 000 to 007, numbering starts from 0) Description Set to HIGH the selected GPIO channel. Example gpio set 000 GPIO 0 set to HIGHNotes Ensure the GPIO number is within the valid range (000–007). The command immediately updates the GPIO state. |
|
| 5 | gpio write A xxxx | This command sets the output state of GPIOs in Group A in a single operation. Command Format gpio write A xxxxA – Group identifier (Group A represents the first 8 GPIO channels). xxxx – 8-bit hexadecimal value (Range: 0000 to 00FF). Do not prepend `0x` to the value. Description Sets the output state of all 8 GPIO channels in Group A simultaneously based on the specified hexadecimal value. - **0** – Sets the corresponding GPIO output to LOW. - **1** – Sets the corresponding GPIO output to HIGH. Examples gpio write A 0000Sets all GPIO outputs in Group A to LOW. gpio write A 00FFSets all GPIO outputs in Group A to HIGH. Notes Each bit in the hexadecimal value corresponds to a GPIO channel in Group A. Ensure the corresponding GPIO channels are configured as outputs before executing this command. |
|
| 6 | gpio clear xxx | This command clears a specific GPIO channel LOW. Command Format gpio clear xxxxxx – GPIO number (Range: 000 to 007, numbering starts from 0) Description Clear to LOW the selected GPIO channel. Example gpio clear 000 GPIO 0 clear to LOWNotes Ensure the GPIO number is within the valid range (000–007). The command immediately updates the GPOO state. |
|
| 7 | gpio set all | This command sets HIGH all GPIO channels. Command Format gpio set allDescription Turns ON all GPIOs in a single operation, regardless of their current state. Example gpio set all Sets High all GPIOS.Notes This command immediately sets all GPIO outputs to High. It overrides any previously set GPIO states. If a GPIO is mapped to GPIO timer, manual control will be restricted |
|
| 8 | gpio clear all | This command clears to Low all GPIO channels. Command Format gpio clear allDescription Clears to Low all GPIOs in a single operation, regardless of their current state. Example gpio clear all Clears to Low all GPIOsNotes This command immediately sets all GPIO outputs to Low. It overrides any previously set GPIO states. If a GPIO is mapped to GPIO timer, manual control will be restricted |
|
| 9 | gpio pwron A xxxx XXXX | This command sets the poweron value to GPIOs in group A. Command Format gpio pwron A xxxx XXXXxxxx – GPIO direction [0 – output, 1 – input] XXXX –poweron value [0 – Clear GPIO, 1- Set GPIO] Description Sets the GPIO status on power-on according to the hexadecimal value and IO direction mentioned. gpio poweron 000f 005d Example ‘000f’ ‘005d’ – 0000 0000 0000 1111 0000 0000 0101 1101GPIOs 0 to 3 – input GPIOs 4 to 7 – output Set GPIOs 0,2,3,4&6, Clear GPIOs 1,5&7 |
|
| 10 | gpio pwron get | This command returns the power-on output state configured for all GPIO channels. Command Format gpio pwron getResponse Format Poweron Value : xxxxxxxx – 8-bit hexadecimal value (Range: 0000 to 00FF). Description Returns the power-on value configured for the GPIO channels, indicating the output state each GPIO assumes when the module is powered on. Example gpio pwron getReturns Poweron Value: 00F3Indicates that GPIO 0, 1, and 4–7 are configured HIGH, while the remaining GPIOs are configured LOW on power-on. Notes Each bit in the hexadecimal value corresponds to a GPIO channel: - **1** – GPIO is configured HIGH on power-on. - **0** – GPIO is configured LOW on power-on. |
|
| 11 | gpio pwron disable | This command disables the GPIO power-on feature. Command Format gpio pwron disableDescription Disables the power-on feature configured for the GPIO channels. Once disabled, the GPIOs will no longer be set to their configured power-on values when the module is powered on. Example gpio pwron disableDisables the power-on feature for all GPIO channels. Notes Disabling this feature does not erase the previously configured power-on values. |
|
| 12 | gpio read xxx | This command returns the current status of a specific GPIO channel. Command Format gpio read xxxxxx – GPIO number (Range: 000 to 007, numbering starts from 0) Response Format 0 or 11 – GPIO is High 0 – GPIO is Low Description Returns the current state of the selected GPIO channel. Example gpio read 000 Returns status of GPIO 0.Notes Ensure the GPIO number is within the valid range (000–007). The response reflects the real-time state of the GPIO at the moment of execution. |
|
| 13 | gpio iodir | This command returns the I/O direction status of the GPIO channels. Command Format gpio iodirResponse Format IO Direction : xxxxxxxx – I/O direction value (Range: 0000 to 00FF) Description Returns the I/O direction configuration of the GPIO channels, indicating whether each GPIO is configured as an input or output. Example gpio iodirReturns IO Direction: 00F3Indicates that GPIO 0, 1, and 4–7 are configured as inputs, while the remaining GPIOs are configured as outputs. Notes The returned value represents the I/O direction configuration of all GPIO channels. Each bit corresponds to a GPIO channel, indicating its configured direction. |
|
| 14 | gpio iodir A | This command returns the I/O direction status of GPIOs in Group A. Command Format gpio iodir AResponse Format IO Direction : xxxxxxxx – I/O direction value (Range: 0000 to 00FF) Description Returns the I/O direction configuration of the 8 GPIO channels in Group A, indicating whether each GPIO is configured as an input or output. Example gpio iodir AReturns IO Direction: 00A3Indicates that GPIO 0, 1, 5, and 7 are configured as inputs, while GPIO 2, 3, 4, and 6 are configured as outputs. Notes The returned value represents the I/O direction configuration of all 8 GPIO channels in Group A. Each bit corresponds to a GPIO channel and indicates its configured direction. |
|
| 15 | gpio iodir A xxxx | This command sets the I/O direction of all GPIO channels in a single operation. Command Format gpio iodir xxxx – 8-bit hexadecimal value (Range: 00 to FF). Do not prepend `0x` to the value. Description Configures the direction of all GPIO channels simultaneously based on the specified hexadecimal value. - **0** – Configures the corresponding GPIO as an output. - **1** – Configures the corresponding GPIO as an input. Example gpio iodir 00Sets all GPIO channels as outputs. gpio iodir FFSets all GPIO channels as inputs. Notes - The GPIO direction must be configured using the `gpio iodir A xxxx` command before using the `gpio read` and `gpio set all` commands. - The direction configured using the `iodir` command may be modified by subsequent `set`, `clear`, or `read` commands. This applies only to the GPIO channels accessed through these commands. |
|
| 16 | gpio iomask | This command returns the I/O direction status of all GPIO channels. Command Format gpio iodirResponse Format IO Direction : xxxxxxxx – I/O direction value (Range: 0000 to 00FF) Description Returns the I/O direction configuration of all GPIO channels, indicating whether each GPIO is configured as an input or output. Example gpio iodirReturns IO Direction: 00F3Indicates that GPIO 0, 1, and 4–7 are configured as inputs, while the remaining GPIOs are configured as outputs. Notes Each bit in the hexadecimal value represents the direction of a corresponding GPIO channel: - **0** – GPIO configured as output. - **1** – GPIO configured as input. The response reflects the current I/O direction configuration of the GPIO channels. |
|
| 17 | gpio iomask A | This command returns the I/O mask status of GPIOs in Group A. Command Format gpio iomask AResponse Format IO Mask : xxxxxxxx – I/O mask value (Range: 0000 to 00FF) Description Returns the I/O mask configuration of the 8 GPIO channels in Group A, indicating which GPIOs are enabled (unmasked) or disabled (masked). Example gpio iomask AReturns IO Mask: 00AAIndicates that the GPIOs corresponding to the set bits (1) are unmasked (enabled), while the GPIOs corresponding to the cleared bits (0) are masked (disabled). Notes Each bit in the hexadecimal value corresponds to a GPIO channel in Group A: - **1** – GPIO is unmasked (enabled). - **0** – GPIO is masked (disabled). |
|
| 18 | gpio iomask A xxxx | This command sets the mask/unmask status of all GPIO channels in a single operation. Command Format gpio iomask xxxxxxxx – 8-bit hexadecimal value (Range: 0000 to 00FF). Do not prepend `0x` to the value. Description Configures the mask/unmask status of all GPIO channels simultaneously based on the specified hexadecimal value. - **0** – Masks (disables) the corresponding GPIO. - **1** – Unmasks (enables) the corresponding GPIO. Examples gpio iomask 0000Masks all GPIO channels. gpio iomask 00FFUnmasks all GPIO channels. Notes Each bit in the hexadecimal value corresponds to a GPIO channel. A set bit (1) enables the corresponding GPIO, while a cleared bit (0) disables it. |
|
| 19 | gpio notify on | This command enables digital input (GPIO) change notifications. When enabled, the device monitors input state changes and sends a notification to the host whenever a change is detected. Command Format gpio notify onNotification Format A:XXXX/YYYYXXXX – Current input state YYYY – Previous input state Description A notification is sent only when a change is detected in any input bit. The value represents the state of all inputs in the group using hexadecimal format. Example A:00FE/00FF Previous state: 00FF Current state: 00FE This indicates that GPI 0 changed from HIGH (1) to LOW (0), triggering the notification. Group Representation A – Group A (first 16 digital inputs) Each bit represents one input channel 0 – GPI LOW 1 – GPI HIGH Value Range 0000 to 00FF (8-bit) |
|
| 20 | gpio notify off | This command disables the GPI change notification feature. Command Format gpi notify offResponse Format Gpi Notify DisabledDescription Disables automatic notifications for digital input state changes. Once disabled, the device will no longer send updates to the host when input states change. Example gpi notify off Disables GPI change notifications |
|
| 21 | gpio notify get | This command returns whether the GPI change notification feature is enabled or disabled. Command Format gpi notify getResponse Format Gpi Notify Enabled or Gpi Notify DisabledDescription Returns the current status of the gpi change notification feature. Example gpi notify get Returns Gpi Notify Enabled or Gpi Notify Disabled |
|
| 22 | adc | adc read xxx | This command reads the analog value from a specific ADC input channel. Command Format adc read xxxxxx – ADC input channel number (Range: 000 to 005) Response Format 0 to 1023Description Reads the analog voltage present at the selected ADC input and returns its corresponding digital value in the range of 0 to 1023. Examples adc read 000Reads the analog value from ADC input 0. adc read 004Reads the analog value from ADC input 4. Notes Ensure the ADC input channel number is within the valid range (000–005). The returned value represents the analog input voltage converted into a 10-bit digital value. |
| 23 | pwm | pwm status | This command returns the current status of all PWM channels in a single operation. Command Format pwm statusResponse Format A:XXXXA – Group identifier (Group A represents the first 16 PWM channels). XXXX – Current PWM channel state (16-bit hexadecimal value, Range: 0000 to FFFF). Description Returns the current output state of all PWM channels in Group A. Each bit in the hexadecimal value corresponds to one PWM channel. - **0** – PWM channel output is LOW. - **1** – PWM channel output is HIGH. Examples A:0000Indicates that all PWM channels are LOW. A:FFFFIndicates that all PWM channels are HIGH. Notes Each bit in the 16-bit hexadecimal value represents the output state of a corresponding PWM channel in Group A. |
| 24 | pwm status xxx | This command returns the current status of a specific PWM channel. Command Format pwm status xxxxxx – PWM channel number (Range: 000 to 007, numbering starts from 0). Response Format 0 or 1- **1** – PWM channel is HIGH. - **0** – PWM channel is LOW. Description Returns the current output state of the selected PWM channel. Example pwm status 000Returns the status of PWM channel 0. Notes - Ensure the PWM channel number is within the valid range (000–007). - The response reflects the real-time output state of the PWM channel at the moment of execution. |
|
| 25 | pwm freq xxx y | This command sets the operating frequency of a specific PWM channel. Command Format pwm freq xxx yParameters - **xxx** – PWM channel number (000 or 001). - **y** – Desired PWM frequency in Hz. - **PWM 000:** 1 Hz to 5 MHz. - **PWM 001:** 1000 Hz to 5 MHz. Description Sets the operating frequency of the selected PWM channel. The specified frequency must be within the supported range for that channel. Examples pwm freq 000 1000Sets the frequency of PWM channel 000 to 1 kHz. pwm freq 001 5000000Sets the frequency of PWM channel 001 to 5 MHz. Notes - Ensure the PWM channel number is either 000 or 001. - Specify the frequency in Hz and ensure it is within the supported range for the selected channel. |
|
| 26 | pwm duty xxx y | This command sets the duty cycle of a specific PWM channel. Command Format pwm duty xxx yParameters - **xxx** – PWM channel number (000 or 001). - **y** – Desired duty cycle (Range: 0 to 100%). Description Sets the duty cycle of the selected PWM channel. The duty cycle determines the percentage of time the PWM signal remains HIGH during one complete cycle. Examples pwm duty 000 50Sets the duty cycle of PWM channel 000 to 50%. pwm duty 001 75Sets the duty cycle of PWM channel 001 to 75%. Notes - Ensure the PWM channel number is either 000 or 001. - Specify the duty cycle as a percentage between 0 and 100. |
|
| 27 | pwm on xxx | This command enables the PWM output of a specific channel. Command Format pwm on xxxParameters - **xxx** – PWM channel number (000 or 001). Description Enables the PWM output on the selected channel using the previously configured frequency and duty cycle. Example pwm on 000Enables the PWM output on channel 000. Notes - Ensure the PWM channel number is either 000 or 001. - Configure the desired frequency and duty cycle before enabling the PWM output. |
|
| 28 | pwm off xxx | This command disables the PWM output of a specific channel. Command Format pwm off xxxParameters - **xxx** – PWM channel number (000 or 001). Description Disables the PWM output on the selected channel. Example pwm off 000Disables the PWM output on channel 000. Notes Ensure the PWM channel number is either 000 or 001. |
|
| 29 | pwm disable | This command disables PWM functionality on all available PWM channels. Command Format pwm disableDescription Disables the PWM output on all available PWM channels, stopping their PWM signal generation. Example pwm disableDisables all PWM channels. Notes This command disables PWM functionality on all available channels, regardless of their individual configuration. |
Standalone Commands
Standalone commands include the Smart Action Engine and IO Fail-safe Control commands, which allow users to configure automation actions and manage fail-safe behaviour effectively.
Smart Action Engine Configuration
| No. | Command | Parameters | Example | Description |
|---|---|---|---|---|
| 1 | smart | get xxx/ get/ -i xxx/disable/ [input] [mode] [target_output] [value] | smart get 000, smart -i 000, smart disable, smart 000 L 000 1 | Read configured data, clear configured input, disable entire smart action feature, configure smart feature |
| Smart Action Engine Detailed Commands | ||||
| 1 | smart | get xxx | smart get 000 | This command returns the current Smart Action configuration for a specific digital input channel. Command Format smart get xxxxxx – Digital input number (Range: 000 to 015) Response Format M:L R:000:HM – Input mode (L: LOW, H: HIGH, F: FOLLOW) R – GPO number H / L – Trigger value (HIGH / LOW) Description Returns the Smart Action settings configured for the selected digital input. Includes the operating mode, mapped GPO outputs, and configured trigger values. Example smart get 000 – Returns the Smart Action configuration for Digital Input (GPI) 0.Notes
|
| 2 | get | smart get | This command returns the list of digital inputs that have Smart Action configured. Command Format smart getResponse Format Mapped IOs: xxx xxx xxxxxx – Digital input numbers with Smart Action configured Description Returns a list of digital input channels for which Smart Action is currently configured. Only digital inputs with Smart Action mappings are included in the response. Example smart get Mapped IOs: 000 001 007Indicates that Smart Action is configured on Digital Inputs 0, 1, and 7. Notes If no Smart Action is configured, the response may indicate an empty or default state. Use smart get xxx to view the detailed Smart Action configuration of a specific digital input. |
|
| 3 | -i xxx | smart -i 000 | This command disables the Smart Action configured for the specified digital input channel. Command Format smart -i xxxxxx – Digital input number (Range: 000 to 015) Description Disables the Smart Action mapping configured for the selected digital input channel. The digital input remains available for normal input operation but will no longer trigger the mapped GPO actions. Example smart -i 000 – Disables the Smart Action mapped to Digital Input (GPI) 0.Notes Ensure the input number is within the valid range (000–015). |
|
| 4 | disable | smart disable | This command disables the Smart Action feature for all digital input channels. Command Format smart disableDescription Disables all configured Smart Action mappings. Once disabled, no digital input will trigger any GPO output based on Smart Action logic. Example smart disable – Disables the Smart Action feature for all digital inputs. |
|
| 5 | smart [input] [mode] [target_output] [value] | smart 000 L 000 1 | This command configures the Smart Action feature. Smart Action maps digital inputs to GPO outputs and automates GPO control based on the input state. Command Format smart xxx mode target_output valuexxx – Digital input number (Range: 000 to 015) mode – Defines the trigger condition for the GPO L – Trigger when input is LOW H – Trigger when input is HIGH F – Follow mode (GPO follows the input state) target_output – GPO to be controlled by the selected digital input (Range: 000 to 015) value – GPO output state when triggered 0 – GPO LOW 1 – GPO HIGH Not required in F (Follow) mode Description Each command links a digital input to a GPO output. The GPO action depends on the selected mode and trigger condition. Examples smart 000 L 000 1 – When Digital Input 0 goes LOW, GPO 0 goes HIGH smart 001 H 002 0 – When Digital Input 1 goes HIGH, GPO 2 goes LOW smart 003 F 003 – GPO 3 follows Digital Input 3 (LOW → LOW, HIGH → HIGH)Notes The digital input index corresponds to the input specified in the command. Follow mode (F) continuously mirrors the input state without delay. If a GPO is mapped to a GPO timer, the same GPO cannot be configured with the Smart Action feature. One GPO can be mapped to only one digital input, while one digital input can have multiple GPOs mapped to it. |
|
IO Failsafe Control Configuration
| No. | Command | Parameters | Example | Description |
|---|---|---|---|---|
| 1 | fs | get/reset/disable/ [input] [mode] [relay_group] [relay_map] | fs get, fs reset, fs disable, fs 000 L A 0012 | Read status of IO failsafe, Manual Reset Failsafe, Disable Failsafe, Configure Failsafe |
| IO Failsafe Control Detailed Commands | ||||
| 1 | fs | get | fs get | This command returns the IO Failsafe configuration for the specified digital input. Command Format fs getResponse Format I:xxx M:X G:X V:xxxxI:xxx – Digital input number M:X – Trigger mode (L: LOW, H: HIGH) G:X – Relay group (e.g., A) V:xxxx – Relay state value (hexadecimal) Description Returns the configured failsafe settings for the selected digital input. Includes trigger mode, relay group, and relay output value. Example fs get Returns failsafe configuration for Digital Input 0Notes If no failsafe is configured, the response will indicate "FS Not Configured". |
| 2 | reset | fs reset | This command performs a manual reset of the IO Failsafe condition to resume normal device operation. Command Format fs resetDescription Clears the active failsafe state triggered by a digital input. Restores normal operation of relay outputs and system behavior. Example fs reset Clears the failsafe condition and resumes operationNotes Use this command after resolving the condition that triggered the failsafe. If the trigger condition still exists, the failsafe may be reactivated immediately. |
|
| 3 | disable | fs disable | This command disables the IO Failsafe feature completely. Command Format fs disableDescription Disables all configured IO Failsafe behavior. Once disabled, digital inputs will no longer trigger failsafe actions. Example fs disable Disables IO Failsafe featureNotes Use the configuration command to reactivate failsafe behavior. |
|
| 4 | fs [input] [mode] [relay_group] [relay_value] | fs 000 L A 0012 | This command configures the IO Failsafe feature, enabling the module to automatically set relay states based on a defined digital input condition. Command Format fs xxx mode G xxxxxxx – Digital input number Note: The IO Failsafe feature currently supports Digital Input 0 only mode – Defines the trigger condition L – Trigger when input is LOW H – Trigger when input is HIGH G – Relay group identifier A – Group A (first 16 relays) xxxx – Relay state value (hexadecimal) Description Defines the relay output state when the specified digital input reaches the configured condition. Each bit in the hexadecimal value represents one relay. Bit Representation 0 – Relay OFF 1 – Relay ON Example Value 0003 – 0000 0000 0000 0011 Relays 0 and 1 ON, all others OFF Value Range 0000 to 00FFExamples fs 000 L A 0012 When Digital Input 0 goes LOW, relays are set according to 0012 Relay 1 and Relay 4 turn ON, all others turn OFF fs 000 H A 0012 When Digital Input 0 goes HIGH, relays are set according to 0012 Relay 1 and Relay 4 turn ON, all others turn OFF |
|
Important Note: Once Fail-safe is triggered, GPO control is disabled. Smart Action Engine rules, GPO timers, and power-on commands are saved and will resume operation only after the Fail-safe condition is resolved.
Additional Information
Using GPIO's with switches
It is possible to read the position of a switch that is connected to a GPIO. A SPST or SPDT switch is recommended to use with GPIO’s. Push switches do maintain the contacts closed only for a very short time so using them is
discouraged. The fundamental idea of using a switch with GPIO is to have the switch cause a voltage level change at the GPIO pin when pressed. Usually this is achieved by using an external pull-up resistor along with the switch. The pull up resistor is connected between the GPIO and VDD and the switch is connected between the GPIO and ground. When the switch is not pressed, the pull-up resistor will cause the GPIO to stay at VDD voltage level. When the switch is pressed, the GPIO is short circuited to ground and stays at zero voltage. This change in voltage and thus the position of the switch can be read using “gpio read” command. Please see the recommended connection diagram below
Mechanical Dimensions

FAQ
Q. I need a customized version of this product, can Numato do the customization for me?
A. Yes, we can definitely do customization but there may be minimum order requirements depending on the level of customization required. Please write to sales@numato.com for a quote.
Q. Where can I buy this product?
A. All Numato products can be ordered directly from our web store http://www.numato.com. We accept major credit cards and Paypal and ship to almost all countries with a few exceptions. We do have distributors in many countries where you can place your order. Please find the current list of distributors here.



