UART connection between Thingy:91X and Cube Orange to receive MAVLink telemetry

Hello,

I am currently working on connecting a Thingy:91x to a Cube Orange autopilot (Pixhawk 2.1) in order to receive telemetry data over UART using the MAVLink protocol. The goal is for the Thingy:91x to act as a receiver for MAVLink messages being emitted by the flight controller.

The Cube Orange exposes several UART interfaces via connectors such as TELEM2, which provide:

  • TX (Cube output)

  • RX (Cube input)

  • GND

Questions:

  1. Which pins should I use from the Thingy to connect with UART and read the telem?

  2. Is there any specific configuration required in the device tree or Kconfig to properly enable and use uart0 on the Thingy:91x?

  3. Are there any official examples or recommended approaches within Zephyr/NCS for receiving a continuous data stream (such as MAVLink) over UART?

  4. What is the recommended way to debug incoming UART data on the Thingy:9x1? Is it possible to redirect the UART output to USB for inspection via a terminal like minicom?

  5. Are there any considerations regarding buffer size, flow control, or DMA configuration when handling continuous traffic such as MAVLink (~10-20Hz message rate)?

Parents
  • Hello,

    Which pins should I use from the Thingy to connect with UART and read the telem?

    Thingy91:X comes with a "Current measurement and debug board connector", so maybe you can use it to access some GPIOs, which you can then use for UART.

    Is there any specific configuration required in the device tree or Kconfig to properly enable and use uart0 on the Thingy:91x?

    You should enable CONFIG_SERIAL and CONFIG_UART_INTERRUPT_DRIVEN at least, and check if that works.

    Are there any official examples or recommended approaches within Zephyr/NCS for receiving a continuous data stream (such as MAVLink) over UART?

    I don't think there is any example specifically for MAVLink, but you can try the lpuart sample in the SDK.

    What is the recommended way to debug incoming UART data on the Thingy:9x1? Is it possible to redirect the UART output to USB for inspection via a terminal like minicom?

    Yes, there is a USB connector on the board that can be used for logging purposes.

    Are there any considerations regarding buffer size, flow control, or DMA configuration when handling continuous traffic such as MAVLink (~10-20Hz message rate)?

    I don't think flow control should be necessary, but you can enable it in dts with the hw-flow-control property if necessary.

Reply
  • Hello,

    Which pins should I use from the Thingy to connect with UART and read the telem?

    Thingy91:X comes with a "Current measurement and debug board connector", so maybe you can use it to access some GPIOs, which you can then use for UART.

    Is there any specific configuration required in the device tree or Kconfig to properly enable and use uart0 on the Thingy:91x?

    You should enable CONFIG_SERIAL and CONFIG_UART_INTERRUPT_DRIVEN at least, and check if that works.

    Are there any official examples or recommended approaches within Zephyr/NCS for receiving a continuous data stream (such as MAVLink) over UART?

    I don't think there is any example specifically for MAVLink, but you can try the lpuart sample in the SDK.

    What is the recommended way to debug incoming UART data on the Thingy:9x1? Is it possible to redirect the UART output to USB for inspection via a terminal like minicom?

    Yes, there is a USB connector on the board that can be used for logging purposes.

    Are there any considerations regarding buffer size, flow control, or DMA configuration when handling continuous traffic such as MAVLink (~10-20Hz message rate)?

    I don't think flow control should be necessary, but you can enable it in dts with the hw-flow-control property if necessary.

Children
No Data
Related