# Jetson Xavier NX HAT

The board is designed for connecting CAN bus to Jetson Xavier NX (opens new window). It gives access to Cyphal (opens new window)/DroneCAN (opens new window) (old name UAVCAN)

View Top Bottom
drawing drawing drawing
drawing drawing

# Features

  • Jetson NX

# Wiring

Schematic features. Schematic can be provided via issue.


The node has connectors which are described in the table below.

N Connector Description
1 CAN1
2 CAN2, CAN3, ETH-RPI1, I2C2
5 J1
6 J2
7 J3
8 J4
9 J6, J7
10 J8
11 RPI1

Here (opens new window) you can find manufacturer part number of connectors it self and its mates.

Pin configuration and functions

Pin configuration for NX

GPIO Defedition

Jetson NX pinmap (opens new window)

# Specifications


Scheme is shown on the picture below. CAN model can be provided via email request or issue on github or downloaded on GrabCAD (opens new window).

Width, mm Length, mm Height, mm
Outline 99.2 69.5 19.7
PCB 98.38 69.49 0.4

Total weight of device less than 50 g.


Information about case presented here.

Absolute Maximum Ratings

Parameter MIN MAX UNIT
Vin (CAN1) 5.5 55* V
V (CAN2, CAN3) 4.5 5.5 V
I max A
Operating temperature

*Noted Voltage should be delivered only with current limitation under 2.5 Amp.

Recommended operating conditions

Parameter Value UNIT
Vin (CAN3) 30 V
V (CAN1, CAN2) 5 V
I max A

ESD ratings

Description Value UNIT
Human-body model (HBM) 2000 V
Charged-device model (CDM) 500 V


# Integration

Recommended mechanical mounting

Connection example diagram

# Power Supply Recommendations

Device is designed to operate from an input voltage supply range between 4.5 V and 5.5 V over CAN2 or CAN3 connector, or 5.5 - 30 V from CAN1. This input supply must be able to withstand the maximum input current and maintain a stable voltage. The resistance of the input supply rail should be low enough that an input current transient does not cause a high enough drop that can cause a false UVLO fault triggering and system reset. The amount of bulk capacitance is not critical, but a 47-uF or 100-uF electrolytic capacitor is a typical choice.

# 2. Led indication

# LTE Modem connection setup

Instruction based of this (opens new window) instruction.

  1. Install LTE modem like this (opens new window) in to the board
  2. Check that device is powered and visible by system
$ lsusb

In case of Quectel EC25-E 3G/4G modem you should see something like this:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2c7c:0125
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  1. Check where LTE modem is mapped dmesg | grep ttyUSB
[   10.091065] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB0
[   10.091490] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB1
[   10.112659] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB2
[   10.114288] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB3

Commonly ttyUSB1 is GNSS and ttyUSB2 is for LTE.

  1. Check that device is accesble from minicom like in this (opens new window) instruction:
sudo minicom -D /dev/ttyUSB2

After you type AT you should see next reply (AT+CPIN? is to check SIM card is ready):

  1. Install wvdial pacage: sudo apt-get install wvdial
  2. Edit config sudo pico /etc/wvdial.conf:
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0
Modem Type = Analog Modem
Baud = 9600
New PPPD = yes
Modem = /dev/ttyUSB2
ISDN = 0
Phone = *99#
Password = internet
Username = internet
Stupid Mode = on
  1. Testing the dial up by run sudo wvdial. Success dial up screen-print:
--> WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: ATZ
--> Sending: ATQ0
--> Re-Sending: ATZ
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
CONNECT 150000000
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Mon Oct  9 17:35:48 2023
--> Pid of pppd: 8702
--> Using interface ppp0
--> local  IP address xxx.xxx.xxx.xxx
--> remote IP address xxx.xxx.xxx.xxx
--> primary   DNS address xxx.xxx.xxx.xxx
--> secondary DNS address xxx.xxx.xxx.xxx
  1. Ping on other console window: ping -I ppp0 google.com

  2. For auto connect make the service sudo pico /etc/systemd/system/wvdial.service



Add the code to the 99-com.rules file. It will call the wvdial.service when the USB modem loaded.

sudo pico /etc/udev/rules.d/99-com.rules

SUBSYSTEM=="tty", KERNEL=="ttyUSB2", TAG+="systemd", ENV{SYSTEMD_WANTS}+="wvdial.service"

  1. To test the service type ifconfig and you will see line like:

# Inspired by

# Revision history

View Version Date Description