HARDWARE
- VOXL 2 Mini (M0104), voxl-px4 1.14.0-2.0.133 (PX4 v1.14), voxl-mavlink-server 1.4.14
- Doodle Labs Smart Radio RM-1700-22M3, connected per the Doodle Labs user guide:
Port 1 (USB device) -> custom harness mimicking MCBL-00080 wiring but with
ADDED LENGTH (D-, D+, GND on J3 pins 2/3/4, no VBUS; unshielded discrete
JST-GH wires) -> VOXL J3. Radio appears as SMSC LAN9500A bridge -> eth0 - Radio powered separately: Port 4 from a 5V/5A Pololu buck (battery-fed)
- VOXL 2 Mini powered from the VOXL ESC's regulated output (supported config per docs)
- 6S pack, quad-X, VOXL 4-in-1 ESC (UART), ~40 A peak bench currents
- ESC firmware: as shipped (will attach
voxl-esc scanoutput; can update from
the voxl-esc repo if a newer build is recommended)
SYMPTOM
Every 2-5 s after arming (and reproducibly during motor transients), the USB
device drops off the bus and re-enumerates. ~2.5 s network outage each time ->
QGC loses telemetry, PX4 declares "Manual control lost" -> failsafe. dmesg shows
a clean detach with NO preceding errors:
usb 1-1: USB disconnect, device number 7
smsc95xx 1-1:1.0 eth0: unregister 'smsc95xx' ... USB 2.0 Ethernet
QTI:TETHERED link down
usb 1-1: new high-speed USB device number 8 using xhci-hcd
smsc95xx 1-1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x4DE1
No xhci transaction errors, no resets, no driver messages before any event.
Also occasional spontaneous flaps in the first minutes after boot (motors off),
often in bursts of 2-3 disconnects within seconds ("bounce storms").
KEY REPRODUCTION (no arming involved)
Stepping all 4 motors 0 <-> 65% via actuator test (props off) produces 2-6
disconnects per 8 steps, every run. Holding all 4 motors at a constant 45% for
20+ s produces ZERO disconnects. So it correlates with dI/dt (current change),
not current level, vibration, or the arming software path.
ELIMINATED BY DIRECT TEST
- Software: auto suspend disabled at all levels, no USB2 LPM on this kernel,
rx_parse_errors=0, MAVLink v2 both ends, logging (SDLOG) A/B tested, arming
logic excluded by the actuator_test reproduction above - Radio supply headroom: 2.4A regulator replaced with 5A -> no change
- Harness: replaced entirely -> no change (both were unshielded JST harnesses)
- Power lead radiation: 12AWG battery leads bundled/rerouted -> no change
- Mechanical: J3 connector reseat + strain relief cured an earlier
wiggle-to-disconnect sensitivity, but transient-triggered flaps persist - VOXL on bench supply (instead of ESC output): background flaps stopped and
pulse-induced flaps dropped ~6 -> ~2 per run, but not zero
CURRENT HYPOTHESES (in order)
- ESC input bulk capacitor: this is a 6S build and the ESC's provided
capacitor is installed at the battery connector, NOT at the ESC input pads
(about to move it -- per @Alex Kushleyev's note that 6S without the cap
causes "excessive noise") - Common-mode/ground transient across the unshielded USB harness (planning a
bonded ground strap routed with the harness + snap ferrites) - Residual: VOXL-side rail dip when powered from ESC aux during transients
QUESTIONS
- Is this failure signature known on VOXL 2 (Mini) builds with higher-current
ESCs? Any documented fix? - Does ModalAI have a recommended ferrite / common-mode choke or shielded
harness option for the J3 USB link in electrically noisy builds? - Is powering VOXL 2 Mini from the ESC regulated output advisable on a 6S
~40A-transient airframe, or is the M0041-4 power module strongly preferred? - Any known sensitivity of the QRB5165 USB host (xhci) to ground transients
that would argue for specific layout practice? - Is there a current VOXL ESC firmware release with improvements relevant to
6S electrical noise / switching behavior, and is updating recommended here?
(Happy to flash latest from the voxl-esc repo if so.) - Baseline parameters: for a custom 9-inch VOXL 2 Mini build, which platform
file should be the starting baseline? The candidates in
voxl-px4-params/params/v1.14/platforms are:- VOXL_2_defaults.params
- VOXL_2_fpv_defaults.params
- M500_FCV1.params
- M500_FCV2.params
My understanding is the M500_FCV* files target Flight Core hardware and
should NOT be loaded on a VOXL 2 Mini -- can you confirm VOXL_2_defaults is
the correct base for this board, plus frame-specific CA_/VOXL_ESC_ on top?
- USB harness between the radio and VOXL J3: ours is a custom cable that
mimics the MCBL-00080 wiring but is LONGER than the stock cable (unshielded
discrete JST-GH conductors, no twisted pair). Is there a maximum recommended
length for the J3 USB 2.0 HS harness in a noisy airframe? Does ModalAI offer
(or recommend building) a shielded and/or twisted-pair version for longer
runs, and could the added length alone plausibly account for transient-
induced disconnects like the above?
Happy to provide full dmesg logs, ulogs, and the reproduction script.