ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Home
    2. Popular
    Log in to post
    • All Time
    • Day
    • Week
    • Month
    • All Topics
    • New Topics
    • Watched Topics
    • Unreplied Topics
    • All categories
    • voxltesterV

      VOXL2 J19 QUP3

      Ask your questions right here!
      • • • voxltester
      24
      0
      Votes
      24
      Posts
      230
      Views

      Eric KatzfeyE

      @voxltester Great! Glad you got it working.

    • YUUJI INOUEY

      Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers

      Ask your questions right here!
      • • • YUUJI INOUE
      16
      0
      Votes
      16
      Posts
      281
      Views

      zauberflote1Z

      @YUUJI-INOUE
      Glad to hear!

      All the best,
      ZBFT

    • Muqing CaoM

      starling 2 max qvio vs open-vins performance issues

      Ask your questions right here!
      • • • Muqing Cao
      10
      0
      Votes
      10
      Posts
      52
      Views

      tomT

      @Muqing-Cao Here is the latest beta release: https://storage.googleapis.com/platform-beta-releases/voxl2/voxl2_SDK_1.6.3-beta1.tar.gz

    • S

      Unable to connect multiple VOXL2 mini drones to QGroundControl using different UDP ports

      Ask your questions right here!
      • • • Sarika Sharma
      8
      0
      Votes
      8
      Posts
      86
      Views

      S

      @Sarika-Sharma Kindly resolve this issue also https://forum.modalai.com/topic/4952/pmd-tof-not-detected-on-voxl2?_=1766730439331.

    • A

      Using a GPS through SPI

      Ask your questions right here!
      • • • alan123
      8
      0
      Votes
      8
      Posts
      124
      Views

      Eric KatzfeyE

      @alan123 Are you starting voxl-px4 from the command line (e.g. voxl-px4 -d) or is it starting automatically from a systemd service file on startup. If you have started it from the command line you can enter commands from the px4 shell. So, after the script is done, you can enter gps status to see that the driver is doing. If the driver hasn't been started, try starting it directly from the command line.

    • Muqing CaoM

      Starling 2 max no odometry even with qvio enabled

      Ask your questions right here!
      • • • Muqing Cao
      8
      0
      Votes
      8
      Posts
      163
      Views

      Muqing CaoM

      @Zachary-Lowell-0 after turning off open-vins and rebooting it works. thanks!

    • T

      CANT ACCESS CAMERA

      FPV Drones
      • • • taiwohazeez
      7
      0
      Votes
      7
      Posts
      95
      Views

      T

      @Alex-Kushleyev Also, when you run voxl-inspect-services, voxl-camera-server will be enables but not running, Immediately i start it, it runs and stops almost immediately

    • R

      Need Camera connector details

      Questions by Product
      • • • Richa
      7
      0
      Votes
      7
      Posts
      144
      Views

      R

      @Alex-Kushleyev
      Thank you!

      What is the procedure to provide design for review?

    • T

      MEETING WITH MODALAI TECHNICAL TEAM AND MY ADVISOR

      FPV Drones
      • • • taiwohazeez
      6
      0
      Votes
      6
      Posts
      97
      Views

      T

      @Moderator Thank you for the link. But he says he needs to get on a call with the technical team. It's a year already and I still don't know much about the drones (which may be from my end, I don't know), but he wants to handle this himself this time around and get all necessary information on a single call sometime early in January 2026. Kindly let me know if this is possible, and how to go about it.

      Thanks

    • T

      Camera Calibration

      FPV Drones
      • • • taiwohazeez
      5
      0
      Votes
      5
      Posts
      85
      Views

      T

      @Alex-Kushleyev Yes I used the the right size. I ran this: voxl-calibrate-camera tracking_front -f -s 6x8 -l 0.030. I was able to get it to a 100 percent several times, but i keep getting caibration failed.

      This is the output from the terminal:
      starling2 (D0014):~$ voxl-calibrate-camera tracking_front -f -s 6x8 -l 0.030
      Waiting for valid pipe...
      Please open voxl-portal in a web browser to view the camera calibrator overlay stream
      Running Calibration...
      Matrix
      [462.8203351079722, 0, 655.3416216062686;
      0, 465.2531654785162, 372.0681441827904;
      0, 0, 1]
      Distortion
      [0.1093065188826117;
      -0.05638236547106363;
      0.05691560193039599;
      -0.01890034155803672]
      distortion_model: fisheye
      Re-projection error reported by calibrateCamera: 1.32316
      Calibration Failed
      Max reprojection error: 0.60
      This is most likely due to motion blur, please try again.
      Exiting Cleanly
      starling2 (D0014):~$

    • Rowan DempsterR

      Toolchain for m0054-data-fs.ext4

      VOXL SDK
      • • • Rowan Dempster
      5
      0
      Votes
      5
      Posts
      124
      Views

      Rowan DempsterR

      @Moderator Hi Modal,

      Does this mean you can create a custom data file partition that you can flash using fastboot?

      Yes that is correct.

      We have not explored this before but it has been asked a few times. This could be very helpful for other developers.

      I'm certainly hopeful that it will be helpful here at Cleo Robotics! So far with my prototyping it works as expected and cuts flashing time of some large docker images we have here at Cleo down by a noticeable fraction (no file overhead via fastboot like with ADB).

      I think the snippet I posted covers the baseline functionality of getting a custom "payload" into the data partition. However if there is more I can elaborate on in terms of the toolchain / what's in the payload, and if that elaboration will be helpful to other VOXL2 developers, I would be happy to elaborate 🙂 Just let me know!

      Other similar discussion points I tackled recently that I'm happy to talk about lessons of:

      Flashing the system image and VOXL/CLEO SDK through a Windows Machine (journeys in USB device drivers) Building Flutter applications for uniform flashing process across all operating systems Building release bundles (i.e. a collection of partition binaries) in CI
    • Nitin Varma VegesnaN

      GPS for Starling2

      VOXL Accessories
      • • • Nitin Varma Vegesna
      5
      0
      Votes
      5
      Posts
      115
      Views

      Nitin Varma VegesnaN

      @Zachary-Lowell-0 thanks.

    • H

      Starling2 :One motor fails when changing power from AC/DC adapter to battery

      Starling & Starling 2
      • • • HsinSWT
      4
      0
      Votes
      4
      Posts
      80
      Views

      Alex KushleyevA

      Hello @HsinSWT ,

      When i see results like this, i would say there is probably 90% chance that the motor is bad. Unfortunately, there is a chance that the ESC is bad as well, and there is no good way to check the ESC without a known good motor (however the ESC failure is unlikely).

      As I mentioned in the previous post, if you had a milli-ohm meter, you could test the motor winding resistance to confirm whether the motor is good or bad. A tool like that measures resistance with high precision (similar to a regular Ohm meter). However, if you don't have one, it may not be worth buying it..

      You will not be able to measure the winding resistance of these motors correctly with a regular Ohm meter. However, you will be able to detect a complete open circuit (which could be the case, maybe worth trying). If testing resistance using a regular Ohm meter, any two connections between the 3 motor phases will read 0 ohm (or close to that). If a wire is broken, then you can detect it.

      The Starling 2 motor (3000kV) has around 0.360 - 0.370 Ohm phase-to-phase winding resistance.

      In order to confirm that the ESC is working properly, you could temporarily connect one of the working motors to the ESC Channel 0 and do the same spin test (using voxl-esc tools), just to confirm that the ESC Channel 0 is working fine.

      In order to fix the issue, you could order a new motor and replace it yourself (will be a lot cheaper): https://www.modalai.com/products/starling-2-replacement-parts?variant=49707605393712

      You could also send the whole drone back for repair (https://www.modalai.com/rma)

      Alex

    • A

      VOXL ESC 4 in 1 Fire

      ESCs
      • • • awagner
      4
      0
      Votes
      4
      Posts
      110
      Views

      Alex KushleyevA

      @awagner ,

      I think the main issue that started the failure mode was the spin-up type was set to 0 in params, which I do see that you got from the seeker_v1 xml file you mentioned. It is not your fault. The non-sinusoidal spinup is not as reliable and it is mostly not used any more. I will look at removing the old param files that use that option.

      Let me explain the reasoning behind using a larger ESC, especially during initial testing:

      the larger (FPV) ESC can handle much larger currents and dissipate a lot more heat, so it can handle much larger glitches, which could arise from mis-configuration during initial testing the ESC firmware does have some timeouts for protection, which generally do prevent fatal issues like this, but if the glitch results in enough current to quickly burn out a mosfet, the ESC cannot recover. The larger ESC (with larger mosfets and larger thermal mass will take longer to burn out, so the ESC's timeout / glitch detector should save it) larger motors in general have larger stall current, which would result in large current if there is some glitch during start-up. based on the numbers that you provided for the motor spec calculator (3.75A hover / 17A max), it should be possible to tune the mini ESC to work, however there are still some things to consider: may need to add more bypass capacitance to handle larger current transients if the motor is stalled (due to impact, etc), there is still a bit higher risk of ESC burning out due to stall detection being a bit too late.

      As for the xml to use as a starting point.. You can start with this one:
      https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-params/D0020/m0138_3110_900kv_gemfan_10x4.5_tri.xml

      This is tuned for a 6S application 3110-size 900kV motor with a 10x4.5 tri-blade motor (pretty powerful configuration). You will need to update:

      voltage (6s to 4s) motor params (kv, rpm curve, etc) you can set the timing advance and sense advance from 20 to 0 (your application is likely not aggressive enough to require tweaking that), although you can do some bench testing to determine if you encounter de-syncs during large rpm transitions : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-tools/doc/low_kv_motor_tuning.md you may need to adjust the spinup power / latch power -- generally keep it between 70-100 (7-10%) but when i tune this, i also usually find the minimum spin-up power that is able to reliably spin up the motor and then add a 10% extra (so 70->80). You can set spin-up power to a higher value in sinusoidal spin-up mode and it will produce a lot more torque, but will also consume more current. I usually try to limit a per motor spin-up current to 1-2 amps as a rule of thumb. for a fixed prop (not folding), your spin-up time can be anywhere between 500-1000ms, you can experiment. If you see the motor skipping during spinup and re-starting, you can increase either spin-up time or spinup power. may want to re-enable start-up beeps (disabled in this config) you can set kp (proportional gain) to 50 first (softer), then bump up to 100 or so, as you build confidence. higher kp will result in snappier response (faster than traditional ESCs without rpm control) but will also draw more current during transitions.

      (with M0138, you should not need to add more bulk capacitance to ESC power).

      With correctly tuned sinusoidal spin-up procedure, it should work pretty much 100% of the time (spin up on the first try every time). If you are seeing some inconsistent spin-up behavior, then it is possible there is some parameter issue and it needs to be investigated.

      When you get your M0138, i suggest updating the params per my notes above and doing some bench testing using voxl-esc tools where you just spin up and stop motors many times in a row and make sure the spin-up is reliable.

      Please let me know if you have any other questions!

      Alex

    • YUUJI INOUEY

      Critical VIO Instability and Calibration Failure on Stinger (D0013) with Brand New VOXL 2 Mini

      Ask your questions right here!
      • • • YUUJI INOUE
      4
      0
      Votes
      4
      Posts
      100
      Views

      YUUJI INOUEY

      @YUUJI-INOUE
      This is the setup I did for stable operation, please let me know if there are any mistakes.

      Stinger (VOXL 2 Mini) VIO Setup Guide

      This document provides instructions for setting up a stable VIO (Visual Inertial Odometry) environment on the ModalAI Stinger (equipped with VOXL 2 Mini).
      It focuses on SDK version selection and correct configuration commands for the D0013 build to ensure reliable autonomous flight.

      1. Prerequisites Drone: ModalAI Stinger (VOXL 2 Mini) Configuration ID: D0013 (Stinger V2) PC Environment: Linux/Ubuntu with ADB (Android Debug Bridge) installed Network: Internet connection required for the drone (via Wi-Fi) for apt-get operations 2. SDK Version Check and Installation

      IMPORTANT: Development versions (Alpha/Beta) of the SDK may cause unstable VIO behavior. It is strongly recommended to use the Stable SDK 1.6.2.

      2.1 Check Current Version

      Connect to VOXL via ADB and check the version:

      adb shell voxl-version # OR adb shell apt-cache policy voxl-suite

      If you see versions like 1.6.3~alpha, you must downgrade.

      2.2 Install SDK 1.6.2

      Force install the stable version:

      # Run inside VOXL shell or via adb shell adb shell "DEBIAN_FRONTEND=noninteractive apt-get install -y voxl-suite=1.6.2" 2.3 Install Required Libraries

      To fix dependency issues with OpenVINS in SDK 1.6.2, install the voxl-ceres-solver library (libceres.so.2😞

      adb shell "apt-get install -y voxl-ceres-solver"

      Note: Without this, voxl-open-vins-server will fail to start.

      3. Factory Reset and Configuration

      Apply the correct presets for Stinger (D0013). Using these commands is more reliable than manual configuration.

      3.1 Configure Extrinsics

      Load the camera and IMU geometry for Stinger V2 (D0013).

      adb shell "voxl-configure-extrinsics D0013_Stinger_V2" 3.2 Configure Vision Hub

      Configure how VIO data is sent to PX4 using the Stinger-specific preset.

      adb shell "voxl-configure-vision-hub factory_enable_vfc_pos_back_flow_d0013" 3.3 Configure OpenVINS

      Reset the VIO server configuration.

      adb shell "voxl-configure-open-vins factory_enable" 3.4 Configure PX4 Parameters

      Load optimized PID gains and flight parameters for Stinger (D0013).

      adb shell "voxl-configure-px4-params -n -p MRB-D0013" 3.5 Enable VIO (Official Helper)

      Load the official parameter helper file for indoor VIO flight without GPS.

      adb shell "voxl-configure-px4-params -n -f /usr/share/modalai/px4_params/v1.14/EKF2_helpers/indoor_vio_missing_gps.params" 3.6 Configure ESCs

      Upload Stinger-specific ESC parameters.

      adb shell "/usr/bin/voxl-esc setup_d0013"

      If you encounter invalid option errors, use the manual python script method:

      adb shell "systemctl stop voxl-px4 && cd /usr/share/modalai/voxl-esc-tools/ && python3 voxl-esc-upload-params.py --params-file ../voxl-esc-params/D0013/lumenier_2305_2400kv_GF_D90_4S.xml && systemctl start voxl-px4" 3.7 Change ESC Mode (Critical)

      Change ESC control from RPM mode (default) to Power mode to ensure reliable motor startup.

      adb shell "px4-param set VOXL_ESC_MODE 0" 3.8 Motor Test

      WARNING: REMOVE PROPELLERS BEFORE TESTING

      Spin Motor 0 (Front Right) for 2 seconds to verify ESC communication.

      adb shell "systemctl stop voxl-px4" adb shell "cd /usr/share/modalai/voxl-esc-tools/ && python3 voxl-esc-spin.py --id 0 --power 15 --timeout 2 --skip-prompt True" adb shell "systemctl start voxl-px4" 4. Advanced Optimization (Critical for Stability) 4.1 OpenVINS Optimization (Stinger Specific)

      To prevent data corruption and initialization errors on Stinger (D0013):

      Disable imu_body_frame_mode. Change configuration folder to fpv. adb shell "sed -i 's/\"imu_body_frame_mode\":\ttrue/\"imu_body_frame_mode\":\tfalse/' /etc/modalai/voxl-open-vins-server.conf" adb shell "sed -i 's/starling2/fpv/g' /etc/modalai/voxl-open-vins-server.conf" 4.2 Stabilize Connection After Reboot

      Prevent voxl-vision-hub from starting before voxl-open-vins-server is ready by adding a 10-second delay.

      Edit /etc/systemd/system/voxl-vision-hub.service:

      adb shell "sed -i 's/After=voxl-wait-for-fs.service/After=voxl-wait-for-fs.service voxl-open-vins-server.service/' /etc/systemd/system/voxl-vision-hub.service" adb shell "sed -i '/ExecStart=\/usr\/bin\/voxl-vision-hub/i ExecStartPre=\/bin\/sleep 10' /etc/systemd/system/voxl-vision-hub.service" 4.3 IMU Calibration

      If VIO is unstable or the Web Portal Health Check shows "IMU Calibration Missing", perform calibration:

      adb shell "voxl-calibrate-imu"

      Follow the on-screen instructions to place the drone in 6 orientations.

      5. Apply Changes and Reboot

      After applying all settings, reboot the drone. A hard power cycle (unplug battery) is recommended to ensure all sensors reset correctly.

      adb shell reboot 6. Verification 6.1 Check Services adb shell voxl-inspect-services

      Ensure voxl-open-vins-server, voxl-vision-hub, and voxl-px4 are Running.

      6.2 Check VIO in VOXL Portal

      Access the VOXL Portal (via IP address) and check the VIO (3D View):

      Orientation: Does the drone in the view verify Pitch/Roll/Yaw movements correctly? Position: Does the drone stay still in the view when the physical drone is stationary? (No drifting/divergence) 6.3 Check QGroundControl (QGC) Local Position: Is the drone icon visible on the map? Position Mode: Switch flight mode to Position. It should say "Ready to fly" or "Position mode enabled" (not "Rejected"). If you can enter Position mode without GPS, VIO is working. 7. Operational Best Practices Power On: After plugging in the battery, leave the drone static on a level surface for ~30 seconds. This allows the gyro to calibrate biases and services to start. Initialize VIO: Pick up the drone and move it in a large figure-8 motion to excite the IMU and cameras. Pre-flight Check: Do not take off until you can successfully switch to Position mode in QGC. Note: If initialization fails (rarely), perform a reboot. 8. Troubleshooting

      Q. Cannot enter Position Mode on the ground ("Not Ready")
      A. Check the following:

      Run voxl-inspect-pose vvhub_body_wrt_local to see if VIO data is streaming. If no data, perform a hard reboot (battery pull) to fix timestamp sync issues. Set en_voa to false in voxl-vision-hub.conf to disable obstacle avoidance (can cause extrinsics errors). Ensure vio_pipe is set to ov.
    • M

      Legacy Documentation for VOXL-Flight Deck (EOL) - Indoor Flight, VIO & Auto-Navigation

      VOXL Flight Deck
      • • • minhthinh
      4
      0
      Votes
      4
      Posts
      89
      Views

      Robbie McCueR

      @minhthinh Documentation for the original VOXL Flight can be found here. The guide will link back to the original VOXL and the original Flight Core as those are the boards it was built around. You can also refer to the release notes of the previous sdks to see what was available in the specific release that you are using

    • B

      voxl-vision-hub sending unsolicited set_attitude messages

      Ask your questions right here!
      • • • bendraper
      3
      0
      Votes
      3
      Posts
      5
      Views

      Eric KatzfeyE

      @bendraper Edit /etc/modalai/voxl-vision-hub.conf and set "offboard_mode": "off"

    • Peter LingÃ¥s 0P

      Global Shutter Color Camera? (Not for VIO)

      Ask your questions right here!
      • • • Peter LingÃ¥s 0
      3
      0
      Votes
      3
      Posts
      22
      Views

      Alex KushleyevA

      @Peter-Lingås-0 ,

      We did have a sample batch of color AR0144 global shutter cameras, but i think we probably run out of those. I can double check. Due to low demand, we are not actively supporting them.

      For general object detection applications, i would recommend IMX412 camera (M0161 part number, for example). This camera is 4056x3040 resolution, but it also supports 2x2 binned mode. The advantage of using binned mode (for this context), is reducing the rolling shutter effect.

      The amount of rolling shutter distortion / skew is a function of the readout time (time between the start of exposure of first line and last line). This time depends on the camera and specific operating mode.

      However, the IMX412 camera in combination with VOXL2 supports a 2x2 binned mode where you get a 1920x1080 image with only about 4.2ms of rolling shutter skew, meaning there is only 4.2ms between the first and last line. You can see more details on the readout time for different modes here : https://docs.modalai.com/camera-video/low-latency-video-streaming/#camera-pipeline-latency-in-different-operating-modes

      Additionally, the IMX412 camera module has M12 lens mount, which allows for more flexibility in lens choice as well as supporting generally large lenses, which will improve image quality as well.

      Would this be an option for you or is having a global shutter camera a requirement?

      Alex

    • J

      How do I purchase the Flir Boson 320 thermal camera?

      Image Sensors
      • • • Jskim
      3
      0
      Votes
      3
      Posts
      31
      Views

      J

      @Moderator

      Thank you for your reply.

    • J

      External INS integration on SLPI proc QUP6

      Ask your questions right here!
      • • • jonathankampia
      3
      0
      Votes
      3
      Posts
      83
      Views

      J

      @Alex-Kushleyev Gotcha, thanks!