Skip to content

VOXL 2 and VOXL 2 Mini

665 Topics 3.8k Posts

VOXL 2, VOXL 2 Mini and VOXL 2 IO: bring-up, connectors, power, cameras, system image and SDK installs on the current compute platform.

  • VOXL 2 Frequently Asked Questions

    Pinned voxl-2
    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • M0155 GPIO 109 Sync Output and IR/EO Camera Synchronization

    Unsolved
    2
    0 Votes
    2 Posts
    39 Views
    VinnyV
    Hi @김다연 GPIO 109 sync through M0155 Yes. GPIO 109 is on pin 26 of J6, J7 and J8, and M0155 passes it through to the sensor. Same sync signal M0173 uses. It is driven by voxl-fsync-mod. IR + EO on J6 and J7 Not automatic. Two things are required in software. The sensors must be running a sensor module built with sync input enabled (the fsin variants under /usr/share/modalai/chi-cdk/, selected by camera HW ID), and voxl-fsync-mod must be enabled and configured for the correct GPIO. Without the fsin sensor module, the sensor ignores the trigger and free-runs. The fsync period also sets the frame rate, which is the cleaner answer to your earlier 8.6 fps question: drive the rate from voxl-fsync-mod rather than adding a sensor mode to the driver.
  • VOXL 2 / M0062 Configuration Questions

    Unsolved voxl2
    2
    2
    0 Votes
    2 Posts
    28 Views
    VinnyV
    Hi @김다연 Responses in order: IMX412 frame rate Frame rate is set per-camera in /etc/modalai/voxl-camera-server.conf, no kernel rebuild required, but you are limited to the sensor modes the driver defines. 8.6 fps is not a standard IMX412 mode, so it almost certainly requires a new mode in the sensor driver and a kernel rebuild. Before going down that path: if you only need the two cameras aligned, use the frame sync hardware rather than matching free-run rates. Camera config: https://docs.modalai.com/configure-cameras/ UART on J3 J3 exposes UART7 only, on pins 3 and 5 (GPIO_23 RXD, GPIO_22 TXD), enumerated as /dev/ttyHS1. UART13 is not on J3, it is on J5, the high-speed B2B. Full J3 and J5 pinouts: https://docs.modalai.com/voxl2-connectors/ FSync on J3 J3 does not carry a camera sync signal. FSync is GPIO 109 on the camera group connectors (J6/J7/J8) and is driven by voxl-fsync-mod, enabled through voxl-camera-server. There is nothing on J3 to configure for this. M0062 boot mode switches Your understanding of the two modes is correct. The DIP switch on the M0062 is unused. The Fastboot and EDL switches are wired in parallel with VOXL 2’s own SW1 and SW2 and do exactly the same thing, so use whichever is physically accessible in your build. Recovery procedures are documented here: https://docs.modalai.com/voxl2-connectors/#buttons and https://docs.modalai.com/voxl2-unbricking/ SW2 (EDL) should be left OFF in normal operation.
  • VOXL 2 Mini: supported M0166 + M0161 camera and ranging configuration

    Unsolved
    1
    0 Votes
    1 Posts
    25 Views
    No one has replied
  • Do your tests notice small changes in MAVLink handling on VOXL?

    Unsolved
    1
    0 Votes
    1 Posts
    14 Views
    No one has replied
  • Stinger Vision VL53L4CX integration with M0188

    Solved
    7
    1
    1 Votes
    7 Posts
    196 Views
    VinnyV
    Resolving this over email. Thanks!
  • AR0144 Global Shutter Tracking Sensor Replacement Lenses

    Unsolved
    2
    0 Votes
    2 Posts
    173 Views
    M
    following up on this @eric-katzfey is there any recommended path to get narrow FOV cameras on the VOXL2/VOXL2 mini outside of VOXL2 ecosystem. Is USB the only path?
  • Traditional Helicopter Support on VOXL 2 Mini with ArduPilot

    Unsolved
    1
    0 Votes
    1 Posts
    27 Views
    No one has replied
  • Starling 2 drone appears operational after crash but will not boot

    Unsolved
    1
    0 Votes
    1 Posts
    25 Views
    No one has replied
  • Backtracking on the VOXL2

    Unsolved
    4
    0 Votes
    4 Posts
    294 Views
    Eric KatzfeyE
    There are no explicit checks in the code that would limit backtrack_seconds
  • PX4 versions

    Unsolved
    2
    0 Votes
    2 Posts
    219 Views
    Eric KatzfeyE
    Our upcoming SDK 1.8.0 will have a release 1.18 based version of PX4. The package we are testing with can be found here: http://voxl-packages.modalai.com/dists/qrb5165/dev/binary-arm64/voxl-px4_1.18.0-1.0.9-202610051650_arm64.deb. PX4 parameters are different in this release than the 1.14 based versions so that needs to be considered. Our voxl-px4-params utility has been updated for this already and will be part of SDK 1.8.0. Directly building the tip of mainline should also work although that hasn't been tested for a few months.
  • Need Urgent Support ASAP regarding Starling Max 2 Controller Arming issue

    Unsolved
    11
    0 Votes
    11 Posts
    473 Views
    Alex KushleyevA
    HI @oiler251 , we will work on a more detailed step by step guide for debugging VIO. Meanwhile, you may found the below unofficial guide useful. VOXL 2 / OpenVINS Drift Troubleshooting Guide Applies to: Starling 2 / Starling 2 Max and other VOXL 2 vehicles running voxl-open-vins-server with PX4 How to use this guide The steps are ordered by cost × likelihood: the first few take minutes and catch the problems that cause most "my drone drifts" reports. Each step has a pass/fail check. Don't skip ahead. If a step fails, fix it and restart from Step 1, because a fix upstream often changes what you see downstream. The pipeline you're debugging, end to end: tracking cams + imu_apps ──► voxl-open-vins-server ──► voxl-vision-hub ──► PX4 EKF2 ──► position controller (Steps 4, 7, 8) (Steps 3, 5, 9) (Step 6) (Steps 1, 6) (Step 0, 8) The core diagnostic split, straight from ModalAI's docs: if voxl-inspect-vins shows valid, moving position data, VIO is working, and no amount of camera recalibration will help; the problem is on the PX4 side. Use that rule constantly. Quick triage table Symptom Most likely cause Go to Drifts in Manual / Stabilized mode Expected; no position control in that mode Step 0 QGC says "position mode rejected" / falls back to Altitude PX4 not getting or not fusing VIO; outdoor/GPS params loaded Step 1 Position mode accepted, but slow wander VIO quality, environment, calibration Steps 3–5, 7 Position mode accepted, vehicle runs away fast after takeoff Frame/extrinsics mismatch Step 6 Holds OK, then sudden jump/lurch mid-flight VIO reset in flight Step 9 "Bouncing" up and down, oscillating Height source, vibration, tether, or tuning Step 8 VIO stays in INIT on the ground IMU cal, cam cal, texture at takeoff spot Step 9 Step 0 — Confirm which flight mode the drift happens in (2 min) Why first: this single question resolves a large share of reports. Manual mode will drift because it has no position control. Do: Note the mode on the RC mode switch and in QGC at the moment of drift. Manual / Stabilized / Altitude: horizontal drift is expected. Altitude mode holds height only. Only Position (and Offboard) mode uses VIO to hold X/Y. Pass: the drift is happening in Position mode. → Continue. Fail: the drift is in Manual/Altitude. → The fix is to get Position mode working; go to Step 1. Note for the #5505 case: the user also re-ran QGC's sensor calibration hoping to fix drift. That calibrates PX4's flight IMU, which helps attitude, but it does not touch imu_apps, the IMU OpenVINS uses (see Step 7). It also cannot make Manual mode hold position. Step 1 — Is PX4 configured for indoor VIO? (5–10 min, highest-yield check) Why: a ModalAI moderator stated that the Starling 2 Max is marketed as an outdoor drone and ships with "outdoor GPS" PX4 parameters, so its default Position mode tries to use GPS. Indoors with no GPS fix, PX4 then rejects Position mode or flies on a bad estimate. Another Starling 2 Max user's drift was resolved by loading indoor_vio_missing_gps.params. Do: Plug in the battery, wait ~30 s for voxl-vision-hub to start, connect QGC. Flip the mode switch Manual → Position with the props off or disarmed. Listen for QGC's announcement: "position" → PX4 accepts the VIO. "position mode rejected, altitude flight mode" → PX4 isn't getting or isn't fusing VIO. Load the version-matched indoor VIO parameter file from voxl-px4-params (for PX4 v1.14: params/v1.14/EKF2_helpers/indoor_vio.params, or indoor_vio_missing_gps.params if no GPS is attached). In QGC: Parameters → Tools → Load from file, then reboot. Spot-check these parameters afterward: Param Indoor VIO-only value Notes EKF2_EV_CTRL per param file ModalAI calls this the most often overlooked VIO param SYS_HAS_MAG 0 Otherwise PX4 may reject Position mode for want of a magnetometer EKF2_MAG_TYPE 5 Disables mag fusion SYS_HAS_GPS 0 Only if no GPS is on the vehicle EKF2_AID_MASK no longer exists on PX4 1.14; ignore older guides that reference it. Pass: QGC accepts Position mode on the bench. Fail: continue to Steps 2–3 to find out why VIO isn't reaching EKF2. Watch for: params from the wrong PX4 version cause subtle breakage. Also, a connected GPS/mag unit fighting VIO can corrupt local position. For a quick experiment, ModalAI suggests disconnecting it. Step 2 — Are the right services running, and only one VIO engine? (2 min) Do: voxl-version voxl-inspect-services Pass criteria: voxl-camera-server, voxl-open-vins-server, voxl-vision-hub, voxl-px4 are Enabled + Running. voxl-qvio-server is Disabled / Not Running. Only one VIO engine should run at a time. /etc/modalai/voxl-vision-hub.conf has:"vio_pipe": "ov", "secondary_vio_pipe": "", Vehicles set up on older SDKs may still have "vio_pipe": "qvio" with OpenVINS as the fallback. All packages come from one SDK release. Mixed package versions break the pipeline. Prefer flashing a complete SDK over upgrading single packages. Fix if needed: voxl-configure-qvio disable systemctl stop voxl-qvio-server systemctl enable voxl-open-vins-server systemctl restart voxl-open-vins-server voxl-vision-hub Nuclear option: voxl-configure-mpa resets every service config to the SKU defaults. Step 3 — Is VIO healthy on the ground before arming? (2 min) Do: voxl-inspect-vins Read three fields: State: FAIL (0), INIT (1), or OKAY (2). Must be OKAY. Quality: higher is better; -1 = failed. OpenVINS applies hysteresis, so it shouldn't flicker. Error codes: a hex bitfield decoded by the tool. Mostly meaningful when the state is FAIL. The full table is on the Pipe Interface page. Pass: OKAY, stable quality, position near zero and not wandering while the vehicle sits still. Fail: stuck in INIT → Step 9's "won't initialize from rest" list. Wandering while stationary → Steps 4 and 7. Operational rule: ModalAI recommends that if you need VIO from takeoff, you initialize statically on the ground, confirm OKAY, and only then take off. Make "wait for OKAY" part of the preflight. Step 4 — Look at the camera images (5 min) Why: VIO depends on visible features plus low-noise IMU data. Bad imagery is the most common physical cause of drift indoors. Do: open voxl-portal in a browser (drone's IP) and view each tracking camera and the VIO tab. Checklist: Lens covers removed, lenses clean (plastic lens; microfiber only) In focus: for OV7251 fisheye, everything beyond ~15 cm should be sharp (test with high-contrast objects at 15 cm and 1 m) Enough light; no glare or hot spots Texture at both near and far range. A plain lab floor under the down camera, blank walls, or a boundary net filling the view all starve the tracker. Far-only features give orientation but poor position. Nothing intruding into the view (legs, tether, payloads, wiring) Cameras detected: voxl-camera-server -l Also check camera-server health. A Starling 2 Max user on SDK 1.6.3 / OpenVINS 0.6.0 saw massive drift from feature loss. Running voxl-camera-server in the foreground showed repeated Received "Result"/"Buffer" error from camera: tracking_down and dropping frame after re-init. ModalAI's fix was updating OpenVINS to the GitLab master branch (or the synced-timestamp branch for epoch-synced AR0144 tracking cams). To look for this: systemctl stop voxl-camera-server voxl-camera-server # watch for repeated per-frame errors, then Ctrl-C systemctl start voxl-camera-server Fix: add texture (tape patterns, posters, mats on the floor), improve lighting, or move the takeoff spot. ModalAI's guidance is to fix the scene rather than tune the estimator. For the 20' × 30' netted demo area: a uniform floor plus a net perimeter is a weak VIO environment. Put high-contrast texture on the floor under the takeoff point and along the walls the front camera will see. Step 5 — Hand-held test (5 min, props off) This is the definitive "is VIO itself healthy?" test. Repeat it after any VIO config change. Props off, VIO running, VIO tab open in voxl-portal. Slowly lift and move the vehicle about half a meter. Features should stay locked on the same physical points. Features that pop in and out or slide off their targets usually mean wrong camera-to-IMU extrinsics. Walk it around the room and return it to the exact start position and heading. Reported drift should be a few percent of distance traveled, with very small yaw drift. While moving, sanity-check axes in voxl-inspect-vins. Forward should give +X; up should give −Z (FRD/NED). Pass: drift is a few percent and features are locked → VIO is fine. Go to Step 6. Fail: large drift or sliding features → Step 7 (calibration/extrinsics). If calibration checks out → Step 9 logging. Step 6 — Verify the pose that actually reaches PX4 (5 min) Why: VIO can be perfect while the estimate PX4 flies on is wrong, because extrinsics or EKF2 fusion sit in between. A coordinate mismatch makes PX4 take off and then quickly run away out of control. Do: Pose after extrinsics are applied (should match PX4's local position):voxl-inspect-pose vvhub_body_wrt_local Good VIO but wrong pose here → extrinsics problem. Check with voxl-inspect-extrinsics and see Configure Extrinsics. In QGC → Analyze → MAVLink Inspector: ODOMETRY: X/Y non-zero and moving correctly in NED as you carry the drone (forward = +X North-ish in local frame, right = +Y, up = −Z). LOCAL_POSITION_NED: Z updating but X/Y stuck at zero = EKF2 config problem, not VIO. Go back to Step 1. Check camera selection: voxl-inspect-vio-cams (config in /etc/modalai/vio_cams.conf). Pass: VIO pose, vision-hub pose, and PX4 local position all agree and move in the right directions. Step 7 — Calibration (15–60 min) Only do this if Steps 3–6 point at estimation quality. Recalibrating isn't free, and it doesn't help when VIO is already good (see the decision rule at the top). 7a. VIO IMU (imu_apps), not the PX4 IMU The VIO IMU is the apps-processor IMU (imu_apps), not the one PX4 flies on. QGC sensor calibration does not calibrate it. Recalibrate with voxl-calibrate-imu (or from voxl-portal), then confirm gravity reads ≈ 9.81 m/s²:voxl-inspect-imu imu_apps A wrong gravity magnitude or bad biases give a static init that looks fine on the bench and falls apart once airborne. Try removing the IMU temperature-calibration file from /data/modalai/. It's optional and can hurt if captured poorly. Back it up first. 7b. Camera intrinsics Files: /data/modalai/opencv_<pipe>_intrinsics.yml. Resolution in the cal file must match the camera's current streaming resolution. A 640×480 cal is invalid at 1280×800. Check the stored reprojection_error. The ModalAI calibrator accepts ≤ 0.75 px (pinhole) / ≤ 0.60 px (fisheye); recalibrate if you're near the limit. Tracking cameras are factory-calibrated. If you've lost the factory cal, ModalAI keeps production backups; ask on the forum with the board's serial number. 7c. Extrinsics /etc/modalai/extrinsics.conf defines camera/IMU geometry. ModalAI ships these from CAD, so they're accurate but not per-unit calibrated. They only need changing if cameras were moved or the airframe was modified. ️ Documentation discrepancy (calibration threshold): ModalAI's calibrator accepts up to 0.75 px (pinhole) / 0.60 px (fisheye). Upstream OpenVINS says a good calibration has reprojection error under about 0.2–0.5 px. A cal that "passes" ModalAI's gate can still be mediocre by OpenVINS's standard. If you're chasing residual drift, treat anything above ~0.5 px as a recalibration candidate. Step 8 — Mechanical & flight-dynamics confounders (10 min) These make a good estimate look like drift, or degrade it in flight only. Vibration: degrades VIO significantly. Check with:voxl-inspect-vibration and the PX4 log. Fix damping, balance props, and replace damaged props before touching software. Tether / test fixture: the #5505 user is flying tethered to a fixture. A taut tether pulls the vehicle, so the position controller fights it, which can look like "jumping up and down" and drift. It may also intrude into a camera view. Validate VIO with a slack tether, or untethered at low altitude in a netted area. Height "bouncing": check which height source EKF2 uses in the indoor param file you loaded and confirm it actually applied. In a small enclosed room, prop wash and ground effect disturb a barometer. Airframe changes: added payloads, lights, or prop guards affect both vibration and camera view. Step 9 — Initialization & in-flight resets VIO won't initialize from rest (stuck in INIT) ModalAI's ordered list: Recalibrate IMU; confirm ≈ 9.81 m/s² (Step 7a). Camera calibration resolution matches current stream (Step 7b). Lighting/texture at the takeoff spot. Static init doesn't need features, but the filter needs them immediately after. Static vs dynamic init: static needs the vehicle stationary and level-ish. Dynamic needs ~2 s of motion with parallax, which a vehicle sitting still never provides. Vibration / airframe intrusions. Record a log (Step 10). Sudden jump or lurch mid-flight That's likely an auto-reset. The health monitor (30 Hz) resets on estimator-health codes (corrupt covariance, sustained low quality, feature starvation, velocity-uncertainty breaches). Transport warnings such as dropped frames do not trigger resets. A dynamic re-init can produce a jump discontinuity in the estimate, which PX4 will chase. Watch voxl-inspect-vins during a hover for state changes and error codes. If the use case can't tolerate jumps, ModalAI's advice is not to rely on dynamic init or warm resets. Initialize statically on the ground instead. Relevant knobs: en_auto_reset, auto_reset_max_velocity, auto_reset_max_v_cov_timeout_s, auto_reset_min_features, auto_reset_min_feature_timeout_s in /etc/modalai/voxl-open-vins-server.conf; init_dyn_use in estimator_config.yaml. The shipped values are sensible, so change one group at a time and validate with replays. ️ Documentation discrepancy (initialization defaults and where init_dyn_use lives): The Flying with VIO page says Open-VINS "initializes dynamically at any attitude." A 2025 forum reply from ModalAI staff (SDK 1.4.1) says the default config does not use dynamic initialization, and puts init_dyn_use in voxl-open-vins-server.conf. The current Initialization & Resets page puts init_dyn_use in estimator_config.yaml (under the yaml_folder, default /usr/share/modalai/voxl-open-vins/VoxlConfig/starling2) and presents static vs dynamic as an application choice. Behavior has changed across SDK versions. Check init_dyn_use in both files on the actual vehicle rather than trusting any one page, and match it to the SDK reported by voxl-version. Step 10 — Capture data and escalate If you got here without a fix, collect a complete package before posting to the forum. It turns a multi-day back-and-forth into one reply. voxl-version > voxl-version.txt voxl-inspect-services > services.txt cp /etc/modalai/voxl-open-vins-server.conf /etc/modalai/vio_cams.conf /etc/modalai/extrinsics.conf . voxl-logger -b -v ov # record VIO around a failing hover/takeoff PX4 flight log (.ulg adb shell ls /data/px4/log adb pull /data/px4/log/<session>/<log>.ulg . # or: QGC → Analyze → Log Download Upload the .ulg to https://logs.px4.io. The VIO log can be replayed offline with voxl-benchmark-vio. Include: flight mode at time of drift, the hand-held test result, and screenshots of the voxl-portal VIO tab and the QGC ODOMETRY / LOCAL_POSITION_NED inspector. Appendix A — Likely path for forum thread #5505 Based only on what the user posted. Not confirmed. Flew in Manual mode → drift is expected (Step 0). Indoor GPS-denied lab on a Starling 2 Max → very likely still on the factory outdoor/GPS params; load the indoor VIO params (Step 1). This is the single most likely fix. Recalibrated sensors in QGC → doesn't affect imu_apps; if VIO is bad, use voxl-calibrate-imu (Step 7a). Tethered to a fixture, "jumping up and down" → tether loading and/or height source; test with slack tether (Step 8). Demo in a netted 20'×30' room → add floor/wall texture and wait for OKAY before arming (Steps 3–4). Appendix B — Command cheat sheet Purpose Command SDK/package versions voxl-version Service status voxl-inspect-services VIO state/quality/errors voxl-inspect-vins Reset VIO voxl-reset-vins Pose sent to PX4 voxl-inspect-pose vvhub_body_wrt_local VIO camera selection voxl-inspect-vio-cams Extrinsics voxl-inspect-extrinsics Detected cameras voxl-camera-server -l VIO IMU check voxl-inspect-imu imu_apps VIO IMU calibration voxl-calibrate-imu Vibration voxl-inspect-vibration Reset all configs to SKU default voxl-configure-mpa Log VIO for replay voxl-logger -b -v ov Sources ModalAI — Flying with VIO (triage ladder, hand-held test, X/Y-zero rule, IMU and calibration checks, PX4 params) ModalAI — voxl-open-vins-server ModalAI — Initialization & Resets ModalAI — Pipe Interface / error codes ModalAI — voxl-px4-params OpenVINS — Sensor Calibration Forum — #5505 Starling Max 2 arming/drift Forum — Starling 2 Max drifting off (manual mode) Forum — Position Mode Unavailable (outdoor GPS params) Forum — OpenVINS drift from camera-server errors Forum — Problems resetting voxl-open-vins-server Forum — voxl-open-vins-server config (SDK 1.4.1)
  • Starling 2 Max board runs 6 to 10 C hotter on older drone

    Unsolved
    3
    0 Votes
    3 Posts
    255 Views
    PQLP
    @Alex-Kushleyev Hi Alex. Thanks for following up on this topic. I will update this thread with details. Thanks!
  • VOXL 2 Mini Environmental Limits

    Unsolved
    2
    0 Votes
    2 Posts
    193 Views
    VinnyV
    Hi @hartll244 , Please see these related posts. https://forum.modalai.com/topic/3664/voxl1-and-2-environmental-testing-documents/7?_=1790881535163 https://forum.modalai.com/topic/5316/need-operating-and-storage-temperature-ranges-for-5-components?_=1790881629795 VOXL 2 Mini falls under VOXL 2 as the core components are the same. Hope this helps you. Thanks!
  • Motor sputtering/odd noises when sending offboard waypoint in voxl-mapper

    Unsolved
    2
    0 Votes
    2 Posts
    192 Views
    Eric KatzfeyE
    Please provide a PX4 log.
  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    17 Views
    No one has replied
  • 0 Votes
    1 Posts
    194 Views
    No one has replied
  • This topic is deleted!

    Unsolved
    2
    1
    0 Votes
    2 Posts
    215 Views
  • 0 Votes
    2 Posts
    308 Views
    VinnyV
    Hi @noah-heinen, Thanks for the very detailed write-up and troubleshooting. There is a lot of useful information here, and this is a tough challenge. I hope we can help get it resolved with you. The first thing that stands out to us is the custom extended-length USB harness between the Doodle Labs radio and VOXL 2 Mini. Before digging further into software, ESC firmware, or platform parameters, I would focus on that physical USB connection. USB 2.0 High Speed is sensitive to cable construction and signal integrity. Extending the MCBL-00080 interface using discrete, untwisted, unshielded JST-GH conductors is not equivalent to extending it with a properly constructed USB cable. The added length also increases susceptibility to both radiated and common-mode noise, particularly in an electrically noisy environment such as a high-current multirotor. We should also acknowledge that our standard development cables are not necessarily optimized for the highest-noise or final-production UAS environments. They are primarily intended to help get systems connected and operating during development. For final aircraft integrations, we generally encourage additional cable optimization where appropriate, including shielding, ruggedization, strain relief, and dedicated cable routing or cable channels that keep sensitive interfaces away from high-current and high-noise paths. We have seen USB stability issues on aircraft when cabling and routing are not ideal, especially around ESCs, motors, and high-current battery wiring. The fact that your disconnects correlate strongly with motor current transients rather than steady-state current makes the custom USB harness and associated grounding/noise coupling particularly worth investigating. I would recommend addressing the USB harness first: Keep D+ and D- as a tightly coupled twisted pair and keep the run as short as practical. Use a shielded USB-rated cable rather than individual discrete wires for the extended portion. Adding shielding is absolutely a good approach here. Ideally, use the cable shield as a shield rather than simply adding another signal-ground conductor. Keep the USB harness physically separated from ESC phase wiring, battery leads, and other high dI/dt paths. Your plan to improve the ground path and experiment with ferrites is also reasonable, although I would first correct the basic USB cable construction before trying to solve the problem primarily with ferrites. I would not assume there is a specific maximum J3 cable length where it suddenly becomes unreliable. Cable construction, impedance, routing, grounding, and the surrounding EMI environment all matter. A longer run made from discrete untwisted/unshielded conductors is certainly more susceptible than the stock harness, and yes, it could plausibly produce the transient-induced disconnect behavior you are seeing. Moving the ESC bulk capacitor to the recommended location is also important, particularly on 6S, and I would still make that change. The improvement you observed when powering VOXL from a bench supply is another useful indication that conducted or common-mode noise may be contributing. There may be more than one coupling path here. However, given the custom extended USB cable construction, I would correct that first and repeat your 0 -> 65% actuator transient test. That is actually a very good controlled reproduction test.
  • Move ADB shell to another USB

    Solved
    2
    0 Votes
    2 Posts
    242 Views
    VinnyV
    Hi @qubotics-admin , Unfortunately no. ADB is only available on the primary USB-C port. However, SSH options exist to access a console and issue commands and get status of your VOXL. You can use this post to help guide you with an SSH connection: https://forum.modalai.com/topic/2798/ssh-into-voxl Hope this helps!