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
    • Nikos MavrN

      I2C reading of 12S battery

      Support Request Format for Best Results
      • • • Nikos Mavr
      19
      0
      Votes
      19
      Posts
      243
      Views

      Eric KatzfeyE

      @Nikos-Mavr You're welcome! And can you please start a new forum post for this new issue? Thanks!

    • D

      tarling - Path planning (blue line) is erratic and drone moves to wrong locations

      Ask your questions right here!
      • • • DronAlan
      14
      0
      Votes
      14
      Posts
      193
      Views

      D

      @Cliff-Wong 267ff340-42c9-4c97-86a8-3b0b61ff7b4b-image.png

      I am experiencing a severe issue with trajectory execution in the SLAM/Mapper mode where the drone exhibits an inverted and cumulative 'mirror' behavior regarding position setpoints.

      As shown in the attached image:

      If I set a first waypoint directly in front of the drone (1st Point), the drone flies backward instead, covering the intended distance but in the exact opposite direction. From that new incorrect position, if I command the drone to return backward by the same distance (2nd point, aiming to return to the original starting location), the drone does not return. Instead, it flies forward, doubling the distance in the opposite direction from the newly commanded point.

      It appears as though the drone is accumulating a starting error or interpreting the coordinate frame in a completely mirrored way (FRD vs NED mismatch), where both the direction and the origin reference point are inverted. The dashed lines in the image represent the intended path, while the solid arrows represent the actual path flown. I am on SDK 1.6.3 with factory settings.

    • A

      Continuous bench supply with VOXL FPV Racing 4-in-1 ESC (M0138) — braking disable + TVS protection guidance

      ESCs
      • • • austin.c
      12
      0
      Votes
      12
      Posts
      234
      Views

      Alex KushleyevA

      Hi @austin-c ,

      You can find the latest M0138 firmware with regen completely disabled here

      Also, I added the esc config that i've been using for testing here

      For step tests, i have been using pretty aggressive step command:

      ./voxl-esc-spin-step.py --id 2 --rpm 2000 --step-amplitude 4000 --step-frequency 2.0 --timeout 2.0 --cmd-rate 2000 --enable-plot 1

      In order to make the ESC not de-sync (due to long demag time of the motor), the following params were adjusted:

      max_rpm_delta set to 4000 (you can go lower), to cap the maximum rpm transitions. Although in my test, the step is 4000, so this had no effect timing_advance: 45 -- this is pretty high commutation advance to trigger commutation earlier so that there is more time for back-emf sensing -- high advance wiil reduce motor efficiency and will cause the motor to heat up a bit more sense_advance: 30 -- delay back-emf sensing so that we don't sample back-emf during the motor coil demagnetization more details : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/dev/voxl-esc-tools/doc/low_kv_motor_tuning.md

      I had another thought.. What if you use a small battery to absorb the voltage spikes? Basically hook up a 6-7S battery with a beefy Schottyky diode (10A) set up with Cathode (negative) pointing to the battery.

      you will have to make sure the power supply voltage never exceeds battery voltage + diode drop. you will also need to make sure that you don't over-charge the battery with repeated spike absorption.. It is possible to have some sort of self-discharge circuit to slowly discharge the battery to a certain voltage (using a Zener diode + resistor or something similar).

      Anyway, just an idea..

      Try out the no-regen firmware..

      Alex

    • Myles LevineM

      How much can cameras be obscured?

      Ask your questions right here!
      • • • Myles Levine
      11
      0
      Votes
      11
      Posts
      185
      Views

      Alex KushleyevA

      @Myles-Levine , if you are masking out 90% of down-facing camera, then it is probably useless any movement of the features will get it out of the unmasked region very easily and feature will be dropped.. It may hurt VIO as there may be features going in and out, only trackable for a few frames (just adds to the complexity).

      You should try to move the down-facing camera to free up it's FOV or even have it facing slightly angled to the back of the drone..

      Alex

    • Dan JenningsD

      Voxl2 + M0041 RevB Battery Monitor on Arducopter

      Ask your questions right here!
      • • • Dan Jennings
      8
      0
      Votes
      8
      Posts
      125
      Views

      Eric KatzfeyE

      @Dan-Jennings I'm also guessing that the driver may not be detecting the hardware so is not able to get the data for the battery_status. Have you tried swapping some other hardware to see if the problem is associated with a particular unit?

    • Karteek GandiboyinaK

      Ublox zed f9p GPS not connecting

      Software Development
      • • • Karteek Gandiboyina
      8
      0
      Votes
      8
      Posts
      293
      Views

      Karteek GandiboyinaK

      @emarcphera @Eric-Katzfey thank you so much after upgrading to voxl-mainline im getting GPS readingScreenshot from 2026-02-28 01-45-10.png

    • R

      Starling 2 Max Motor Catches

      Starling & Starling 2
      • • • RyanH
      7
      0
      Votes
      7
      Posts
      92
      Views

      Alex KushleyevA

      @RyanH ,

      Sometimes there is small pieces of random magnetic debris that gets stuck in the motor.

      First, you could try using compressed air to clear out the motor.

      Additionally, It could help to spin the motor up and down using voxl-esc command line tools a few times to clear it out (without prop is best, just for safety). Spinning the motor without prop a bunch of times could get the debris dislodged and actually broken up by the moving motor parts, so that the debris is no longer large enough to cause a problem. Reversing motor spin using voxl-esc test tools can help dislodge the debris (you can commend negative power/rpm).

      You can find useful info regarding motor testing here : https://docs.modalai.com/voxl-escs/faq/

      Alex

    • S

      voxl-cross error when building voxl-open-vins-server

      VOXL SDK
      • • • SKA
      7
      0
      Votes
      7
      Posts
      208
      Views

      zauberflote1Z

      @bendraper
      Hello,
      I hope this quick clarification helps for warnings:

      CMake Policy warnings: OV internally (external dir in the repo) still uses boost and references an older cmake version -- it's a harmless warning for devs (as you are building from scratch)

      Yaml-cpp lib warnings: This is a third party dependency that gets compiled from scratch during the make/build process. We use C++ 17 but the library is based on an older C++ version; nevertheless, it compiles fine on C++ 17 with minor warnings. -- it's a harmless warning

      TrackOCL warning: ModalFlow is a core library written in C++ 17 that allows function call usage as done in TrackOCL, i.e., the narrowing conversion is harmless in this case.

      That being said, we are actively working on the dev branch, so all flight--impacting warnings are hopefully caught early. We currently have no flight-impacting warnings/bugs identified, but if you found one warning/bug that caught your attention, please feel free to share.

      All the best,
      ZBFT

    • R

      Hadron ov64b snapshots have a vertical image artifact

      Video and Image Sensors
      • • • restore
      6
      0
      Votes
      6
      Posts
      46
      Views

      Alex KushleyevA

      @restore , the change to enable the maximum resolution raw output for OV64B was made at the end of October 2025, so you would need at least SDK 1.6.0, I believe. There was a change in the camera pipeline (not the camera driver) to allow such a large image size. Are you able to test on a newer SDK (just test the latest if you can)?

      Additionally, the resolution 9248x6944 cannot be directly used in MISP debayering (which uses OpenCL). There are some special requirements on the image stride, which width of 9248 does not match. So what will happen is the cpu will realign the image before feeding it to the gpu, but it is a lot of data to copy for a 64Mpix sensor. So I made a small change in width from 9248 to 9216 (just cut off 32 pixels) and it can be fed into the gpu directly. That change is not published yet, but i can share it.

      Lets first confirm that you can use the 1.6.x SDK to start the camera server at 9248x6944 and you should be able to save raw bayer and view the misp output.

      you can always double check the list of available raw resolutions using voxl-camera-server -l

      by "start the misp output stream", i mean that you need to have a client that subscribes to the misp output stream, so that the frames start going and AE can work, sending exposure and gain updates to the camera, so that the image is properly exposed. For example, viewing the stream in voxl-portal or just using voxl-inspect-cam hires_misp_color to get the data flowing, then you can save the raw bayer, which will have the proper exposure and gain applied.

      Alex

    • R

      Trigger Hadron camera with DO_SET_CAM_TRIGG_DIST

      VOXL 2
      • • • restore
      6
      0
      Votes
      6
      Posts
      144
      Views

      Eric KatzfeyE

      @restore There are a few examples of code that listens for Mavlink messages in our SDK. For example, in voxl-mpa-tools, take a look at the source code for voxl-inspect-mavlink.c. https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-tools/-/blob/master/tools/voxl-inspect-mavlink.c?ref_type=heads

      Probably would be a good idea to run voxl-inspect-mavlink on the mavlink_onboard and mavlink_to_gcs pipes to see which one has the desired Mavlink message in it. Then create your own application that listens for the Mavlink message on that pipe.

    • M

      Station Mode Issue with Voxl Suite 1.6.3

      Ask your questions right here!
      • • • Matt69
      6
      0
      Votes
      6
      Posts
      108
      Views

      F

      @Alex-Kushleyev The Alfa Network AWU2036

    • qubotics-adminQ

      Stinger control via mavlink joystick

      FPV Drones
      • • • qubotics-admin
      6
      0
      Votes
      6
      Posts
      160
      Views

      Eric KatzfeyE

      @qubotics-admin First you need to determine the version of PX4 running. With ssh or adb you can run the following at the command line: px4-ver all. You will see PX4 version and Vendor version. So, for example, for px4 version 1.14.0 and vendor version 8.134.3 then you would checkout the tag v1.14.0-8.134.3-dev from the repo to see that commit.

    • J

      How to fix the UVC camera DEVICE ID

      Video and Image Sensors
      • • • Jskim
      5
      0
      Votes
      5
      Posts
      75
      Views

      Alex KushleyevA

      @Jskim , maybe it's ok that the Device ID is increasing, however it could mean the USB device is not de-initializing properly (according to the Kernel). Perhaps the device is still open / in use by voxl-uvc-server when you power the camera off (switch to the SD card mode).

      Please see some more information below that may be helpful.

      Fix 1: Configure voxl-uvc-server to identify the camera by Vendor/Product ID

      Instead of relying on the device index, tell voxl-uvc-server to always find your camera by its USB VID:PID. This is the most robust approach.

      Step 1: Find your camera's Vendor ID and Product ID

      lsusb

      Look for your UVC webcam in the output. The ID is in VENDOR:PRODUCT hex format, e.g.:

      Bus 001 Device 003: ID 090c:337b <-- vendor=090c, product=337b

      You can also use the ModalAI helper script:

      show-video-device-info.sh

      Step 2: Update the voxl-uvc-server service to pass VID/PID

      Edit the systemd service override so the server always targets your specific camera:

      mkdir -p /etc/systemd/system/voxl-uvc-server.service.d/ cat > /etc/systemd/system/voxl-uvc-server.service.d/override.conf << EOF [Service] ExecStart= ExecStart=/usr/bin/voxl-uvc-server -v <your-vendor-id> -p <your-product-id> EOF systemctl daemon-reload systemctl restart voxl-uvc-server

      Replace <your-vendor-id> and <your-product-id> with the hex values from lsusb. With this in place, voxl-uvc-server will find the camera by identity rather than by device node index, so it will survive power cycles without needing a manual restart.

      Fix 2: Create a udev rule for a persistent /dev symlink

      This assigns a stable name (e.g., /dev/uvc_cam) to your camera regardless of enumeration order:

      cat > /etc/udev/rules.d/99-uvc-camera.rules << EOF SUBSYSTEM=="video4linux", ATTRS{idVendor}=="<your-vendor-id>", ATTRS{idProduct}=="<your-product-id>", SYMLINK+="uvc_cam", MODE="0660" EOF udevadm control --reload-rules udevadm trigger

      After this, /dev/uvc_cam will always point to your camera. You can reference this stable symlink in any configuration.

      Fix 3: Check dmesg for resource leak warnings

      If the device ID keeps incrementing (e.g., /dev/video0 → /dev/video1 → /dev/video2...) rather than re-using the same node, there may be an underlying resource leak from improper de-initialization:

      dmesg | grep -i "uvc\|video\|usb" | tail -50

      Look for warnings about disconnection or failed cleanup. If the ID increments indefinitely, this points to a kernel-side resource not being released properly on power-off — that may require a deeper fix or a systemctl stop voxl-uvc-server before powering down the camera.

      Summary Step Action 1 Run lsusb to get your camera's Vendor ID and Product ID 2 Pass -v <vid> -p <pid> to voxl-uvc-server via a systemd override 3 Optionally create a udev rule for a stable /dev/uvc_cam symlink 4 Check dmesg for warnings if the device ID keeps incrementing

      The vendor/product ID approach (Fix 1) should eliminate the need for the manual systemctl restart workaround entirely.

    • N

      Yaw Error Estimate on PX4v1.15

      Ask your questions right here!
      • yaw flight core v2 • • ndwe
      5
      0
      Votes
      5
      Posts
      79
      Views

      Eric KatzfeyE

      @ndwe Whether you use a VOXL or Jetson as a companion computer shouldn't make any difference unless you want to use the VOXL SDK. The version you run is totally up to you. If our v1.14.0 based version works for you then use it. We do plan to transition to v1.17.x in the near future. I don't think the issues you are seeing are related to something specific in the flight core v2 hardware setup. I would think that if you swapped it out for some other brand you would see the same issue. I would ask on the PX4 forums to see if others have experienced the same issues.

    • M

      IMX664 MISP decoding issue

      Video and Image Sensors
      • • • mark
      5
      0
      Votes
      5
      Posts
      155
      Views

      M

      Hi @Alex-Kushleyev, sorry for the late reaction, it took some time before i could update to the new SDK (1.6). the system now works normally with the resolution 2704x1540, and downscaled to 1920x1080 for the MISP pipeline. Thanks for the help!

    • syamala kotireddyS

      Starling 2 / VOXL2 M0129 ESC not detected during voxl-esc scan or firmware upgrade

      ESCs
      • • • syamala kotireddy
      4
      0
      Votes
      4
      Posts
      46
      Views

      Alex KushleyevA

      @syamala-kotireddy ,

      If the ESC is not showing any signs of life (no blue led blink), it probably means the ESC power regulator is not working properly. However, you mentioned that VOXL2 is actually booting fine? Can you measure the voltage on the connector / pads that provide 5V power from M0129 ESC to VOXL2?

      Please see the following post, where a capacitor on the ESC next to the main voltage regulator was knocked off, resulting in ESC not starting up. https://forum.modalai.com/topic/4151/voxl-mini-4-in-1-esc-missing-capacitor/ . However, in that post, i think VOXL2 was not booting either. In your case the issue may be something different.

      It is worth carefully inspecting the ESC.

      Also, if you have a power supply that can measure current, you can set it to 8V and measure the current draw of the ESC alone, it should be very small (maybe 20-30mA) but not zero.

      Alex

    • P

      VOXL2 Mini – Royale createDevice failed when starting ToF camera

      Ask your questions right here!
      • • • Piyush Singh
      4
      0
      Votes
      4
      Posts
      87
      Views

      Alex KushleyevA

      @Piyush-Singh , can you please provide more details

      how exactly all cameras are connected to VOXL2 mini (including interposers, flexes), etc. A diagram would help a lot which kernel variant are you running on your voxl2 mini (2.0.0 or 2.0.2).

      Are all the other cameras working if you disable the TOF sensor in the camera server config?

      Alex

    • C

      MAG SDA 3P3V shorted to ground

      VOXL 2 Mini
      • • • cbay
      4
      0
      Votes
      4
      Posts
      81
      Views

      Eric KatzfeyE

      @cbay voxl-fpv-px4 is based on voxl-px4 but has some custom tuning code / parameters for our fpv drones that isn't in voxl-px4. So, it's kind of a superset. But there isn't anything related to low level i2c drivers so I have no idea how that could be causing this issue.

    • Jetson NanoJ

      Feasibility & Integration Inquiry – FLIR Lepton XDS with VOXL2

      Ask your questions right here!
      • • • Jetson Nano
      4
      0
      Votes
      4
      Posts
      121
      Views

      Alex KushleyevA

      @Jetson-Nano , since we currently have no plans to do the MIPI integration of this sensor, you always have the option to use USB connection and voxl-uvc-server to publish images via MPA. You would need to check if the sensor supports the standard UVC interface and try it out...

      Alex

    • C

      Running 4 Ar0144s on M0188

      VOXL 2 Mini
      • • • cbay
      3
      0
      Votes
      3
      Posts
      21
      Views

      Alex KushleyevA

      @cbay , yes this should work.

      Whenever you add cameras of the same type, you should always check for possible I2C (CCI) conflicts. If you look here https://docs.modalai.com/M0188/#image-sensor-interfaces , the sensor IDs 0,2,3,6 (which is what you use) use unique CCI buses 0-3, so that is all good.

      If you used ID 1, it would conflict with with another AR0144 on ID6 (both use CCI1)

      One last thing to check is the sensor sync.

      if you see fsin in the configuration of the sensor (and name of the sensormodule in /usr/lib/camera/), it means it is set up as a sync slave currently you have the IDs 0 and 6 set up as sync slaves, but ID 2 and 3 as free-running

      There are two issues enabling sync'ed drivers for AR0144 in ID 2 and 3:

      the driver is provided only for ID2 in : /usr/share/modalai/chi-cdk/ar0144-fsin/ - this is easy to fix ID1 and ID3 on M0188 do not have the sync line connected to the camera connector this is easy to fix by installing a 0-ohm resistor, which is DNI by default.

      Depending on your requirements for VIO (which VIO are you using?), you may or may not need the cameras synchronized.

      Please let me know your requirements and we can go from there..

      Alex