Skip to content
  • VOXL 2 Mini Environmental Limits

    Unsolved VOXL 2 and VOXL 2 Mini
    2
    0 Votes
    2 Posts
    39 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!
  • Starling 2 Max board runs 6 to 10 C hotter on older drone

    Unsolved VOXL 2 and VOXL 2 Mini
    1
    0 Votes
    1 Posts
    42 Views
    No one has replied
  • 0 Votes
    1 Posts
    42 Views
    No one has replied
  • 1 Votes
    3 Posts
    170 Views
    VinnyV
    Hi @marcos-correa Apologies for the delays here, I was out on leave for a couple weeks. It sounds like the M0141 issue you might be having is very similar to this one: https://forum.modalai.com/topic/1356/sentinel-drone-randomly-reboots/2?_=1790714717250 It's important to use 5mm spacers between any VOXL 2 plug-in board, especially if it only picks up J3 and not J5, since that leave all the pins on J5 vulnerable to contacting circuitry from whatever plug-in board is installed. Symptoms from that contact are most certainly proven to be resets and brown outs, as we have seen that before. If you are already using spacers between your board, then I'd need to think about other potential root causes. Hope this helps. Thanks! Vinny
  • USB3 On M0062

    Unsolved ESCs, Sensors and Accessories
    6
    0 Votes
    6 Posts
    226 Views
    VinnyV
    Hi @schuyler.kellogg , the USB-A cable is back up for sale... sorry about that... https://www.modalai.com/products/mcbl-00022
  • Zorro Blue Audio

    Unsolved General Questions
    2
    0 Votes
    2 Posts
    84 Views
    Maxwell SchaeferM
    @Nick-Stroumtsos The Zorro Blue does not have any audio capabilities. It is built with custom electronics which do not include support for a speaker so no firmware can enable audio features.
  • USB camera live streaming through Microhard carrier board

    Unsolved General Questions
    15
    0 Votes
    15 Posts
    611 Views
    Jetson NanoJ
    @Zachary-Lowell-0 Thank you for testing it out and for fast response. I am also feeling it is a network issue. I will also try to replicate the same test condition as yours, also will verify the bandwidth. Thanks!
  • 0 Votes
    4 Posts
    178 Views
    ModeratorM
    It looks like we have one M10000633 on hand. Reach out to https://modalai.com/contact and see if they can get it to you
  • 0 Votes
    5 Posts
    237 Views
    김진혁김
    Hi Zach, thanks for looking into this. OpenVINS package version voxl-open-vins-server 0.6.1 — that is the only OpenVINS-related package installed on this unit (dpkg -l | grep -i vins returns exactly one row; there is no separate open-vins library package). Still factory voxl-suite 1.6.4~beta5, never re-flashed. Performance mode test voxl-configure-cpu does not exist on this image, so I used voxl-set-cpu-mode perf (governor went schedutil -> performance, confirmed via /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor). Please tell me if you meant a different tool. The result is that I could not reproduce the problem at all today — in either CPU mode. Condition VIO dt voxl-mapper output Fresh boot, schedutil, mapper off 33.3 ms - schedutil, mapper off, 2 min 33.3 ms (320 samples) - schedutil, mapper on, 2 min 33.3 ms (320 samples) working performance, mapper off 33.3 ms - performance, mapper on, 90 s 33.3 ms (240 samples) working performance, restart voxl-open-vins-server x5 33.3 ms every time (400 samples) - 23 measurements, ~1,760 samples, all 33.3 ms. Not a single 15 Hz reading. More importantly: voxl-mapper works now. voxl-inspect-points voxl_mapper_aligned_ptcloud produces real data — ~1,900 points per cloud, roughly every 500 ms in schedutil. On 22 Sep the same pipe showed the header and zero data rows. There are no pipe_server_write_point_cloud, received NULL data pointer and no requested timestamp was too new, VIO may have stopped messages in the journal at all today. voxl-mapper CPU is now ~100% of one core, versus the 1.9% I reported — it was low then because it was not actually doing any work. Performance mode does help the mapper, even though it did not change the VIO rate: the aligned point cloud comes out roughly every 95-190 ms instead of ~500 ms. What this suggests about the causality I think I had the direction backwards in my first post. The likely chain is: OpenVINS comes up at 15 Hz -> mapper cannot match pose timestamps ("requested timestamp was too new") -> no map output rather than "mapper is started -> VIO halves". That matches your static-jerk-throttle explanation: whatever decides the throttle is decided at VIO init, and on 22 Sep the vehicle happened to be in that state for the whole session (my very first reading that day, right after boot and before voxl-mapper had ever been started, was already 15 Hz). Nothing was changed in between: dpkg status and voxl-open-vins-server.conf / voxl-camera-server.conf are untouched since 21 Sep. So the difference is runtime state, not configuration. One observation that may not fit the throttle theory Today the vehicle is completely static and features reads 0, yet VIO runs at 30 Hz. On 22 Sep it was showing features 20 and quality 97% while stuck at 15 Hz. If the throttle is permitted by a static-jerk test, I would have expected today's fully static case to be the one that throttles. Is the test based on IMU motion rather than tracked features, and is there any way to see its decision at runtime? Remaining questions Is there a log line, pipe field, or debug flag that shows whether the throttle is currently engaged? Right now the only way I can tell is by timing the output, and the state is invisible in state / quality / features. Was the throttle behaviour changed after 0.6.1? If a newer voxl-open-vins-server fixes it, which SDK version should we move to? Given it is intermittent, is it safe to treat "dt == 33.3 ms" as a pre-flight check, or is there a more reliable condition we should test before an autonomous flight? I will keep the vehicle in performance mode and report back if the 15 Hz state shows up again, with the full journal from that boot. Thanks, JinHyeok
  • Purchasing Starling 2

    Unsolved Development Drones starling
    2
    0 Votes
    2 Posts
    186 Views
    PQLP
    Michael, They take approximately 60 days to deliver once you put in a order.
  • Starling 2 Max runs hot

    Unsolved Development Drones
    1
    0 Votes
    1 Posts
    44 Views
    No one has replied
  • Custom companion data Stinger → Ground Control Station

    Unsolved General Questions
    4
    0 Votes
    4 Posts
    253 Views
    J
    Hi Alex, Thanks for clarifying the direction. For UAS → GCS with your current voxl-vtx 1.7.1: Autopilot telemetry already goes VTX → VRX → Ethernet UDP: voxl-vtx subscribes to the autopilot's MAVLink stream from voxl-mavlink-server and sends it over the RF link next to the video. The VRX then re-sends it as UDP to: destination: gcs_ip in /etc/modalai/voxl-vrx.conf (default 10.0.0.1), port 14550 (fixed in 1.7.1) source: the VRX at 10.0.0.2 Give your GCS laptop 10.0.0.1 on the VRX Ethernet link (or set gcs_ip to its address) and listen on UDP 14550. QGC will pick it up automatically. This is a one-way telemetry snapshot, not a transparent MAVLink link. The VTX sends at mavlink_telem_rate_hz (30 Hz in your config) and keeps one message of each message ID per send window. Custom companion data: not supported in this release. voxl-vtx only forwards what voxl-mavlink-server publishes on its mavlink_onboard pipe, and that pipe only carries messages received from the autopilot. If a companion app writes MAVLink into that pipe, voxl-mavlink-server sends it to the autopilot and doesn't publish it back onto the pipe, so voxl-vtx never sees it. Writing to the mavlink_to_gcs pipe doesn't help either: voxl-mavlink-server sends those messages out its own UDP sockets, and they have no way to reach the ground over the MVX link. There is currently no supported way to put your observation data onto the VTX → VRX link. Upgrading to SDK 1.6.4, if these features are useful to you: Your voxl-vtx 1.7.1 is older than what ships in SDK 1.6.4, the latest SDK release for Stinger. SDK 1.6.4 includes voxl-vtx 2.2.x, which adds: Parameter, mission and FTP forwarding to the GCS, so QGC can read and set parameters and download missions over the MVX link. GCS → drone MAVLink through the VRX. MAVLink your GCS sends to the VRX on the GCS port is forwarded over the link to the aircraft, for example mission uploads. By default this forwarding stops while the vehicle is armed. To keep GCS → drone MAVLink flowing in flight, set this in /etc/modalai/voxl-vrx.conf and restart voxl-vrx: "allow_mavlink_forward_while_armed": true Only enable this if you want the GCS able to send commands to the aircraft while it is armed. MANUAL_CONTROL messages are dropped. A configurable GCS port (mavlink_gcs_port), replacing the fixed 14550. None of these add a path for custom companion data, so they don't solve the observation use case. WiFi client mode with the VTX active: On the Stinger the M0185 is the VTX radio, and it runs in raw injection/monitor mode while it sends video. It can't also join a network as a WiFi client. A TCP/IP WiFi link would need a second, separate WiFi adapter. Even then, running it on the same band as the video link could hurt video quality, so we'd advise against it for a flight setup unless you deconflict the frequency used by each network device.
  • Starling 2 - Voxl 2

    Unsolved General Questions
    2
    0 Votes
    2 Posts
    65 Views
    Marcos CorreaM
    Pressing down on the The M0141 also causes this reboot any thoughts I can show video if needed. @administrators
  • M0155 datasheet

    Unsolved ESCs, Sensors and Accessories
    3
    0 Votes
    3 Posts
    129 Views
    ModeratorM
    We have added the pinouts here: https://docs.modalai.com/M0155/
  • Bots Unlimited Wifi Crash

    Unsolved General Questions
    10
    0 Votes
    10 Posts
    719 Views
    John KellerJ
    Hi Luke, Sorry for the late response. When I ran the verification after installing and power cycling, I got this: unit enabled : static unit state : failed [up=112s] driver not present (mlan0 or /proc/mwlan/adapter0 missing) RESULT: NOT ACTIVE -- ADDBA timeout reads '<unreadable>', expected 0 It seems like it is because my system is missing mlanutl. Claude thinks there is a specific of version of that program that I might need. If you know the version, I can build it or if you wanted to sent the binary that would work too, whichever is easier. Here is claude's full summary in case it helps: I read the bundle and ran read-only checks against the drone (no changes made). The install is fine — the problem is a missing dependency the script never names. What's actually wrong mlanutl does not exist on this board. Nothing else is broken. On 10.3.1.82 right now: check result mlan0 up, holds 10.3.1.82/16 — you are SSH'd in over it /proc/mwlan/adapter0 present (config, mlan0/, uap0/) lsmod usbxxx + mlan loaded, USB dev 1286:204e (post-firmware, normal) mlan0 registered at uptime 7.9 s, associated at 11.4 s find / -name mlanutl* nothing — not in /usr/sbin, not in any package The botsu-sparrow 1.0.8-r0 deb ships 9 files (2 .ko, 6 firmware blobs, sparrow.conf) and no userspace tools; ModalAI's voxl2-wlan doesn't provide mlanutl either. Their bench board has it, yours never did. Why that produces those two misleading messages sparrow-ba-fix.sh:53 — have_driver() { [ -d "$ADAP" ] || return 1 [ -x "$MLANUTL" ] || return 1 # <-- fails here ip link show "$IFACE" >/dev/null 2>&1 || return 1 } MLANUTL falls back to /usr/sbin/mlanutl, which doesn't exist, so have_driver returns false while the driver is perfectly healthy. Every caller then lies: status prints driver not present (mlan0 or /proc/mwlan/adapter0 missing) — both of which are present. apply-wait spins 15 × 2 s and prints mlan0 did not appear within 30s, hence unit state: failed. verify's own mlanutl mlan0 addbapara produces nothing → '<unreadable>'. The journal confirms the wiring works: udev fired on mlan0 creation and started the unit at up=8 s (matching the 7.9 s dmesg line), and it died at up=38 s — exactly the 30 s loop. (The journal's wall clocks look 13 min apart because the VOXL2 has no RTC and the clock jumps once the network syncs; trust the up= numbers.) unit enabled: static is also expected — the unit has no [Install] section on purpose; udev starts it. Meanwhile the crash trigger is live and unmitigated — /proc/mwlan/adapter0/mlan0/debug shows BA streams on tid 0 and tid 4, win_size 64, at the default 65535 TU timeout. What to change Ask ModalAI for an aarch64 mlanutl built against this driver, and ask them to add it to the botsu-sparrow deb. The version string to quote them: USB8997---16.197.121.p2-MX5X16505.p7.2-(FP197), firmware 16.197.121. (mlanutl lives in NXP's mxm_wifiex tree at mapp/mlanutl — buildable yourself, but it drives private ioctls whose subcommand numbering tracks the driver release, so ask which release the sparrow build came from rather than grabbing an arbitrary tag.) Drop it at /usr/sbin/mlanutl, chmod 755. Then no power cycle is needed — it's a runtime ioctl: sh /usr/sbin/sparrow-ba-fix.sh apply, then sh sparrow-ba-install.sh verify should read ADDBA timeout = 0. The existing udev rule + oneshot will then handle it at every boot with no reinstall. Consider reinstalling as install monitor instead of oneshot — the setting is runtime-only and silently reverts on a module reload or warm reset, which is exactly the situation you're in after a wifi wedge. Two things worth sending back to ModalAI with the request: the deb ships no mlanutl, and have_driver() conflates "tool missing" with "driver missing" — that's what sent you looking at the power cycle instead of the toolchain. Same as the region_code note, it's a packaging gap on their side. Also note robot/setup/copy.sh runs this installer on every drone you provision, so all of them will fail verify identically until mlanutl is in the image.
  • 0 Votes
    2 Posts
    120 Views
    Eric KatzfeyE
    Please provide a PX4 log.
  • 0 Votes
    1 Posts
    51 Views
    No one has replied
  • Third Party ESC integration w/ VOXL2

    Unsolved ESCs, Sensors and Accessories esc
    13
    0 Votes
    13 Posts
    957 Views
    Alex KushleyevA
    @patkirkmartin , so sorry for the delay. We are ready to proceed with sharing the source code for M0065 board and I just wanted to double check that you are still interested. Please let me know and we will get this going right away. If you use our APM, it will provide power for VOXL2 and the APM also includes voltage and total current sensing and has PX4 support for that. The information is delivered to px4 via I2C. If ModalAI ESCs are used, such as M0129 (mini esc) or M0138 (larger / racing ESC), they both provide power for VOXL and measure voltage and total current and provide this information to PX4 via telemetry via UART. Alex
  • Camera Calibration – Starling 2 Max

    Solved Development Drones
    5
    0 Votes
    5 Posts
    189 Views
    V
    @tom thank you
  • 0 Votes
    2 Posts
    132 Views
    ModeratorM
    Most power issues with VOXL 2 relate to MCBL-00001 connector becoming dislodged. People often pull the cable instead of depress the connector for proper removal. Is there any chance you have a cabling issue? This is the most common cause of failure. Assuming you don't have major software changes, we're not tracking any issues that cause random flight reboots.