• sales

    +86-0755-88291180

2-CH RS232 HAT

Introduction

This is a 2-channel isolated RS232 expansion HAT designed for Raspberry Pi, adopts the SC16IS752+SP3232 solution, with embedded protection circuits such as power supply isolation, ADI magnetical isolation, and TVS diode, etc.

It is easy to control the 2-channel RS232 via SPI interface. Due to its fast communication, stability, reliability, and safety, it is an ideal choice for fields like industrial automation.

Interfaces

PINSYMBOLDescription
1VCC3.3V/5V Power
2GNDGround
3SCLKSPI Clock input
4MOSISPI Data input
5MISOSPI Data output
6CSSPI Chip Selection
7IRQInterrupt output (Interrupt Request)


Working principle

Introduction


This product adopts SC16IS752 as a controller. SC16IS752 is a dual-channel high-performance UART expansion chip that supports SPI and I2C interfaces communication. This module uses the SPI interface. Onboard power isolation, ADI magnetic coupler isolation, onboard TVS (transient voltage suppression tube), self-recovery fuses, protection diodes, and automatic transceiver switching circuit. It can effectively suppress the surge voltage and transient peak voltage in the circuit, prevent lightning and static electricity, prevent over-voltage, improve the anti-impact ability, can conduct signal isolation, with high dependence, strong anti-interference, low power consumption advantages, etc.

Communication protocol



  • CS:Slave chip selection, when CS is low, the slave chip is enabled.
  • SCLK:SPI communication clock
  • MOSI/SI:SPI Communication master sends, slave receives
  • MOSI/SI:SPI Communication master receives, slave sends
  • Timing Sequence:CPHL=0, CPOL=0 (SPI0)

How to use

We provide C and Python demo codes for Raspberry Pi. A quick testing example is provided in python.

Hardware Connection

To run examples, you should prepare an external RS232 to USB module, connect it to Channel 1 of 2-CH RS232 HAT.

If you test the 2-CH RS232 HAT with the text.py example, you need to wire Channel 1 and Channel 2 of 2-CH RS232 HAT.

232 PINRaspberry Pi(BCM)
VCC5V
GNDGND
SCKP21 (SPI1 SCLK)
MOSIP20 (SPI1 MOSI)
MISOP19 (SPI1 MISO)
CSP18 (SPI1 CS)
IRQP24

Software setup

  • Open the terminal and modify config.txt file by commands:
sudo nano /boot/config.txt
  • Add the line below to the file, the int_pin should be set according to the actual welding:
dtoverlay=sc16is752-spi1,int_pin=24
  • Then restart Raspberry Pi
sudo reboot
  • After rebooting, the driver of SC16IS752 will be loaded into the system kernel. You can run command ls /dev to check the following devices:


Install Libraries

  • Install wiringpi
sudo apt-get install wiringpi
# An upgrade may be required for raspberry PI 4B:
cd /tmp
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
# Running gpio-v to check if the version is 2.52, If it is not, you need to check the installation again.
  • Install the python2 library
sudo apt-get update
sudo apt-get install python-pip
sudo pip install RPi.GPIO
sudo apt-get install python-serial
  • Install the python3 library
sudo apt-get update
sudo apt-get install python3-pip
sudo pip3 install RPi.GPIO
sudo apt-get install python3-serial


Test

  • Download and run the examples:
sudo git clone https://github.com/waveshare/2-CH-RS232-HAT
cd 2-CH-RS232-HAT/
  • C program
cd c
sudo make clean
sudo make
sudo ./main
  • Python program
cd python 
cd examples
sudo python main.py

Hardware connection: Channel 1 of the 2-CH RS232 HAT is connected to RS232 to USB:

Connect RS232 to USB to the computer, open the serial port assistant software, select the corresponding serial port, and set the baud rate to 115200.

  • Run the C program, the data sent by computer will all be received by Raspberry Pi, as below:


Note: The path of the samples is based on the actual directory;

  • Run the main.py, the data sent by computer will all be received by Raspberry Pi, as below:


Note: The path of the samples is based on the actual directory;

If you don't have other RS232 devices, you can choose the test method as follow by connecting channel 1 with channel 2:

  • Running result of test.py :


TAG: Jetson Nano RDK X5 PoE Module For Power Over Ethernet/ IEEE 802.3af/at PoE For D-Robotics RDK X5 Raspberry Pi 5 AI kit Hailo8 26Tops PCIe to M.2 NVMe HAT Plus For Pi5 H618 ESP32-C3-Ornament-Trinket-LVGL-Astronaut-Clock-Watch-MINI-TV-1.69inch-Round-LCD-TouchScreen-ST7789-240x280 2.8inch Capacitive TouchScreen LCD Display ST7789 CST328 240x320 For Arduino/Raspberry Pi/ESP32/Pico Industrial 4-ch PWM RS485 pulse output module Modbus RTU rail Raspberry Pi Pico 2 RP2350/RP2040 W5100S-EVB-Pico W6300-EVB-Pico2 Ethernet Development Board ETH RJ45 JETSON-NANO-MINI ESP32 C3 LCD ESP32-S3 1.28inch Arducam DPI Interface Raspberry Pi Touch Display 2 Official Original Capacitive TouchScreen 7 inch LCD TFT 720x1280 WiFi6 Development Board Raspberry Pi Banana Pi Raspberry Pi 5 Case DeepSeek AI Voice Chat ESP32 S3 Development Board 1.85 inch Round LCD 1.85inch Display QMI8658 /MIC /SD /MP3 Audio LVGL For Arduino Raspberry Pi 5 PCIe to SSD