Skip to main content

reTerminal DM Getting Started


reTerminal DM is A 10.1" open-source industrial HMI - an Integrated Device Master to unify data flow and manage the onsite device.

Based on Raspberry Pi CM4, and as a Panel PC, HMI, PLC, IIoT Gateway all-in-one device, reTerminal DM is a new generation of interactive sensing hub with an IP65 industrial-grade large screen.

It is equipped with rich scalability and hybrid connectivity, supporting CAN bus, RS485, RS232, Gigabit Ethernet port, and other interfaces, as well as powerful wireless communication capabilities such as 4G, LoRa®, WiFi, and BLE.

*4G and LoRa® modules does not come with reTerminal DM by default, please purchase the relevant modules accordingly, for 4G bundle


  • HMI, PLC, Panel PC and gateway in one: Perfect for the distributed hub devices
  • Low code programming for event-driven applications: Natively integrated Node-RED for flow-based editing and one-click deployment, compatible with all software runs on Raspberry Pi
  • Rugged design for harsh working environment: IP65 front panel, -10~50°C operating temperature
  • Hybrid connectivity: Support 4G LTE, LoRaWAN®, WiFi, BLE, RS485/RS232, CAN bus, 1000M Ethernet, USB, HDMI
  • Open-source design in software and hardware: Powered by Raspberry Pi CM4, welcome customization or derivatives
  • Product warranty: Two-year warranty

*4G and LoRa® modules does not come with reTerminal DM by default, please purchase the relevant modules accordingly.


Quad-core [email protected]
Storage32GB eMMC
M.2 SATA SSD Slot 2280-B Key (optional)
OS SupportRaspbian
SenseCraft Edge OS
Max. Resolution1280 x 800
Max. Colors16.7M (8-bit)
Luminance400 nit
Viewing Angle170/170 H/V°
Backlight Life30000 hrs
Touch Type10-point Capacitive
Pencil Hardness7H
VideoHDMI 2.0
AudioMicrophone x 2
3.5mm Audio Jack
CameraCSI (optional)
Ethernet1 x 10/100/1000 Mbps
1 x 10/100/1000 Mbps (optional)
USB2 x USB-A 2.0 Host
2 x USB 3.0 (optional)
RS4851 x RS-485 > Terminal Block
1 x RS-485 > DB9 (optional)
RS2321 x RS-232 > Terminal Block
1 x RS-232 > DB9 (optional)
CAN1 x CAN-BUS > Terminal Block
DI4 x DI > Terminal Block
DO4 x DO > Terminal Block
40pin GPIOInside
Wireless Communication
WiFiOn-chip WiFi
BLEOn-chip BLE
LoRa®Mini-PCIe for LoRaWAN® (optional)
CellularMini-PCIe for 4G (optional)
Input2-pin Terminal Block
PoE12W PoE (optional)
Power Range12~24 DC
Ingress ProtectionIP65 Front Panel
Operating Temperature-10~50 °C
Storage Temperature-20~70 °C
Humidity (Operating)10~90% RH
Dimension259.4 x 191 x 42.2 mm
EnclosureDie-cast Aluminum Alloy
MountingPanel, VESA, Din-Rail
Weight (Net)1.8Kg
RTCHigh Accuracy RTC
Warranty2 Years
Heat DissipationFanless

Hardware Overview

Mainboard Overview

Power Diagram

The reTerminal DM supports two power supply options: DC terminal and PoE port. By default, the reTerminal DM is powered through the DC terminal, while the PoE power supply is optional. This provides flexibility in power supply selection and allows for easy integration with various power sources.

Power terminal

The reTerminal DM is supplied with a nominal voltage of 12~24 V. The power supply is connected via the 2-pin power terminal block connector.

POE (optional)


The standard product does not include a PoE module by default, Seeed can provide PoE soldering and assembly services for batch customization orders on request, please contact [email protected],

If the PoE module installed, the LAN1 port of reTerminal DM can support PoE power supply, providing a convenient and efficient way to power the device over Ethernet. This option simplifies the installation process and reduces the amount of cabling required, making it an ideal solution for applications with limited power sources or where power outlets are not readily available.

  • PoE input: Range 44~57V; Typical 48V
  • PoE output: 12V, 1.1A Max.

Power Consumption

Please refer to the table below for the tested power consumption of reTerminal DM in Seeed Studio's laboratory. Please note that this value is for reference only, as the test methods and environment can result in variations in the results.

StatusVoltageCurrentPower ConsumptionDescription
Shutdown0.6mAStatic power consumption test in shutdown and power-off state.
Idle24V0.165A3.96WTo test the input current when supplying 24V power to the reTerminal DM device through the Terminal socket while running the default Seeed Studio system, without running any test programs.
Full Load24V0.37A8.88WConfigure CPU to run at full load using the "stress -c 4" command, while playing a video and performing CAN & RS485 communication. No external devices connected.

Power On and Power Off

The reTerminal DM does not come with a power button by default, and the system will automatically start up once power is connected. When shutting down, please select the shutdown option in the operating system and wait for the system to fully shut down before cutting off power. To restart the system, simply reconnect the power.


Please note that after shutting down, please wait for at least 10 seconds before restarting the system to allow for the internal capacitors to fully discharge.

Block Diagram

I2C block



The reTerminal DM is equipped with two MEMS microphones located on the left and right sides below the screen. These microphones can be configured as a dual microphone array, providing superior sound pickup capabilities. The microphones communicate with the audio codec chip through the I2S interface, while the codec chip communicates with CM4 through the PCM interface. The audio codec chip selected for the reTerminal DM is the TI TLV320AIC3104 Low-Power Stereo Audio Codec.


It's important to note that in order to achieve an IP65 rating for the front panel, the microphone openings are covered with a waterproof acoustic membrane. Please avoid using sharp objects to touch the microphone openings.

To interface with the Microphone:

Please open the Terminal APP on device and type arecord -l to find the Microphone driver:

To record the audio you can use the audacity app, please use the sudo apt install audacity to install the audacity app:

Please open the audacity to open the app and click record to records audo from the built-in microphones:

LED Indicator

The reTerminal DM features three LED indicators that serve to signal the machine's operational status. Please refer to the table below for the specific functions and states of each LED:

LED pin assignment

LabelSignalSignal SourceColorDescription
PWRLED_nPWRCM4YellowUsed to indicate the power supply of CM4. When the CM4 is powered on normally, the LED will light up
USERPCA9535 - GPIORedUser defined function
ACTLED_nACTCM4GreenUsed to indicate various states of the system. See the table below.

ACT Status table

Long flashesShort flashesStatus
03Generic failure to boot
04start*.elf not found
07Kernel image not found
08SDRAM failure
09Insufficient SDRAM
010In HALT state
21Partition not FAT
22Failed to read from partition
23Extended partition not FAT
24File signature/hash mismatch - Pi 4
44Unsupported board type
45Fatal firmware error
46Power failure type A
47Power failure type B

If the ACT LED blinks in a regular four blink pattern, it cannot find bootcode (start.elf)
If the ACT LED blinks in an irregular pattern then booting has started.
If the ACT LED doesn't blink, then the EEPROM code might be corrupted, try again without anything connected to make sure.
For more detail please check the Raspberry Pi forum:
STICKY: Is your Pi not booting? (The Boot Problems Sticky) - Raspberry Pi Forums
For more detail please check the Raspberry Pi forum:

To active the USER Led please use following command:

sudo -i

echo 0 > /sys/class/leds/usr-led/brightness
echo 1 > /sys/class/leds/usr-led/brightness

You should see the USER LED light up with red color.

Light Sensor

The light sensor, located at the bottom right of the screen, is capable of detecting ambient light intensity and automatically adjusting screen brightness to provide an optimal viewing experience while conserving energy. The light sensor communicates with the CM4 through I2C protocol.

The I2C address is 0x29.

To interface with the light sensor:

  • Step 1. Enter the following directory
cd /sys/bus/iio/devices/iio:device0
  • Step 2. Type the following to obtain the light intensity value in Lux
cat in_illuminance_input 


The reTerminal DM features an active buzzer located at the bottom right corner of the screen, which can be used for various purposes such as alarm and event notifications. The buzzer is controlled through the PCA9535 GPIO expansion IC, which provides additional digital I/O channels for the device.

To test and control the buzzer you can simply set the 1 or 0 to the /sys/class/leds/usr-buzzer/brightness file:

Multi-functional Terminals

Terminal and signal comparison table


Terminal pin assignment table

1CHCANHDifferential CAN signal high
2CLCANLDifferential CAN signal low
3GSGND_ISOIsolated ground signal
4RARS485ADifferential RS485 signal A
5RBRS485BDifferential RS485 signal B
6GSGND_ISOIsolated ground signal
7RTRS232_TXRS232 signal transmit end
8RXRS232_RXRS232 signal receive end
9GDGNDMainboard ground
10GDGNDMainboard ground
11I1DI1Digital input 1
12I2DI2Digital input 2
13I3DI3Digital input 3
14I4DI4Digital input 4
15GIGND_DIInput ground signal, connected with GND via 1MΩ
16D1DO1Digital output 1
17D2DO2Digital output 2
18D3DO3Digital output 3
19D4DO4Digital output 4
20GOGND_DOOutput ground signal,connected with GND via 0Ω


The reTerminal DM supports 4 digital input and 4 digital output channels, all of which are optically isolated to effectively protect the mainboard from voltage spikes or other electrical disturbances.

DI/DO pin assignment table
PinCM4 SignalTypical Voltage RangeMax. VoltageRated Current Capacity
DO1GPIO245-24V DC30V DC500mA
DO2GPIO255-24V DC30V DC500mA
DO3GPIO265-24V DC30V DC500mA
DO4GPIO65-24V DC30V DC500mA

The ground for the input signals is different from the ground for the output signals. The ground for the input signals should be connected to the GND_DI pin, while the ground for the output signals should be connected to the GND_DO pin.

The negative logic used for the digital inputs and outputs of reTerminal DM, the logic level relationship between Terminal IO and CM4 GPIO is shown in the table below.

Terminal Digital InputCM4 GPIO Detect Signal
CM4 GPIO OutputTerminal Digital Output

In this setion we will use the raspi-gpio tool to test with GPIOs, you can use the raspi-gpio help to view the manual:

To get the current state of all the GPIOs, Please enter following command in the Terminal:

raspi-gpio get
Digital Input

Here is a schematic shown on how to wiring sensors to DI:

To get specific GPIO status, Please enter following command in the Terminal :

raspi-gpio get 16

where the current state of the GPIO16 is set as INPUT and pulling Down the current pin level is 1 which means High which also means the current Terminal Digital Input DI1 is Low according to the above table

Let's put a High signal of the the DI1 by connect the DI1 terminal to the Positive pin of the 5V source, then the Ground from the 5V source to the GND_DI

raspi-gpio get 16

Which the current pin level of the GPIO16 is 0 which means Low which also means the current Terminal Digital Input DI1 is High according to the above table

Digital Output

Here is a schematic shown on how to wiring Load to DO:

To Control the Digital output state value, first of all we need to set the pin state to Output and pulling Down:

#set current pin state
raspi-gpio set 24 op pd dh

#get the pin state after set
raspi-gpio get 24

Which the GPIO24 correspond to DO1 is set to the Output and pulling down state, and the GPIO24 level is set to High

Now lets set the GPIO24 to Low which means DO1 Output is driven as High.

#set current pin state
raspi-gpio set 24 dh

#get the pin state after set
raspi-gpio get 24


The reTerminal DM is equipped with an RS485 interface through its 20-pin connector, which is isolated for both signal and power to ensure safe and reliable operation in industrial and automation applications. The RS485 A and RS485 B signals are isolated using capacitive isolation, which provides excellent EMI immunity and meets the high-speed communication requirements of the RS485 interface.


A terminal resistor of 120Ω has been installed by default. The RS485 interface uses an isolated power supply, which means that the ground signal for external devices connected to the RS485 interface should be connected to the GND_ISO pin.

To test and interface with the RS485, you should prepare a USB to RS485 adapter, and please make sure the connection is the same as below:


Please note that the RS485 port is /dev/ttyACM1 or /dev/ttyCH340USB1 depends which OS you are running.

Please use your favorite serial communication tool on your host computer for preform the test below: run the python code on reTerminal DM to test the RS485 serial connection, where this code will set the RS485 serial port as following

Baudrate -> 9600 Bytesize -> 8 bits Parity -> None Stopbits -> 1 Hardware flow control -> disabled

import serial, time
import os

ser = serial.Serial()
if os.path.exists('/dev/ttyACM1'):
ser.port = "/dev/ttyACM1"
elif os.path.exists('/dev/ttyCH340USB1'):
ser.port = "/dev/ttyCH340USB1"
print('Neither /dev/ttyACM1 nor /dev/ttyCH340USB1 is present')

ser.baudrate = 9600
ser.bytesize = serial.EIGHTBITS #number of bits per bytes
ser.parity = serial.PARITY_NONE #set parity check
ser.stopbits = serial.STOPBITS_ONE #number of stop bits

ser.timeout = 0.5 #non-block read 0.5s
ser.writeTimeout = 0.5 #timeout for write 0.5s
ser.xonxoff = False #disable software flow control
ser.rtscts = False #disable hardware (RTS/CTS) flow control
ser.dsrdtr = False #disable hardware (DSR/DTR) flow control

except Exception as ex:
print ("open serial port error " + str(ex))

if ser.isOpen():
ser.flushInput() #flush input buffer
ser.flushOutput() #flush output buffer
#write data
ser.write("rs485 communication is on, you can try to send data...\n".encode())
print("Sent successfully\n")
time.sleep(5) #wait 5s
#read data
numofline = 0
print("Reading Data:")
while True:
response = ser.readline()
numofline = numofline +1
if (numofline >= 1):
except Exception as e1:
print ("communicating error " + str(e1))
print ("open serial port error")


The reTerminal DM's 20-pin connector also includes an RS232 interface, which is not isolated. Because RS232 communication typically uses CMOS voltage levels and has short communication distances, making it less susceptible to electromagnetic interference from the environment.


Please note that the Ground pin needs to connected the GD pin next to the RX pin, make sure it is not the GS pin.

Here is the test python script on sending data from reTerminal DM to host computer:

import time
import serial
import os

if os.path.exists('/dev/ttyACM0'):
port = "/dev/ttyACM0"
elif os.path.exists('/dev/ttyCH340USB0'):
port = "/dev/ttyCH340USB0"
print('Neither /dev/ttyACM0 nor /dev/ttyCH340USB0 is present')

ser = serial.Serial(
port = port,
baudrate = 9600,
parity = serial.PARITY_NONE,
stopbits = serial.STOPBITS_ONE,
bytesize = serial.EIGHTBITS,
timeout = 1
print("rs232 starts now!\n")
ser.write("rs232 starts now!\n".encode())
while 1:
ser.write(("Write counter:{}\n".format(counter)).encode())
counter += 1
except KeyboardInterrupt:

Here is the test python script on receiving data on reTerminal DM send from host computer,

import time
import serial
import os

if os.path.exists('/dev/ttyACM0'):
port = "/dev/ttyACM0"
elif os.path.exists('/dev/ttyCH340USB0'):
port = "/dev/ttyCH340USB0"
print('Neither /dev/ttyACM0 nor /dev/ttyCH340USB0 is present')

ser = serial.Serial(
baudrate = 9600,
xonxoff = False, #disable software flow control
rtscts = False, #disable hardware (RTS/CTS) flow control
dsrdtr = False
print("Start receiving data now!\n")
while 1:
if x != b'':
except KeyboardInterrupt:


The reTerminal DM features a CAN interface that supports the CAN FD (Controller Area Network Flexible Data-Rate) protocol. The CAN interface is isolated using capacitive isolation, which provides excellent EMI protection and ensures reliable communication in industrial and automation applications. A terminal resistor of 120Ω has been installed by default.


The CAN interface uses an isolated power supply, which means that the ground signal for external devices connected to the CAN interface should be connected to the GND_ISO pin

To test and interface with CAN bus: Please connect the USB to CAN adapter like shown in the image below:

  • STEP 1: Install the CAN-utils
sudo apt install can-utils

CAN-utils is a collection of extremely useful debugging tools using the CAN interface. It includes applications such as:

  • candump – Dump can packets – display, filter and log to disk.
  • canplayer – Replay CAN log files.
  • cansend – Send a single frame.
  • cangen – Generate random traffic.
  • canbusload – display the current CAN bus utilisation

CAN-utils source can be obtained from the GitHub repository.

  • STEP 2: Setup CAN interface using the following command:
sudo ip link set can0 up type can bitrate 500000
sudo ifconfig can0 txqueuelen 1000
sudo ip link set can0 up
  • STEP 3: Download the testing code to reTerminal DM by using git
git clone

  • STEP 4: Compiles and runs the code that sends the data:
cd Seeed_reTerminal_Bridge_CAN_exmaple/
gcc cantransmit.c -o cantransmit

on you Linux host computer or another reTerminal DM, you can compiles and runs the code that receives the data.

gcc canreceive.c -o canreceive

you can see the results, the image below is done by using the two reTerminal DM:


USB Type-A

There are two times of USB 2.0 Type-A ports, which you can connect USB devices such as flash drive, webcam, keyboard and mouse, etc.

USB Type-C

USB Type-C is a USB 2.0 port used for serial debugging or flashing OS image depends on the boot switch position. For flashing OS please refer to Flashing OS Wiki page

SIM Card Slot

The reTerminal DM uses a standard-size SIM card slot commonly found in industrial applications, which requires a standard SIM card with dimensions of 25mm x 15mm.


Please note that the standard version of reTerminal DM does not come with a 4G module. If you require 4G functionality, an additional 4G module must be purchased separately, Therefore this SIM card slot only works if you placed the supported version of 4G module in the 4G PCIe slot.

Reset button

There is a Mini Push Button Switch located in the reset hole of reTerminal DM. By pressing this button with a thin object, the CM4 can be reset. This button is connected to the RUN_PG pin of the CM4. This pin when high signals that the CM4 has started. Driving this pin low resets the module.

Audio Jack

reTerminal DM has a 3.5mm headphone jack, which supports sound output, and can be connected to external headphones, speakers, etc.


The headphone jack only supports sound output and does not support the microphone recording function.


The reTerminal DM features a native HDMI interface from CM4, supporting up to 4K @ 60 fps video output. It is ideal for applications that require multiple displays, allowing users to output their content to external large screens.

Ethernet RJ45

The reTerminal DM comes with a CM4 native Gigabit Ethernet interface that supports three different speeds: 10/100/1000 Mbit/s. An additional PoE module can be purchased to enable power-over-Ethernet (PoE) delivery through this interface, providing power to the reTerminal DM.

Internal Interface

40-Pin GPIO

The classic Raspberry Pi 40-pin GPIO design is retained inside the reTerminal DM, and the pin dentition remains the same as the Raspberry Pi 4B. Users need to open the back cover to use these GPIOs, It should be noted that due to the limited resources of CM4 IO, the 40-pin GPIO and many peripheral interfaces are multiplexed, so you need to pay special attention to the conflict when using GPIOs. For detailed pin assignment information, please refer to the following table.

DescriptionPin multiplexingPin multiplexingDescription
Pin 13V340 PIN
Block Terminal DI2DI2GPIO 17GPIO 18PCM_CLK3.5mm audio jack
Interrupt pins for screen touchTP_INTGPIO 27GND
Block Terminal DI3DI3GPIO 22GPIO 23DI4Block Terminal DI4
GPIO 24DO1Block Terminal DO1
CAN and LoRa® moduleSPI0_MOSIGPIO 10GND
SPI0_MISOGPIO 9GPIO 25DO2Block Terminal DO2
SPI0_SCLKGPIO 11GPIO 8SPI0_CE0SPI enable pins for CAN
GNDGPIO 7SPI0_CE1SPI enable pins for LoRa®
Block Terminal DO4DO4GPIO 6GPIO 12CAN_INTInterrupt pins for CAN
LCD backlight control pinsLCD_PWMGPIO 13GND
3.5mm audio jackPCM_FSGPIO 19GPIO 16DI1Block Terminal DI1
Block Terminal DO3DO3GPIO 26GPIO 20PCM_DIN3.5mm audio jack
GNDGPIO 21PCM_DOUT3.5mm audio jack


The reTerminal DM features an RTC circuit that comes pre-installed with a CR2032 battery, enabling it to maintain timekeeping functionality even in the event of power loss.

Use the following command to change the hardware clock with current system clock

sudo hwclock --systohc

Use the following command to change the system clock with current hardware clock

sudo hwclock --hctosys

To veiw the current hardware clock

sudo hwclock -r 


The reTerminal DM comes equipped with an independent hardware watchdog circuit that ensures automatic system reboot in case of abnormal system crashes. The watchdog circuit is implemented through RTC and allows for flexible feeding times from 1 to 255 seconds.

To configure the watchdog timeout time in watchdog.conf, please follow these steps:

STEP 1: Open the watchdog.conf file for editing, usually located at /etc/watchdog.conf.

sudo nano /etc/watchdog.conf

STEP 2: Look for the "watchdog-device" and "watchdog-timeout" configuration options under the /etc/watchdog.conf, please set as following.


you might experience instant restart when watchdog-timeout option is set under 60, to utilise the Hardware watchdog you need to config the watchdog-device as /dev/watchdog1, where the default config without 1 is utilising the Broadcom watchdog device.

# Uncomment this to use the watchdog device driver access "file".

watchdog-device = /dev/watchdog1

# Uncomment and edit this line for hardware timeout values that differ
# from the default of one minute.

watchdog-timeout = 60

For example, if you want to set the watchdog timeout time to 60 seconds, you can set the value of watchdog-timeout to 60, which means that if the watchdog does not receive a reset signal within 60 seconds, it will trigger an automatic reboot operation, assuming the system has crashed.


you can test if the watchdog is active with following command, where these command will put system in halt please be carefull on proferm the follow commands:

sudo su
echo 1 > /proc/sys/kernel/sysrq
echo "c" > /proc/sysrq-trigger

Now your reTerminal DM should have rebooted after the time you have set to the watchdog-timeout


There are 6 steps of brightness you can set to the backlight, from 0 is switch off to 5 is the maximum brightness. You could interface on controlling the brightness by using following commands.

sudo -i

echo 0 > /sys/class/backlight/lcd_backlight/brightness
echo 1 > /sys/class/backlight/lcd_backlight/brightness
echo 5 > /sys/class/backlight/lcd_backlight/brightness

Internal Add-on


The CSI camera interface is reserved on the reTerminal DM mainboard, which can be customized to support camera functions. Please note that due to the limited space on the front panel, only small-sized cameras can be used. The currently rigorously tested solution uses the Raspberry Pi camera V2.0 driver board + Seeed customized camera IMX219-77.

ConnectorConnector TypePin PitchLaneFPC Orientation
CSI015-pin FPC1mm2Gold fingers facing downwards
CSI122-pin FPC0.5mm4Gold fingers facing upwards

Please note that the standard version of the reTerminal DM does not come with a camera opening on the front panel, therefore, the camera functionality is not available for the standard product. If you have a customized camera requirement, please contact [email protected]

4G Module


Materials Required

  • reTerminal DM x 1
  • EC25-EUX 4G Module x1
  • SIM Card x1

Step 1. Please refer to the EC25 4G Module Hardware assembly guide to install EC25 4G Module into the 4G/LTE PCIe slot which you should see the 4G/LTE slikscreen, and please also put in the 4G enabled sim-card in the sim card slot, before you power up the system.

Step 2. Check if EC25-EUX gets detectd by using lsusb

lsusb -t

Step 3. Install the serial communication tool minicom.

sudo apt install minicom

Step 4. Connect EC25-EUX 4G module through minicom.

sudo minicom -D /dev/ttyUSB2 -b 1152008n1

once the serial connection opened, Type in AT and press 'Enter', and you should see OK.

Step 5. Enable 4G module to connect to 4G network

AT the same minicom serial window please type:


It will return something like +QCFG: "usbnet",0, but we need that to be set to 1 (ECM mode), so enter the following command:


Then enter the following command to force the modem to reboot:


Then you could reboot or wait for a while for the moudel to get internet from your sim card carrier.

You can also use the command ifconfig to query the networking status of reTerminal DM.

LoraWAN® Module


reTerminal DM support for both USB and SPI version of the WM1302 LoraWAN® Module, however the USB verison will need to uiltising the Mini PCIe designed for 4G Moudle which means if you want to use the both 4G Module and LoraWAN® Module Please choose SPI version of the WM1302 LoraWAN® Module.


Step 1. Please refer to the LoraWAN® Module Hardware assembly guide to install WM1302 SPI LoraWAN® Module into the LoraWAN® Mini PCIe slot which you should see the Lora slikscreen.

Step 2. type sudo raspi-config in command line to open Raspberry Pi Software Configuration Tool:

  • Select Interface Options
  • Select SPI, then select Yes to enable it
  • Select I2C, then select Yes to enable it
  • Select Serial Port, then select No for "Would you like a login shell..." and select Yes for "Would you like the serial port hardware..."

After this, please reboot Raspberry Pi to make sure these settings work.

Step 3. Download the WM1302 code to reTerminal and compile it.

cd ~/
git clone
cd sx1302_hal
sudo make

Step 4. Copy the script

cp ~/sx1302_hal/tools/ ~/sx1302_hal/packet_forwarder/

Step 5. replace the default SPI port of the LoraWAN® Module in the global_conf.json.sx1250.US915 config file:

sed -i 's/spidev0.0/spidev0.1/g'  global_conf.json.sx1250.US915

Step 6. Start LoraWAN® Module

Then run the following code to start LoraWAN® Module according to your WM1302 operation frequence version.

$ cd ~/sx1302_hal/packet_forwarder
$ ./lora_pkt_fwd -c global_conf.json.sx1250.US915

Plese choose your prefered Lora® Network server and use the EUI ID as shown in the picture above to setup the connections.

PCIe Expansion Card

The reTerminal DM features a PCIe interface that is derived from the CM4, which supports PCIe 2.0 and theoretically provides a maximum transmission speed of 5Gbps. This allows for the expansion of various high-speed interfaces such as Gigabit Ethernet and NVMe SSD. We have developed multiple expansion cards based on PCIe, USB, and I2C interfaces to meet different scenario requirements. This also facilitates customization needs.


Please note that the standard product does not include a PCIe expansion card by default. Seeed can provide assembly services for batch customization orders.


The reTerminal DM can support the IEEE 802.3af PD(Powered Devices) standard by adding a PoE power supply module.


The reTerminal DM supports PoE power supply, but the standard product does not include a PoE module by default. Seeed can provide PoE soldering and assembly services for batch customization orders. However, if a customer is testing a sample, they will need to solder and assemble the PoE module themselves.


The reTerminal DM supports 2280 NVMe SSD through the use of a PCIe expansion card. It is important to note that the CM4's PCIe is gen2.0 with a maximum theoretical speed of 5Gbps. If you are using a Gen3.0 or higher SSD, it may not be able to achieve the SSD's maximum speed. After testing, the reTerminal DM with installed SSD can achieve a maximum write speed of 210MB/s and a maximum read speed of 360MB/s. If you are unsure which SSDs are compatible, you can purchase the 112990247, 512GB NVMe M.2 PCle Gen3x4 2280 SSD from Seeed's official website.


The standard version of the reTerminal DM does not support SSD and requires the purchase of a PCIe expansion card to enable this feature.

Additional 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. We offer several communication channels to cater to different preferences and needs.

Loading Comments...