• sales

    +86-0755-88291180

Raspberry Pi RPi Zero Relay User Guide

Overview

Industrial 6-Channel Relay Module For Raspberry Pi Zero, RS485/CAN Bus, Power Supply Isolation, Photocoupler Isolation

Features

  • RS485 half-duplex communication: using SP3485, UART control, auto RX/TX switch
  • CAN half-duplex communication: using MCP2515 + SN65HVD230 solution, SPI control
  • Onboard unibody power supply isolation, provides stable isolated voltage, needs no extra power supply for the isolated terminal
  • Onboard photocoupler isolation, prevent interference from external high-voltage circuit connected to the relay
  • Onboard TVS (Transient Voltage Suppressor), effectively suppress surge voltage and transient spike voltage in the circuit, lightningproof & anti-electrostatic
  • Onboard resettable fuses and protection diodes, ensuring current/voltage stable output, preventing over current/voltage, better shock-resistance performance
  • High quality relay, contact rating: ≤10A 250V AC or ≤10A 30V DC
  • ABS protection enclosure with rail-mount support, easy to install, safe to use

Specifications

  • Operating voltage: 7V~36V (industrial input voltage compatible)
  • Relay channel: 6ch
  • Communication Protocol: RS485,CAN
  • Contact form: 1NO 1NC

Pinouts

  • CAN bus
PINRaspberry Pi (BCM)Description
GNDGNDGround
SCKSCKSPI clock input
MOSIMOSISPI data input
MISOMISPSPI Data output
CSCE0Data/Command Selection
INT25Interrupt output
  • RS485 bus
PINRaspberry Pi (BCM)Description
GNDGNDGround
RXDRXDUART receive
TXDTXDUART transimit
  • Relay interfaces
PINRaspberry Pi (BCM)DescriptionGND!GNDGround
IN_CH1GPIO5Relay Channel 1
IN_CH2GPIO6Relay Channel 2
IN_CH3GPIO13Relay Channel 3
IN_CH4GPIO16Relay Channel 4
IN_CH5GPIO19Relay Channel 5
IN_CH6GPIO20Relay Channel 6

Install libraries

  • BCM2835 libraries
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.68.tar.gz
tar zxvf bcm2835-1.68.tar.gz 
cd bcm2835-1.68/
sudo ./configure && sudo make && sudo make check && sudo make install
  • Install wringPi
sudo apt-get install wiringpi
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
  • Python
sudo apt-get update
sudo apt-get install python-serial
sudo pip install python-can

Download Examples

Open a terminal and run the following commands to download the demo codes

sudo apt-get install p7zip-full
wget https://www.waveshare.com/w/upload/2/2f/RPi_Zero_Relay_Code.7z
7z x RPi_Zero_Relay_Code.7z  -r -o./RPi_Zero_Relay_Code
sudo chmod 777 -R RPi_Zero_Relay_Code/

CAN Bus

Configuration

  • Modify the config.txt file
sudo nano /boot/config.txt
Add the fololwing lines to the config.txt file and save
dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25,spimaxfrequency=3000000
  • Reboot
sudo reboot
  • Check if the driver is initalized normally
dmesg | grep -i '\(can\|spi\)'
The result should like the picture:

If the MCP2515 driver is not initalized normall you need to reboot and check if the devices are connected properly (H to H and L to L).

C examples

  • Run the receive example
cd ~/RPi_Zero_Relay_Code/CAN/wiringPi/receive/
make clean
make
sudo ./can_receive
After running the receive code, the terminal is waiting for data
  • Run the Send examples:
cd RPi_Zero_Relay_Code/CAN/wiringPi/send/
make clean
make
sudo ./can_send
Type data to send
In the receive terminal, you will get the packet related to id.

Python examples

  • Open a terminal and run the commands
cd RPi_Zero_Relay_Code/CAN/python/
#For receiving:
sudo python can_reveive.py
#For sending:
sudo python can_send.py

Connect to other CAN device

If you need to connect the RPi Zero Relay to other CAN devices, please note that:

  • Please check the connection, it should be H to H and L to L
  • Make sure that the baud rate of both sides are the same, the default baud rate of examples is 100K
  • Check if the CAN ID of both sides are the same
  • If data is always lost while transmitting, please decrease the baud rate and test it again.


RS485 Interface

Configuration

  • Open a terminal and run the command
sudo raspi-config
Choose Interfacing Options -> Serial -> No -> Yes
Disable the login shell function and enable the hardware serial port.
  • Reboot
sudo reboot
  • Connect the device, A to A and B to B

C examples

  • Run the receive example
cd RPi_Zero_Relay_Code/485/WiringPi/send
make clean
make
sudo ./485_receive
After running the receive code, the terminal is waiting for data
  • Run the Send example
cd RPi_Zero_Relay_Code/485/WiringPi/send
make clean
make
sudo ./485_send
  • Input data and send:


  • The receive terminal recieve and print:


Python examples

Open a terminal and run the commands:

cd RPi_Zero_Relay_Code/485/python/
#Receive example:
sudo python receive.py
#Send example:
sudo python send.py

Troubleshooting

If the RS485 cannot work normally, please check:

  • Please check if you have disabled the login shell function
  • Please check the connection, it should be A to A and B to B
  • Please test with USB to RS485, make sure that all the settings are correct.
TAG: 14 inch Dual LCD Computer PC Monitor Display Double Secondary Screen Type C Mini HDMI 1080P For Windows/MacOS CSI Camera Milk V Duo LuckFox Pi5 RS485 Interface ESP32 S3 Development Board 1.91 inch AMOLED Display Screen For Arduino LVGL With SD-Port/ QMI8658C 6-Axis Sensor MPS2.5G Raspberry Pi 5 PCIe to NVME SSD And 2.5G Ethernet RJ45 HAT RTL8125 2280 2242 2230 Raspberry Pi CM5 Gigabit/2.5G Dual Ethernet Expansion Board with RJ45 GPIO IO Base Jetson Orin Nano Super AI Developer Kit Built in Jetson Orin Nano 8GB Memory Core board Raspberry Pi 2inch LCD Image extraction User Guide Arduino 1.54inch OLED MPS2280D Raspberry Pi 5 PCIe to M.2 NVMe Dual SSD Adapter Board HAT Pi5 Double 2280 Raspberry Pi LCD Display Screen 1.3inch LCD with Game Button AND Audio Buzzer For Zero 2W / 3B / 4B / PI5 / RP2040-PiZero Pi5 NVIDIA Jetson Orin Nano/NX PoE Mini Expansion Board Power over Ethernet RJ45 802.3af compliant Sipeed NanoCluster Mini Cluster Board mini data center For Raspberry Pi CM45 / Computer /LM3H /M4N Raspberry Pi Camera 8MP IMX415 also For Luckfox-Omni3576 RK3576 Raspberry Pi 5 PCIe to M.2 NVMe SSD Adapter Board (D) HAT Pi5-2280-2242-2230