# ADP130 Isolated DIO Module

An optional DIO add-in card is available. The add-in card has an NXP i.MX1050-series microcontroller that can communicate with the host processor over USB. The card provides an interactive shell for configuration on a virtual COM port.

Supported VIN/Input/Output Voltage: 5-48V

## <mark style="color:blue;">Configuration</mark> <a href="#configuring-the-dio-card" id="configuring-the-dio-card"></a>

The add-in card is configured interactively through its shell using a serial terminal emulator program. The shell is accessed differently depending on operating system.

### **Windows Shell Access**

<figure><img src="https://3062424488-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlLHqs7kbNoKOFTwGOfH6%2Fuploads%2Fgit-blob-e202912c6a20d3d8a4ac6ec10cb3e91ed836dae3%2F702b4d68cbf93056b7f78aeb080a71ad4e3091383a7721e573499a74e5eef235.png?alt=media" alt="" height="547" width="1024"><figcaption></figcaption></figure>

1. Open Device Manager by pressing Win+X M. Open the “Ports (COM & LPT)” menu.
2. Note the “COM#” numbers on each port listed.
3. Download and install PuTTY from the link above.
4. Open PuTTY. When prompted, enter the COM port number in the “Serial line” text box, then click “Open”.
5. If the port number was correct, a “uart:\~$” prompt should appear. If not, try a different port.

### **Linux Shell Access**

1. Install picocom, e.g. “sudo apt install picocom” on Ubuntu.
2. Open the shell’s virtual COM port with picocom by running “picocom /dev/serial/by-id/usb-OnLogic\_DIO-\*-if00”.
3. Some Linux distributions may not configure udev to produce by-id links. If those links are missing, try /dev/ttyACM0 and similar devices.

Once the shell is open, type “help” for usage information. A description of available shell commands can also be found [**here**](https://static.onlogic.com/resources/firmware/documentation/shell.html).

While the microcontroller shell is intended for human interaction, it can be used to programmatically control the MCU. To avoid a number of pitfalls when doing so, observe the following best practices:

* On Linux, use the symlinked device nodes inside `/dev/serial/by-id` instead of hardcoding `/dev/ttyACMx` device names. `/dev/ttyACMx` numbering is
* unstable; `/dev/serial/by-id/usb-OnLogic_<device>-if00` will reliably point to the terminal interface.
* When writing Linux shell scripts, ensure that the echo flag is disabled on the TTY by running `stty -F /dev/serial/by-id/<device> -echo` before
* interacting with the shell. Most serial libraries (pyserial, serialport-rs, etc.) will automatically disable this flag.
* When sending a command, precede it with a ‘\x03’ byte to clear the terminal’s line buffer and ensure that the command is interpreted correctly. Follow the command with a ‘\r’ or ‘\n’ character to execute the command.
* Send less than 64 bytes at a time. To send longer commands, explicitly flush the port’s output buffer in between each block of 64 bytes.

### **Connection Diagrams**

External Connector Pinout - Note the key notch at pins 7 & 9

<figure><img src="https://3062424488-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlLHqs7kbNoKOFTwGOfH6%2Fuploads%2Fqos3IxvURPwBc5RIMzkB%2Fimage.png?alt=media&#x26;token=615609b0-8fea-416f-83b7-7e1d19ab22e1" alt=""><figcaption></figcaption></figure>

Digital Input (Active-Low)

<figure><img src="https://3062424488-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlLHqs7kbNoKOFTwGOfH6%2Fuploads%2Fgit-blob-0153204bc3086c325a8bd0579a131f9a8b0d9c2f%2Fa549c467e904466feb2f33ac344cb7552994ff55c7eac1c2a6a959c27ce95929.png?alt=media" alt="" height="104" width="433"><figcaption></figcaption></figure>

Digital Input (Active-High)

<figure><img src="https://3062424488-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlLHqs7kbNoKOFTwGOfH6%2Fuploads%2Fgit-blob-9dac3b8fa31ad8b1b2fcb5000d0a07b9c20d96ed%2Fdc5e535291f929649fe34c1025305d80abd2aba151335a1e9a13227ec0c82363.png?alt=media" alt="" height="106" width="433"><figcaption></figcaption></figure>

Digital Output (Low-Side/Sinking)

<figure><img src="https://3062424488-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlLHqs7kbNoKOFTwGOfH6%2Fuploads%2Fgit-blob-b30e9b5c13544dc2f29a5b8f060675ae5c8215b0%2Fac9dc846f13fdd64d25c1332074204087a5c26574dcae01e4380efe667b4be2e.png?alt=media" alt="" height="148" width="438"><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.onlogic.com/product-documentation/components-and-expansion/dio/adp130-isolated-dio-module.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
