Skip to main content

reComputer Rugged J401 Hardware and Interface Usage

This wiki introduces the various hardware and interfaces of reComputer Rugged J40 and explains how to use them to expand your project ideas. Most interfaces on the reComputer Rugged J40 use M12 connectors, providing IP66-rated water and dust resistance as well as excellent vibration resistance. This makes it suitable for long-term deployment in harsh outdoor environments, such as onboard vessels and in port monitoring systems.

Image

Hardware Interface Overview

Power

Image

reComputer Rugged J401 is equipped with a M12 A-code DC 19-48V power interface, compatible with a wide voltage input range,making it suitable for various power supply environments.The interface definition is shown in the table below.

Image

PinUsageTypeWire Color
1DC Power InPowerBrown
2White
3GroundGroundBlue
4Black

Display

Remove the two screws securing the waterproof side cover and open it to access the HDMI 2.1 port, which provides high-quality display output.

Image

M.2 Key M for SSD and M.2 Key E for Wi-Fi and Bluetooth

The reComputer Rugged J401 features a M.2 Key E interface, through which you can expand the device's Bluetooth and Wi-Fi capabilities.We recommend using the Intel Dual Band RTL8822CE Wireless NIC.

M.2 Key M is an interface designed for high-speed solid-state drives (SSDs), providing ultra-fast data transfer speeds, ideal for high-performance applications.

The interface location is shown in the figure below.

Image

Usage Instruction

If you want to remove the included SSD and install a new one, you need to ensure that your SSD meets the following two conditions:

  • Support the M.2 Key M slot with x4 PCIe Gen3 interface.

  • Conform to the 2242 size specification.

Open the terminal in Jetson device and enter the following command to test the SSD's read and write speed.

sudo dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync

Image

Please run sudo rm tempfile command to delete the cache files after the test is complete.

After installing the Wi-Fi module and powering on the device, we can configure the device's Wi-Fi and Bluetooth settings.

Image

Of course, we can also check the device's operating status using the following commands.

ifconfig

Image

bluetoothctl

Image

M.2 Key B for 4G/5G Module

The M.2 Key B slot supports 4G/5G cellular modules with Nano SIM card holder.

Hardware Connection

Image

Usage Instruction

Step 1. Check Hardware Recognition

lsusb 

This command displays a list of all USB devices connected to the system, along with their manufacturer (ID), type, and other information. For example, the output might show a device from Quectel Wireless Solutions Co., Ltd. EM12-G, indicating that the 5G module is present.

Image

Step 2. Confirm Driver Loading

It's essential to ensure that the option driver, which is required for the 5G module, is loaded. We can use the lsmod command to check.

lsmod | grep option 

If the option driver is loaded successfully, relevant information about the driver will be displayed in the output.

Image

Step 3. Configure ModemManager

ModemManager is a tool for managing modem devices, and it needs to be installed and restarted.

sudo apt install modemmanager 
sudo systemctl restart ModemManager

The apt install command is used to install the ModemManager package, while systemctl restart restarts the ModemManager service to ensure that the new settings take effect.

Step 4. Verify Module Identification

We can use the mmcli -L command to check if the ModemManager can correctly identify the 5G module.

mmcli -L 

If the 5G module is recognized, an output similar to /org/freedesktop/ModemManager1/Modem/0 will be displayed, indicating the path to the detected modem device.

Image

Step 5. Set the APN

APN (Access Point Name) is crucial for connecting a mobile device to the network.We'll use the nmcli command to create a bearer profile. Taking China Mobile as an example, we can create a configuration file with the following commands:

sudo nmcli con add type gsm ifname "*" apn "CMNET" ipv4.method  auto 

This command adds a new GSM (Global System for Mobile Communications) type connection, specifying the APN as "CMNET" and using automatic IPv4 configuration.

Step 6. Activate the Connection

After creating the bearer profile, we need to activate the connection.

sudo nmcli con up "gsm" 

This command activates the GSM connection, and if successful, a confirmation message will be displayed.

Image

Step 7. Re-verify Module Identification

Run the mmcli -L command again to ensure that the module remains recognized after configuring the APN.

mmcli -L 

Step 8. Check Module Status

Finally, we can use the mmcli -m 0 command to view detailed information about the module, such as IP allocation, carrier, and network connection status.

mmcli -m 0 

This command provides comprehensive details about the 5G module, including its manufacturer, model, supported and current network technologies, device status, and connected network operators.

Image

Ethernet

The reComputer Rugged J401 provides 1x standard Gigabit Ethernet (10/100/1000M) RJ45 port (J35) and 4x Gigabit PSE (Power Sourcing Equipment) RJ45 ports (J36–J39). The standard Gigabit port is used for general network connectivity. The PSE ports support IEEE 802.3af/at standards, enabling power delivery over Ethernet to connected devices such as IP cameras and wireless access points, with a maximum output of 15.4W per port (802.3af). This makes it ideal for industrial, AMR, and outdoor edge computing applications, eliminating the need for separate power cabling. All Gigabit ports are derived from the PCIe controller within the Jetson Orin module and support 10/100/1000M auto-negotiation.

Image

USB

The reComputer Rugged J401 provides 4x USB 3.2 Type-A ports (via an internal USB 3.1 Gen1 hub, supporting up to 5Gbps data rates for connecting high-speed peripherals, storage devices, or cameras) and 1x USB 2.0 Type-C debug port (which functions as a serial console for accessing system logs, debugging boot issues, and performing firmware updates).

USB-A Speed test

Create a script to test USB device speed:

vim test_usb.sh

Paste the following content:

cat <<'EOF' | sudo tee test_usb.sh >/dev/null
#!/bin/bash
set -e

MOUNT_POINT="$1"
TEST_FILE="$MOUNT_POINT/test_usb_speed.bin"

if [ -z "$MOUNT_POINT" ]; then
echo "Usage: $0 <mount_point>"
echo "Example: $0 /media/seeed/USB"
exit 1
fi

if [ ! -d "$MOUNT_POINT" ]; then
echo "Error: $MOUNT_POINT is not a directory"
exit 1
fi

echo "Write test..."
dd if=/dev/zero of="$TEST_FILE" bs=1M count=2048 conv=fdatasync status=progress

echo
echo "Drop caches..."
sync
echo 3 | sudo tee /proc/sys/vm/drop_caches >/dev/null

echo "Read test..."
dd if="$TEST_FILE" of=/dev/null bs=1M count=2048 status=progress

echo
echo "Cleaning up..."
rm -f "$TEST_FILE"
EOF

Press Esc to exit Insert mode, then type :w and press Enter to save the script, and then exit the process.

Make the script executable and test:

sudo chmod +x test_usb.sh
./test_usb.sh /mnt # If your USB drive is mounted at /mnt
# Or
./test_usb.sh /media/usb # If your USB drive is mounted at /media/usb
# Or
./test_usb.sh /path/to/your/usb/mount_point

Image

USB 2.0 Type-C port

Using this serial port, via the USB-C data cable, you can monitor the debugging information of input and output on the PC side.

Image

Install the Silicon Labs CP210x Universal Windows VCP Driver on Windows.

In Device Manager, locate and confirm the COM port assigned to the serial device

(COM8 in the screenshot).

Image

Run the following commend in PowerShell:

#Choose your own serial port 
python -m serial.tools.miniterm COM8 115200

Log in with username and password.

Image

RTC

The reComputer Rugged J401 includes a hardware RTC with battery backup for accurate timekeeping.

Hardware Connection

Image

Usage Instruction

Step 1. Connect an RTC battery as mentioned above.

Step 2. Turn on reComputer Rugged J401.

Step 3. On the Ubuntu Desktop, click the drop-down menu at the top right corner, navigate to Settings > Date & Time, connect to a network via an Ethernet cable and select Automatic Date & Time to obtain the date/ time automatically.

Image

If you have not connected to internet via Ethernet, you can manually set the date/ time here.

Step 4. Open a terminal window, and execute the below command to check the hardware clock time:

cat /sys/devices/platform/bpmp/bpmp:i2c/i2c-4/4-003c/nvvrs-pseq-rtc/rtc/rtc0/time

Step 5. Disconnect the network connection and reboot the device. You will find that the system time has lost power but still functions normally.

Image

CAN

Testing and an introduction will be added once the documentation is complete.

DI/DO

The DI/DO interfaces of reComputer Rugged J401 are integrated on the J47 2x10P connector, sharing the interface with CAN interfaces. They support 2-channel digital input and 2-channel digital output, featuring stable signal transmission and industrial-grade voltage adaptation, suitable for connecting digital sensors, relays, and other peripheral devices.

Image

Hardware Connection

The corresponding DI/DO pins on the M12 interface are shown in the figure below.

Image

Digital Input (DI) /Digital Output(DO) Channels

Usage instruction

Digital Output (DO) Operation

The DO interfaces adopt open-drain output. You can set the output level (high/low) via commands to control peripherals such as relays and LEDs.

Run the following command to enable the DO channel (output 12V, powered by the external pull-up resistor and 12V power supply):

# Enable DO_30V_1 (gpiochip0 106)
sudo gpioset --mode=wait 0 106=1

# Enable DO_30V_2 (gpiochip0 43)
sudo gpioset --mode=wait 0 43=1

Run the following command to disable the DO channel (output ~0V):

# Disable DO_30V_1 (gpiochip0 106)
sudo gpioset --mode=wait 0 106=0

# Disable DO_30V_2 (gpiochip0 43)
sudo gpioset --mode=wait 0 43=0

DO Before Pulling High:

Image

DO After Pulling High:

Image

Digital Input (DI) Operation

Use the gpioget command to read the input level of the DI channel (return value 1 = high level, 0 = low level) and obtain the status of peripheral devices.

# Read DI_12V_1 (gpiochip0 105) status
gpioget gpiochip0 105

# Read DI_12V_2 (gpiochip0 144) status
gpioget gpiochip0 144

Image

UART

The reComputer Rugged J401 is equipped with an independent UART interface (UART1) that support RS232, RS422, and RS485 communication modes, featuring stable signal transmission and wide compatibility with peripheral devices.

Hardware Connection

UART Interface Channels

Switch between RS232, RS485, and RS422 modes by toggling the SW3 switch.

Note: When the switch is pressed down (ON), the bit is 0; When not pressed, the bit is 1

Image

Mode_0Mode_1Mode_2ModeStatus
000RS-422 Full Duplex1T/1R RS-422
001Pure RS-2323T/5R RS-232
010RS-485 Half Duplex1T/1R RS-485, TX ENABLE
Low Active
011RS-485 Half Duplex1T/1R RS-485, TX ENABLE High Active
100RS-422 Full DuplexRS-422 with termination resistor
101RS-2321T/1R RS-232 co-exists with RS485 application without the need for the bus switch bus (for special usage)
110RS-4851T/1R RS-485 with termination resistor, TX ENABLE Low Active
111ShutdownAll I/O pins are high impedance

SPI

Hardware Connection

Image

Usage Instruction

Use Dupont wires to connect the core pins of the target SPI channel (take /dev/spidev0.0 as an example): Connect the MOSI pin to its MISO pin (realize data loopback transmission/reception).

The wiring diagram is as follows:

Image

Step 1: Load SPI Kernel Module (Prerequisite)

Before operating the SPI interface, ensure the spidev kernel module is loaded (the default system may preload it, but it is recommended to verify manually):

sudo modprobe spidev

If the command is executed without error prompts, it means the module is loaded successfully; if the module is already loaded, the command will not return any information, which is a normal phenomenon.

Step 2: View SPI Device Nodes

Enter the following command in the terminal to view the device name mapped by the SPI interface of reComputer Rugged J401:

ls /dev/spidev*

If no device node is displayed, it means the spidev module is not loaded successfully. Re-run sudo modprobe spidev and check the system log for troubleshooting.

Step 3: Obtain and Compile the SPI Test Code

Pull the spidev-test test code from GitHub and compile it:

git clone https://github.com/rm-hull/spidev-test
cd spidev-test
gcc spidev_test.c -o spidev_test

Step 4: Run the SPI Test Program

Enter the following command in the terminal to run the SPI test program (take /dev/spidev2.0 as an example):

sudo ./spidev_test -v -D /dev/spidev0.0 -s 100000 -p "Hello SPI"

Step 5: Verify the Test Result

After running the test command, you can observe the data transmission and reception status of the SPI0.0 interface in the terminal. The core output is as follows:

Image

Key judgment standard: The TX (transmitted) data is consistent with the RX (received) data, indicating that the SPI loopback test is successful, and the SPI interface function is normal.

I2C

The Rugged J401 provides an I2C interface via the J8 2x10 Pin connector, enabling easy connection of sensors and peripherals for system expansion.

Hardware Connection

Image

Image

Connect your I2C device to the I2C interface on the carrier board:

  • Ground -> Ground (Pin 1)

  • SDA -> SDA (Pin 16)

  • SCL -> SCL (Pin 14)

  • VCC -> 3V3 (Pin 20)

Usage Instruction

Step 1. Install the I2C testing tools:

sudo apt update
sudo apt-get install i2c-tools

Step 2. View the I2C bus mappings:

i2cdetect -l

Step 3. Scan for devices on the I2C bus:

sudo i2cdetect -y -r 1

Image

Resources

Tech Support & Product Discussion

Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible.

Loading Comments...