VOXL 2 Linux User Guide Table of contents UARTs Overview Apps Proc /dev/ttyHS0 - Camera Group 2 UART /dev/ttyHS1 - B2B Connector UART /dev/ttyHS2 - HSB2B Connector UART /dev/ttyHS3 - HSB2B Connector UART SLPI Proc QUP2 - ESC UART QUP6 - GNSS UART QUP7 - RCIO UART SPI Overview Apps Proc SPI0 - Camera Group 0 SPI SPI3 - IMU1 SPI11 - J5 B2B SPI SPI14 - J10 External SPI SLPI Proc QUP5 - IMU0 I2Cs Overview Apps Proc i2c-0 - I2C2 - HS B2B I2C i2c-1 - I2C9 - B2B I2C - GPIO 125-126 i2c-2 - I2C10 - B2B I2C - GPIO 129-130 i2c-3 - I2C15 - USB Redriver (internal, don’t use) i2c-4 - I2C1 - Camera Group 1 I2C SLPI Proc QUP0 - External Sensor (Magnetometer) QUP2 - External Sensor (Power Monitoring) QUP3 QUP4 - Internal Sensors (Barometers) GPIOs Apps Proc J3 - B2B J5 - HS B2B J6 J7 J8 J10 LEDs Regulators Serial Debug Console UARTs The following is accurate as of System Image 1.3 .
Overview
Note: not shown is ttyHS3 on HS B2B J5 Apps Proc /dev/ttyHS0 - Camera Group 2 UART Device /dev/ttyHS0
Pins J8 Pins 38/40 (Tx/Rx) Voltage 1.8V, directly connected to QRB5165, likely need to level shift Code Sample TODO Add-Ons NA
/dev/ttyHS1 - B2B Connector UART Device /dev/ttyHS1
Pins J3 Pins 3/5 (Rx/Tx) Voltage 1.8V, directly connected to QRB5165, likely need to level shift Code Sample TODO Add-Ons M0125 - UART/USB3 Add-On, UART7
/dev/ttyHS2 - HSB2B Connector UART Device /dev/ttyHS2
Pins J5 HS B2B pins 48/49 (Rx/Tx) Voltage 1.8V, directly connected to QRB5165, likely need to level shift Code Sample TODO M0090 - 5G Add-On Board J9 Pins 2/3 (Tx/Rx)
/dev/ttyHS3 - HSB2B Connector UART Device /dev/ttyHS3
Pins J5 HS B2B pins 97/98 (Rx/Tx) Voltage 1.8V, directly connected to QRB5165, likely need to level shift Code Sample TODO M0130 - LTE v2 Pro - J8 Pins 10/11 (Tx/Rx) - Level Shifted to 3.3V
SLPI Proc QUP2 - ESC UART Device QUP2
Pins J18 Pins 2/3 (Tx/Rx) Voltage 3.3V, via directional level shifters Code Sample PX4 ESC Driver Add-Ons VOXL ESC
QUP6 - GNSS UART QUP7 - RCIO UART SPI The following is accurate as of System Image 1.3 .
Overview
Note: not shown is spidev11 on HS B2B J5 /dev/spidev0.0 --> camera group 0 (J6)
/dev/spidev3.0 --> internal IMU (TDK ICM-42688p)
/dev/spidev11.0 --> HS B2B connector (J5)
/dev/spidev14.0 --> external SPI (J10)
Apps Proc SPI0 - Camera Group 0 SPI Device /dev/spidev0.0
Code Sample VOXL SDK IMU Server Voltage 1.8V, directly connected to QRB5165, likely need to level shift Pins J6 - 34 MISO J6 - 36 MOSI J6 - 38 SCLK J6 - 40 CS_N
SPI3 - IMU1 Device /dev/spidev3.0
, exposed in MPA as /run/mpa/imu_apps
Code Sample VOXL SDK IMU Server Voltage Internal Pins U17 - 1 MISO U17 - 14 MOSI U17 - 13 SCLK U17 - 12 CS_N
SPI11 - J5 B2B SPI Available in system image 1.5+
Device /dev/spidev11.0
Code Sample VOXL SDK IMU Server Voltage 3.3VDC Pins J5 - 53 MISO J5 - 54 MOSI J5 - 55 SCLK J5 - 56 CS_N
Available from M0130 addon - J8 pin 2-5
SPI14 - J10 External SPI Device /dev/spidev14.0
Code Sample VOXL SDK IMU Server Voltage 3.3VDC Pins J10 - 2 MISO J10 - 3 MOSI J10 - 4 SCLK J10 - 5 CS_N
Available from J10 pins 2-5
SLPI Proc QUP5 - IMU0 Device exposed via MAP at /run/mpa/imu_px4
Code Sample VOXL SDK IMU Server Voltage Internal Pins U16 - 1 MISO U16 - 14 MOSI U16 - 13 SCLK U16 - 12 CS_N
I2Cs The following is accurate as of System Image 1.3 .
Overview
Apps Proc i2c-0 - I2C2 - HS B2B I2C /dev/i2c-0
is exposed on the HS B2B connector (J5) pins 8/9.
Device /dev/i2c-0
(new as of system image 1.5)Code Sample Voltage 3.3VDC Pins J5 Pin 8/9 (SDA/SCL) (GPIO 115/116) Add-Ons M0130 J8 Pins 8/9 (SDA/SCL)
i2c-1 - I2C9 - B2B I2C - GPIO 125-126 /dev/i2c-1
Device /dev/i2c-1
(as of system image 1.5, was i2c-0
before)Code Sample Voltage 3.3VDC Pins J3 Pin 13/15 (SCL/SDA) (GPIO 126/125)
i2c-2 - I2C10 - B2B I2C - GPIO 129-130 /dev/i2c-2
is exposed on the Legacy B2B connector’s pins 23 and 25, and available on add-on boards via a JST connector.
Device /dev/i2c-2
(as of system image 1.5, was i2c-1
before)Code Sample Voltage 3.3VDC Connector M0054 J3 Pins 23/25 (SCL/SDA) (GPIO 130/129) Add-Ons M0062 J9 Pins 4/5 (SDA/SCL) M0090 J9 Pins 4/5 (SDA/SCL)
i2c-3 - I2C15 - USB Redriver (internal, don’t use) Status: dmesg shows some errors, need to investigate
Device /dev/i2c-3
(as of system image 1.5, was i2c-2
before)Hardware PN NB7VPQ904MMUTWG
datasheet Address: 0x1C
i2c-4 - I2C1 - Camera Group 1 I2C /dev/i2c-4
is exposed on the J7 camera group connector
Device /dev/i2c-4
Code Sample Voltage 1.8VDC Connector M0054 J7 Pins 34/36 (SCL/SDA) (GPIO 4/5)
SLPI Proc QUP0 - External Sensor (Magnetometer) Typically used for magnetometer I2C connection.
QUP2 - External Sensor (Power Monitoring) Typically used for battery power monitoring I2C connection.
ID QUP2 Code Sample Voltage 5.0VDC Pins J4 Pins 3/4 (SCL/SDA) Add-Ons VOXL PMv3
QUP3 Future use.
ID QUP3 Code Sample Voltage 3.3VDC Pins J19 Pins 7/8 (SCL/SDA) Add-Ons NA
QUP4 - Internal Sensors (Barometers) Connected to onboard barometers.
ID QUP4 Code Sample Hardware TDK-ICP10100 @ 0x63h bmp388 @ 0x76h
GPIOs The following is accurate as of System Image 1.3 .
Apps Proc Work in progress to expose more GPIOS:
VOXL SDK - voxl-bind source code example .
J3 - B2B See changelog for version info.
GPIO Direction Description 52 In J3 Pin 7, pulldown - exposed by M0090, M0062 - J8 pin 2 at 3P3V 53 Out J3 Pin 9, default high, 1P8V - exposed by M0090, M0062 - J8 pin 3 at 3P3V (for M0048 pDDL_EN_N) 54 Out J3 Pin 19, default low, 1P8V - exposed by M0090, M0062 - J8 pin 4 at 3P3V 55 Out J3 Pin 17, default low, 1P8V - exposed by M0090, M0062 - J8 pin 5 at 3P3V 131 Out J3 Pin 38 - default low, 1P8V 124 Out J3 Pin 40 - default high,1P8V
J5 - HS B2B See changelog for version info.
GPIO Direction Description 0 In/Out J5 Pin 46, default high, 1P8V 1 In/Out J5 Pin 47, default high, 1P8V 56 In/Out J5 Pin 50, default high, 1P8V 57 In/Out J5 Pin 51, default high, 1P8V 89 In/Out J5 Pin 79, default high, 1P8V - for M0130, controls whether interface on J8 is SPI (default) or UART (DT change needed to convert) 152 In/Out J5 Pin 44, default high, 1P8V 153 In/Out J5 Pin 43, default low, 1P8V 154 In/Out J5 Pin 42, default low, 1P8V 155 In/Out J5 Pin 41, default low, 1P8V
J6 Note: As of system image 1.5:
GPIO Direction Description 113 In/Out J6 - 16, exposed though interposer M0076 TP2 110 In/Out J6 - 18, exposed though interposer M0076 TP3. Note: camera HW ID 1 reset
J7 Note: As of system image 1.5:
GPIO Direction Description 6 In/Out J7 - 38, exposed though interposer M0076 TP7 7 In/Out J7 - 40, exposed though interposer M0076 TP8
J8 Note: As of system image 1.5:
GPIO Direction Description 12 In/Out J8 - 34, exposed though interposer M0076 TP5 13 In/Out J8 - 36, exposed though interposer M0076 TP6
J10 GPIO Direction Description 46 Out J10 Pin 6 (SPI4 CS1, used for Spektrum bind)
LEDs GPIO Direction Description 82 Out DS2 LED, Red 83 Out DS2 LED, Green 84 Out DS2 LED, Blue
Regulators GPIO Direction Description 157 Out Controls U41, the 5V/2A switchable power supply for USB 159 Out Controls U24, the 3.3VDC supply for RC / VOXL2 IO, J19 pin 9
Serial Debug Console This is enabled in DEBUG builds of the system image and not enabled by default.
You can access via:
Running the following after power on, for example:
screen /dev/tty.usbserial-AU03BMG9 115200
Watch the booting progress:
[ OK ] Stopped Modem Init Service.
[ OK ] Started Modem Init Service.
[ OK ] Stopped Modem Init Service.
[FAILED] Failed to start Modem Init Service.
See 'systemctl status init_sys_mss.service' for details.
[ OK ] Started depends update.
Ubuntu 18.04.5 LTS qrb5165-rb5 ttyMSM0
qrb5165-rb5 login:
Next: VOXL 2 PX4 Userguide