RS485 CAN for Jetson Nano

From Waveshare Wiki
Jump to: navigation, search
RS485 CAN for Jetson Nano
RS485 CAN for Jetson Nano.png

Environmental Sensor





RS485 CAN Expansion Board for Jetson Nano.


  • Standard 40PIN GPIO extension header, supports direct attaching to Jetson Nano.
  • Onboard CAN controller MCP2515 via SPI interface, matching with SIT65HVD230DR transceiver.
  • Features RS485 function, controlled via UART, half-duplex communication, supports automatic TX/RX control without programming, onboard transceiver SP3485.
  • Onboard TVS (Transient Voltage Suppressor), effectively suppresses surge voltage and transient spike voltage in the circuit for RS485 transceiving, lightning proof & anti-electrostatic.
  • Onboard digital isolation chip, safer signal isolation communication, and better stability and anti-interference
  • Reserved control pins, allowing working with other control boards.
  • Comes with development resources and manual (examples in python).


RS485 CAN for Jetson Nano spec.png

How to Connect

RS485 CAN for Jetson Nano spec2.png

What's On Board

RS485 CAN for Jetson Nano spec3.png

Pin Definition

RS485 CAN for Jetson Nano spec4.png


RS485 CAN for Jetson Nano spec5.png

How to Use

Install Libraries

sudo apt-get install minicom 
sudo apt-get install python-pip nano
sudo pip install pyserial
sudo pip install spidev==3.1

Enable SPI

After executing the above, add in the following file:

sudo nano /etc/modules-load.d/modules.conf
Enable SPI1.png

add a line


Press ctrl+x and then press Y, press Enter to save and exit, and then open the hardware SPI:

sudo /opt/nvidia/jetson-io/

as shown
Choose to configure 40PIN pin
Use the keyboard to select, configure the pins
Enable SPI2.png
Use the keyboard to select, move to SPI1 and press Enter to confirm
Enable SPI3.png
Save and select restart (keep Enter to restart)
Enable SPI4.png
After restarting, ls /dev/spidev* can see the device number
Enable SPI5.png

Download the Sample Demo

In the user main directory, execute the following command:

sudo unzip ./ -d ./RS485_CAN_for_JetsonNano_Code/


Please connect the hardware first, and then run the program. As SPI to CAN and the default crystal oscillator is 8M, the temporary baud rate is 500Kbps.
The Python driver provided by this product currently supports a baud rate of 500Kbps (the default is 500Kbps), pay attention to select the baud rate of the other end of the communication:

cd RS485_CAN_for_JetsonNano_Code
sudo python

The test demo will send 1-8 when a message is received;


Please connect the hardware first, and then run the program. RS485 is transferred from UART, so please do not occupy UART.

sudo python




Related Resource


If you require technical support, please go to the Support page and open a ticket.