Interfacing a Six-Axis Load Cell with Cube Orange+ for Real-Time Logging and Control in PX4

Hi everyone,

I’m working on integrating a six-axis load cell with a Cube Orange+ flight controller running PX4 v1.14 (or v1.13 alpha). The aim is to enable a multi-rotor UAV to interact physically with its environment using a rod-mounted load cell that provides force/torque feedback.

System Overview:

  • Load Cell: Comes with its own interface board, user manual, and iDAS software.
  • Provided Materials: Manufacturer has also provided example code (attached to the project knowledge base).
  • Connection: The load cell is physically connected via UART (TX, RX, GND) to the GPS2 port on the Cube Orange+.

What I’ve Tried:

I attempted to modify the PX4 firmware to read data from the load cell and display it in the MAVLink console or MAVLink inspector in QGroundControl. The goal is to:

  • Log the force/torque data in real time,
  • Make it available for monitoring,
  • And potentially use it in a control loop.

Unfortunately, I haven’t been able to get the data to show up correctly or reliably through this approach.

My Questions:

  1. What’s the proper way to integrate a custom UART-based sensor (like a 6-axis load cell) into PX4 for real-time logging and monitoring in QGC (via MAVLink console or inspector)?
  2. Can the GPS2 UART port be used for this type of data, or should another port/method be considered?
  3. Would I need to create a custom driver and/or MAVLink message to support this integration?
  4. How can I make this data available for control use inside PX4 (e.g., to feed into a control loop)?

Any advice, examples, or direction on similar implementations would be greatly appreciated. Thanks in advance for your help!