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
    L
    Hi @davidtorres , To answer some of your questions: The RSSI_INFO looks like a symptom of something else and is not a known issue. The firmware for the Bots Sparrow board seems to be EOL so no updates or any fixes as far as I know, There is not an maximum load throughput as it depends on the signal strength, but 800M is very high and would be expected to queue packets, but it still should not be hanging like you are seeing. Yes those versions are shipped together as a part of our SDK and are expected The easiest way would be to set a udev rule that sets it on boot, something like =========== ACTION=="add", SUBSYSTEM=="net", KERNEL=="mlan0", RUN+="<path to iw> reg set <country>" =========== My questions for you: can you send the full dmesg log when you reproduce this along with the files produced by sparrow-ba-fix.sh collect from the earlier workaround How often do you see this when doing your UDP test at -b 800M and do you see it when its slower than that, 200M 400M? Did you run into this issue without the mitigation workaround from earlier installed? Was the issue earlier in the thread something you have also seen and made you apply the workaround? Are you running iperf3 with the voxl as the client or the server? If you could include the full commands you used on the host and client side that would be very helpful Thanks!
  • 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
    J
    I should also note that I do have a TCA9548A mux, and if I need to solder that I can. I can see the 0x76 address using i2cdetect, so its there, just need to know how to solder to it.
  • 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
    S
    Update on this, I tried following this post which has helped before, but it also did not help in this case: https://forum.modalai.com/topic/2789/voxl2-stuck-in-fastboot?_=1792769614627 So I tried SDK 1.8.0’s flash-system-image.sh -f: all writes completed, but both boot slots became unbootable and ADB never returned. RAM boot of either M0054-1 kernel (var00.0 or var00.1) fails with Failed to load/authenticate boot image: Load Error.
  • 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]