Flight Controller not communicate over XRCE-DDS

Hey, @TSC21

Issue: Micro XRCE-DDS Agent works perfectly in SITL (simulation), but when I connect to the actual flight controller hardware(Mico Air H743 v2), the ROS 2 nodes don’t appear.

Command used on Jetson: sudo MicroXRCEAgent serial --dev /dev/ttyACM0 -b 921600

Output:

[1762845516.066311] info | TermiosAgentLinux.cpp | init | running… | fd: 3 [1762845516.066650] info | Root.cpp | set_verbose_level | logger setup | verbose_level: 4

Problem: Agent starts fine, but PX4’s uxrce_dds_client stays disconnected — no ROS 2 topics appear. Hardware connection used: Flight Controller ↔ Jetson via USB (ttyACM0)

Question: Can someone confirm the exact PX4 parameters I need to set for Micro XRCE-DDS to connect properly?

And also — for real hardware — should I connect via: USB, UART (TX/RX, GND between Jetson and FC)? or anything else.

Any guidance or working configuration (especially the correct serial parameters) would be super helpful! Thank you

Check
UXRCE_DDS_CFG param is it enabled or disabled make it Enable
→ Make sure it is enabled and make sure MAV_*_CONFIGdoes not conflict with UXRCE_DDS_CFG port
→ Check Baudrate, Telem Cable, USB Permissions, etc, and try again

1 Like

uxrce-dds over USB is not a supported option

It could probably be added fairly easily, but you will have to implement it in the code and submit a PR. You will need to add uxrce-dds as an option in the cdcacm_autostart module and add support to the uxrce driver.