Skip to content
VOXL® Developer Community

Build smaller, smarter, safer drones.

Ask the ModalAI engineering team, search thousands of solved threads, and share what you're flying — direct from the people who build VOXL.

3385Members
5257Topics
26540Posts
Browse

Categories

  • Not sure where your question goes? Ask here. ModalAI engineers and the community answer questions about any VOXL product.

    2k 11k
    2k Topics
    11k Posts
    tomT
    Hi @james-garito it's likely easiest if you dump your questions here so our whole team can get eyes on and address.
  • VOXL 2, VOXL 2 Mini and VOXL 2 IO: bring-up, connectors, power, cameras, system image and SDK installs on the current compute platform.

    661 4k
    661 Topics
    4k Posts
    VinnyV
    Resolving this over email. Thanks!
  • Starling 2, Starling 2 Max, Sentinel, Seeker, m500, RB5, the PX4 Autonomy Developer Kit and Stinger FPV: flying, tuning, repairs and spare parts.

    644 3k
    644 Topics
    3k Posts
    PQLP
    Hi ModalAI. Can someone clarify/explain to me what hardware components on the Starling 2 Max makes it NDAA-compliant but not Blue UAS? Additionally, I would like any updated information on the Microhard pDMML2450. Although it is on the Blue UAS list, it is considered as developmental (stage 3) and not operational (stage 4). Because of this stage 3 status, it is supposedly not allowed for flight on military installations. Any insight or information to the above will be most helpful. The model I have is the MRB-D0012-4-V4-C29-M11-T8-K3.
  • Flight Core, Flight Core v2, Flight Core ArduPilot, the original VOXL, VOXL Flight, VOXL Flight Deck, VOXL-CAM and the older dev kits.

    433 2k
    433 Topics
    2k Posts
    Alex KushleyevA
    @qqa , we have document how to achieve folder-level encryption on VOXL2 here : https://docs.modalai.com/enabling-file-encryption/ . Please let us know if you have any other questions.
  • ESCs, image sensors, ToF and tracking cameras, Microhard and cellular modems, power modules, GPS and other add-on boards.

    414 2k
    414 Topics
    2k Posts
    VinnyV
    Sorry @senja for the delays, this post did not get flagged for me. Yes, they install on different sides of the VOXL 2 board as shown here: https://docs.modalai.com/voxl2-connectors/#connector-callouts [image: 1792693889198-9a619597-c0ad-460a-b43a-c0689c8a0aab-image.jpeg] https://docs.modalai.com/M0226/#overview [image: 1792693659205-3064b401-56ca-4e7d-973c-0fe9c3ebe5cc-image.jpeg] https://docs.modalai.com/m0062-datasheet/#connector-callouts [image: 1792693766032-bc42a15b-8021-47f4-a9b6-534603ed8399-image.jpeg]
  • voxl-sdk releases, MPA services, camera and video pipelines, Remote ID, and building and deploying your own software on VOXL.

    392 2k
    392 Topics
    2k Posts
    tomT
    @simiken1234 Thanks for the detailed report and logs. The images are correct. Your saved mach.var of 1.0.1 means M0054-1 hardware running the var00.1 (M0173) kernel, so the SDK 1.8.0 installer picked the right kernel and M0054(154)-1.zip is the right flat build. See VOXL 2 HW Versions. The firehose reset timeout is expected and not a problem. See the note in Flash Flat Build. A full factory flat build that still shows no USB device on a bare, cold-booted board, plus USB 3 resetting on two different hosts, points to a hardware problem on this board rather than SDK 1.8.0 or the -1 revision. Please do one more clean QDL flash of M0054(154)-1.zip over the USB 2 connection that worked. If it still does not come up as 05c6:901d, follow this section and request an RMA with the board serial (3f621d35), a link to this thread, and your support zip. Please hold off on further flash-system-image.sh or fastboot boot attempts in the meantime.
  • GPS-denied navigation with VIO, AprilTag relocalization, mapping and path planning, and obstacle avoidance.

    114 483
    114 Topics
    483 Posts
    김진혁김
    @anthony-kang Thank you for configuring a unit to replicate this. Before you spend more time on it, here is what we found in the public source after our first post, plus the materials you asked for. Two things in our original post turned out to be wrong, and I am correcting them here so the reproduction is not built on them. (Note: this topic now also carries an unrelated question from another user, so our four questions are restated at the end.) 1. Root cause — found in the public source (2026-10-15) The limit does not live in voxl-mapper. It is in voxl-vision-hub (confirmed with dpkg -S on our airframe, 1.9.21): // /usr/include/voxl_trajectory/trajectory_interface.h:48 #define TRAJ_MAX_SEGMENTS 20 // /usr/include/voxl_trajectory/trajectory_utils.h:34 <-- the rejection if (dst->n_segments + src->n_segments >= TRAJ_MAX_SEGMENTS) The number 20 is twice the configured value. loco_num_segments (default 10) is used identically by the global planner (planner_utils.cc:26) and the local planner (local_a_star.cc:138, as min(setting, number of A* path points)). When the path is long enough for both to reach the configured count, insertion is rejected at 10 + 10 = 20. With a short path there are fewer segments, which is why this does not fail on every flight. Two details that make it stricter than it looks: The actual length after insertion is segment_idx + 1 + src->n_segments (everything after the split point is discarded), but the check uses dst + src. With dst at 10 and a split point at index 3, 13 slots would be enough, yet it is rejected at 20. The comparison is >=, which costs one more slot. The same code is present in vision-hub v1.10.3 and on master, so upgrading the package does not change this (as of 2026-10-15). Our mitigation: loco_num_segments 10 -> 7 in /etc/modalai/voxl-mapper.conf (7 + 7 = 14, below the limit). This needs no rebuild. It is not yet flight-verified — our next flight will tell. If there is a reason not to lower this value (shorter planning horizon, replan frequency, anything we are not seeing), please say so. 2. Corrections to our first post Retracted: "a failed Go leaves segments allocated". We suspected the two failed Go commands before the successful one had filled the buffer. The arithmetic above explains the failure without any leftover state, so we no longer believe the buffer was pre-filled. Retracted: "we will test whether pressing Clear Paths first avoids it". That test does not address this condition. Please do not build the reproduction around it. 3. Why we cannot verify this on the ground (it is structural) We tried on 2026-10-15 and got as far as Immediate collision free path found!, then stopped. Two reasons: insert_trajectory is only reached on replanning. The first trajectory goes out as TRAJ_CMD_LOAD_AND_START, which does not pass the check, and replanning requires the vehicle to advance so that the split point moves. Stationary, it never happens. Even the initial trajectory stops at the rotation branch (local_a_star.cc:327 if the heading differs from the path direction by more than 30 degrees, the planner only yaws in place and sends no trajectory. Disarmed, the vehicle never rotates, so the angle never closes. So Max segments = 20 is a condition that only appears in flight, and the absence of the error on the ground means nothing. Two things that cost us time and may help your setup: voxl-send-command plan_msgs follow_path prints success but mapper does not act on it. We used it when the Portal click was blocked, and got Successfully sent command to /run/mpa/plan_msgs/control — but the handler's first line (Client requested to follow last path) never appeared. Portal does not use that pipe; it sends over a WebSocket (/data/web_root/js/mapper.js:980, plan_ws.send("follow_path")). Failure logs are fprintf(stderr, ...) and appear immediately; the success path (Sending trajectory to plan channel) is printf and is block-buffered, so it stays invisible during flight. We flush it after landing with systemctl restart voxl-mapper. Anyone judging from the journal in flight sees only failures, never successes. 4. The materials you asked for voxl-version — full output below. Please note it was captured on 2026-09-15, as shipped, before voxl-mapper was installed, so the package list does not contain it. Versions in use on the 2026-10-13 flight were: system-image 1.8.08-M0054-14.1a-perf, voxl-suite 1.6.4~beta5, voxl-vision-hub 1.9.21, voxl-mapper 0.2.4. We will post a fresh voxl-version from the airframe at our next session. voxl2:/$ voxl-version ──────────────────────────────────────────────────────────────────────────────── system-image: 1.8.08-M0054-14.1a-perf kernel: #1 SMP PREEMPT Thu May 14 22:41:15 UTC 2026 4.19.125 ──────────────────────────────────────────────────────────────────────────────── hw platform: M0054 mach.var: 1.0.1 SKU: MRB-D0012-4-V4-C29-T8-M36 ──────────────────────────────────────────────────────────────────────────────── voxl-suite: 1.6.4~beta5 ──────────────────────────────────────────────────────────────────────────────── Packages: Repo: http://voxl-packages.modalai.com/ ./dists/qrb5165/sdk-1.6/binary-arm64/ Last Updated: 2023-03-02 12:58:41 WARNING: repo file has changed since last update, packages may have originated from a different repo List: libfc-sensor 1.0.12 libmodal-cv 0.6.1 libmodal-exposure 0.1.5 libmodal-flow 1.0.4 libmodal-journal 0.2.7 libmodal-json 0.4.8 libmodal-pipe 2.14.12 libqrb5165-io 0.6.3 libvoxl-cci-direct 0.4.0 libvoxl-codec 0.0.5 libvoxl-cutils 0.1.6 modalai-slpi 1.2.3 mv-voxl 0.1-r0 qrb5165-bind 0.1-r0 qrb5165-dfs-server 0.2.0 qrb5165-mini-tof-server 0.2.2 qrb5165-rangefinder-server 0.1.6 qrb5165-slpi-test-sig 01-r0 qrb5165-tflite 2.17.2 voxl-camera-calibration 0.6.2 voxl-camera-server 2.2.23 voxl-ceres-solver 2:2.0.0-2 voxl-configurator 1.1.21 voxl-cpu-monitor 0.7.7 voxl-docker-support 1.3.1 voxl-elrs 1.1.6 voxl-esc 1.6.3 voxl-esptool 0.2.1 voxl-feature-tracker 0.5.2 voxl-flow-server 0.3.6 voxl-focus-camera 0.6.1 voxl-gphoto2-server 0.0.10 voxl-imu-server 2.0.2 voxl-io-server 0.1.1 voxl-jpeg-turbo 2.1.3-7 voxl-lepton-server 1.4.0 voxl-lepton-tracker 0.0.4 voxl-libgeographic 1.0.0 voxl-libgphoto2 0.0.4 voxl-libuvc 1.0.7 voxl-logger 0.6.3 voxl-mavcam-manager 0.6.1 voxl-mavlink 0.1.6 voxl-mavlink-server 1.4.16 voxl-modem 1.2.4 voxl-mongoose 7.19.0-1 voxl-mpa-to-ros 0.3.9 voxl-mpa-tools 1.5.8 voxl-nano-tracker 0.1.7 voxl-open-vins-server 0.6.1 voxl-opencv 4.5.5-3 voxl-osd 0.4.7 voxl-portal 0.9.4 voxl-px4 1.14.0-2.0.142 voxl-px4-params 0.9.9 voxl-qvio-server 1.2.3 voxl-remote-id 0.0.9 voxl-reset-slpi 0.0.4 voxl-state-estimator 0.0.6 voxl-streamer 0.8.1 voxl-suite 1.6.4~beta5 voxl-tag-detector 0.1.0 voxl-tflite-server 0.5.1 voxl-utils 2.0.4 voxl-uvc-server 0.1.8 voxl-vision-hub 1.9.21 voxl-vtx 2.2.19 voxl-wavemux 0.0.3 voxl2-io 0.0.3 voxl2-security-hardening-utls 1.0-r0 voxl2-system-image 1.8.08-r0 voxl2-wlan 1.0-r0 ──────────────────────────────────────────────────────────────────────────────── Full mapper journal — the excerpt in the first post is what we have off-airframe right now; we will collect the full journal at the next session and post it here. PX4 .ulg — we have it (log100, 69 MB), but it exceeds the forum's 8 MB attachment limit. We would rather not put it on logs.px4.io, since that is a public upload and the log carries our flight environment. Could you give us a private channel for it — an email address, or should we send it through the contact form on modalai.com? If a public upload is fine with you, tell us and we will do that instead. 5. Our four questions, restated Does our reading match yours — TRAJ_MAX_SEGMENTS 20 is a fixed limit in the trajectory interface, and lowering loco_num_segments is the intended way around it? Is there any plan to compare against the actual post-insert length (segment_idx + 1 + src->n_segments) instead of dst + src? What normally fills and clears the segment buffer? We now believe a failed Go leaves nothing behind — can you confirm? Is Clear Paths related to this state at all, or is it only for the drawn paths? Is there a way for an operator to detect this condition without reading the mapper journal? From the Portal UI everything looked correct — the path was drawn and Immediate collision free path found! was reported — so the pilot has no indication that obstacle avoidance is not active. We would treat a Portal-visible indication as a product request. Thanks again.
  • Answers to the questions we get most often, written by ModalAI.

    64 292
    64 Topics
    292 Posts
    J
    Hello. Can a Starling 2 drone autonomously fly while flying over the pipe inside a sewer? The drone must fly autonomously in a dark place to inspect cracks or internal conditions while flying along the water pipe. I'm not sure if this feature can run on Starling, so I'm asking for help!
  • Have an idea for our products or software you would like to see implemented? Tell us here.

    25 88
    25 Topics
    88 Posts
    Serhii RovnyiS
    Hello everyone, I am looking for some expert advice on a VOXL 2 companion computer setup for a long-range platform. I have two main integration challenges: Challenge A: VIO at Higher Altitudes To solve the motion blur and pixel density issues at higher altitudes, I am planning a 6-camera configuration. I want to use 4 downward-facing sensors (2 daylight + 2 IR) equipped with narrow-angle lenses, alongside 2 standard wide-angle sensors (front and rear). Could you advise on the best supported sensors (e.g., IMX series) for this? Has anyone successfully tuned the voxl-qvio-server for narrow-angle lenses, and what were the altitude limits you achieved? Challenge B: LAN Integration & WireGuard The payload data flow will be: External RTSP Camera -> Ethernet -> VOXL 2 (WireGuard encryption) -> Ethernet -> Digital RX. Because VOXL 2 lacks multiple LAN ports, I will need a miniature industrial Ethernet switch. Does ModalAI have any tested hardware recommendations for this? Furthermore, what is the best practice for routing this VPN traffic through the VOXL 2 Ubuntu environment without bottlenecking the CPU? We are currently evaluating the VOXL 2 for a broader fleet deployment and want to ensure the ecosystem can support this custom optics requirement. Any feedback on off-the-shelf solutions or standard configurations for this use case would be greatly appreciated. Thank you!
  • Ask ModalAI to review your PCB, connector choices or system architecture before you build, and find 3D models of our products.

    52 148
    52 Topics
    148 Posts
    VinnyV
    Hi @christopher-rajcsok We updated the VRX User Guide page with mechanical information for you. Hope it helps!! https://docs.modalai.com/vrx-ground-unit-datasheet/#enclosuremount [image: 1792436471248-dce4b444-0777-40ac-9a2a-2b58c922961f-image.jpeg]