Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Brand Logo

ModalAI Forum

Alex KushleyevA

Alex Kushleyev

@Alex Kushleyev
ModalAI Team
Unfollow Follow
About
Posts
2.2k
Topics
1
Shares
0
Groups
2
Followers
12
Following
0

Posts

Recent Best Controversial

  • Starling 2 - VOXL2 IMU Clock Line Failure after Heatsink Maintenance
    Alex KushleyevA Alex Kushleyev

    Hello @luisrzdearbulo-0 ,

    Since the IMU clock stopped functioning after disassembly / re-assembly of the drone, it is likely that a small component (clock buffer) was damaged in the process. If that is the case, fixing it yourself would be extremely difficult without proper equipment and experience. Also, unfortunately, we do not offer repair services for such cases.

    You have two options:

    Option 1

    configure px4 to use IMU without the clock signal. you need to change the following two files and re-build voxl-px4:

    • https://github.com/modalai/px4-firmware/blob/voxl-dev/boards/modalai/voxl2-slpi/src/drivers/icm42688p/ICM42688P.hpp#L63
    • as a result, the IMU will use its own built-in clock source, which may be slightly off from real clock, so the samples won't be generated at the true desired rate (8000Hz, for example), however the effect most likely wont be noticeable (many flight controllers do not use IMU clock sync).

    Note that if the clock buffer chip is broken, then the second IMU will also not work (which is used for VIO), so the IMU server for the Apps Proc IMU will also need to be re-built with clock disabled : https://gitlab.com/voxl-public/voxl-sdk/services/qrb5165-imu-server/-/blob/master/server/src/icm42688.cpp?ref_type=heads#L54

    • as a test, you should check if your apps proc IMU is running or also reporting clock issues (see voxl-imu-server and voxl-inspect-imu on voxl2)

    Option 2

    replace the VOXL2 board to get back the original functionality - I am afraid there is no other alternative.

    Alex

    Ask your questions right here!

  • IMX412-Flip
    Alex KushleyevA Alex Kushleyev

    Hi @john.almasi ,

    We just posted the updated drivers for IMX412 camera : imx412_drivers_20260709.zip

    These drivers include:

    • three variants with the following MIPI data rates: 2004, 2088, 2200 Mbps
      • I believe all three should be pretty much interference-free, but you should test and check the spectral coincidence plots from (see note below)
      • *** note that 2200Mbps is 5% above maximum recommended specification for the camera, but so far we had no issues (use at own risk). For most use cases, 2088 Mbps should be a good choice.
    • regular and flip versions
    • alternate i2c slave register option (0x20 instead of 0x34)
      • please note that in the driver versions of 2004 and 2088 Mbps, the following modes still use 2200 Mbps in order to achieve desired throughput:
      • 4040x3040 60FPS
      • 3840x2160 80FPS
      • 1936x1080 240FPS

    Here is the full mode list table for this driver set (mbps is one of 2004, 2088, 2200 respectively):

    ['bpp','mbps','width','height', 'fps']
    [ 10,   mbps,  4056,    3040,    30.0]
    [ 10,   mbps,  4040,    3040,    30.0]
    [ 10,   2200,  4040,    3040,    60.0]
    [ 10,   mbps,  3840,    2160,    30.0]
    [ 10,   mbps,  3840,    2160,    60.0]
    [ 10,   2200,  3840,    2160,    80.0]
    [ 10,   mbps,  2028,    1520,    30.0]
    [ 10,   mbps,  1996,    1520,    30.0]
    [ 10,   mbps,  1996,    1520,    60.0]
    [ 10,   mbps,  1996,    1520,   120.0]
    [ 10,   mbps,  1936,    1080,    30.0]
    [ 10,   mbps,  1936,    1080,    60.0]
    [ 10,   mbps,  1936,    1080,    90.0]
    [ 10,   mbps,  1936,    1080,   120.0]
    [ 10,   2200,  1936,    1080,   240.0]
    [ 10,   mbps,  1920,    1080,    30.0]
    [ 10,   mbps,  1920,    1080,    60.0]
    [ 10,   mbps,  1920,    1080,    90.0]
    [ 10,   mbps,  1920,    1080,   120.0]
    

    Additionally, we added some information that clarifies what are different components of the camera drivers and also explains how to achieve the image rotation in different use cases (and versions of voxl-camera-server) : https://docs.modalai.com/voxl-camera-drivers/

    You should also check out the following post regarding GNSS interference, which includes some analysis showing how different MIPI bit rates can interfere with GNSS bands (bitrate and content-dependent) : https://forum.modalai.com/topic/5116/gnss-emi-mitigation-guidelines

    Please test it out and let me know if you have any issues.

    Alex

    Ask your questions right here!

  • Camera Intrinsics, VIO and more..
    Alex KushleyevA Alex Kushleyev

    Hi @dinesh-varun-kandiyappan , please see responses below:

    1. the high resolution cameras (IMX412) are not calibrated during production. PMD tof does have intrinsics avaiable and they are downloaded from the sensor directly when the voxl-camera-server strarts. We did make a feature branch to print out those intrinsics for the TOF sensor - we can revisit that (and mainline it). You can use our tool voxl-calibrate-camera to perform intrinsics calibration of the fisheye IMX412 camera. We also have some improvements to make the process more efficient for high resolution images - if you need that, we can share the update (on todo list to mainline). https://docs.modalai.com/calibrate-cameras/

    2. all the extrinsics are obtained from the 3D CAD models (not calibrated). they should be pretty accurate, but we do not have any data / analysis on the accuracy

    3. Yes, TOF sensor is an indoor sensor because outdoors the IR light will interfere with the sensor. We used to have drones that used DFS (Depth From Stereo, which used an algorithm from Qualcomm), but that stereo camera setup (using old ov7251 cameras) is EOL and we are not actively developing / testing DFS. However, you could potentially put together two AR0144 tracking cameras in a stereo configration and try DFS.

    4. QVIO only works using a single camera, but Open-Vins supports multiple cameras and that provides more reliable VIO solution. We are not developing QVIO, but Open-Vins is under active development and testing, so you should probably start with that. Also, QVIO is closed source (and not being actively developed), so it has no potential for updates / improvements.

    5. Can you please clarify? the PX4 params should be set up correctly for each drone after you run voxl-configure-mpa

    6. Can you please clarify? Is the goal for your model to control the vehicle's flight? (if so, what type of controls?)

    Alex

    Starling & Starling 2

  • ESC Support Questions
    Alex KushleyevA Alex Kushleyev

    We do not support DSHOT when using Voxl2 + IO Expander board. However, OneShot125 is supported (though you would need to re-build voxl-px4 pakage and change the following scale factor : https://github.com/modalai/px4-firmware/blob/voxl-dev/src/drivers/voxl2_io/voxl2_io.hpp#L133) -- set MIXER_OUTPUT_TO_CMD_SCALE = 125 instead of 1000. This would reduce the actuator latency by 1-2ms (as long as the ESC supports OneShot125).

    ESCs

  • IMX412-Flip
    Alex KushleyevA Alex Kushleyev

    Yes, no problem, i will provide the flipped version, just for completeness. I’ll follow up tomorrow.

    Ask your questions right here!

  • IMX412-Flip
    Alex KushleyevA Alex Kushleyev

    Hi @john.almasi ,

    Can you please let me know which output stream(s) you are using for the IMX412 camera. For example: preview, small_video, large_video, misp, etc..

    If you are using small_encoded / large_encoded, then those are going through the ISP and will automatically adjust the decoding for the bayer pattern from RGGB to BGGR (because the image read-out is backwards, the pattern flips). See the directions below. If you are using MISP output, then your current camera server version does not support this method and will show incorrect colors (red and blue swapped).

    The rotated version of the driver is available in this zip : https://storage.googleapis.com/modalai_public/temp/imx412_test_bins/20250919/imx412_fpv_eis_20250919_drivers.zip

    Directions:

    • unzip
    • back up your current com.qti.sensormodule.imx412_fpv_1.bin and com.qti.sensor.imx412_fpv.so on your voxl2 (in /usr/lib/camera/). -- you need to rename or remove them from that location
    • copy the new com.qti.sensor.imx412_fpv.so and com.qti.sensormodule.imx412_fpv_flip_20250919_1.bin to /usr/lib/camera.
    • restart voxl-camera-server.
    • the rotation is done (in this case) by adding a configuration register in the sensormodule file, which instructs the camera to send the image backwards. The sensormodule file also has information to tell the ISP to debayer the image properly as BGGR (rotated) as opposed to RGGB (normal).

    If you are using MISP streams, then we will need to do some update to your camera server.

    Final note, If you are using GPS with your drone, we recently found that old IMX412 drivers (including what i just linked) interfere with GPS signal. The non-flip drivers for IMX412 that fix the GPS interference issue can be found here : https://storage.googleapis.com/modalai_public/temp/imx412_test_bins/20260529/imx412_drivers_20260529.zip. Please let me know if you are using GPS and we can go from there.

    Alex

    Ask your questions right here!

  • Starling 2 Max C28 + ToF Upgrade – Request for Front Mount 3D Model
    Alex KushleyevA Alex Kushleyev

    You are welcome! By the way the Starling 2 Max plastics kit (linked above) contains both types of front camera mounts (with and without the TOF sensor).

    Ask your questions right here!

  • [VOXL-SVC] WAIT_VIO: VIO velocity unstable (VIO backend converging) (30 s)
    Alex KushleyevA Alex Kushleyev

    Hello @royazriel , please take a look at our documentation, which has some testing tips : https://docs.modalai.com/voxl-open-vins-server/

    VOXL SDK

  • adding payload to max2?
    Alex KushleyevA Alex Kushleyev

    @Ebenezer-Afrifa , sorry, but Starling 2 Max is not capable of carrying such a large payload. We currently do not offer any platforms capable of carrying 3-4 pounds.

    Alex

    Ask your questions right here!

  • voxl-suite upgrade
    Alex KushleyevA Alex Kushleyev

    @RoyAzriel , we will check about the SDK.. I see how that's an issue for you.

    Regarding extrinsics when upgrading your Starling 2 Max from C28 to C29, the different extrinsics already exist (and the source can be found here : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-tools/-/tree/master/misc_files/usr/share/modalai/extrinsic_configs) . Once you run voxl-configure-mpa, then the correct extrinsics should be loaded, or you can replace the file manually (it goes to /etc/modalai/ on voxl2)

    Alex

    VOXL SDK

  • Starling 2 - VOXL2 IMU Clock Line Failure after Heatsink Maintenance
    Alex KushleyevA Alex Kushleyev

    @LuisRzdearbulo-0 , can you please let us know which heat sink you mounted to VOXL2? Can you please share a picture?

    Ask your questions right here!

  • Starling 2 Max C28 + ToF Upgrade – Request for Front Mount 3D Model
    Alex KushleyevA Alex Kushleyev

    Yes, please check the downloads section. C26 , C27 come with TOF sensors, so the CAD model for those variants should contain the correct front camera mount (please let us know if you have an issue finding it).

    Also, we do sell a replacement plastics kit for Starling 2 Max (https://www.modalai.com/products/starling-2-max-replacement-parts) but it is not clear which front camera mount it has.. checking..

    Alex

    Ask your questions right here!

  • Starling 2 max not booting
    Alex KushleyevA Alex Kushleyev

    Sorry to hear that.

    Link Preview Image
    Repair Merchandise Authorization

    All of our products are thoroughly tested both functionally and physically prior to shipment. For a copy of your products test records, please message at contact@modalai.com with the serial number.  For troubleshooting and software functionality questions, please refer to our forum. View our terms and conditions. If an

    favicon

    ModalAI, Inc. (www.modalai.com)

    You can provide a link to this post when you submit it.

    VOXL Dev Kits

  • Starling 2 max not booting
    Alex KushleyevA Alex Kushleyev

    Hello @RoyAzriel,

    There are 4 blue LEDs on the ESC - is that what you are referring when you said "the 3 blue leds are blinking as always" ?

    I am not sure what happened, but you should try the unbricking procedure for voxl2: https://docs.modalai.com/voxl2-unbricking/

    Alex

    VOXL Dev Kits

  • Software On/Off VTX Power using VOXL FPV 4in1 ESC
    Alex KushleyevA Alex Kushleyev

    @PatkirkMartin , I am looking into the command routing via PX4 for the on/off function.. stay tuned..

    ESCs

  • Starling 2 Max back-right motor clicking and reduced RPM — suspected magnet delamination
    Alex KushleyevA Alex Kushleyev

    Hi @Julian ,

    Thank you for the detailed report. It does look like there is a missing (or broken? hard to see) magnet in the motor, in which case the motor will not work properly and should be replaced. No further testing is needed, as this is most likely a manufacturing defect of the motor or a result of an impact.

    If you believe that the motor was defective when you received the product, you should request a free replacement motor (submit an RMA form) . If the motor was damaged while testing, you can purchase a new motor.

    The Starling 2 Max replacement parts can be found here : https://www.modalai.com/products/starling-2-max-replacement-parts (however i don't see just motors without a frame + motors kit, will double check..)

    Alex

    VOXL Dev Kits

  • ov7251 tracking + imx214 hires not working
    Alex KushleyevA Alex Kushleyev

    @astro_phil ,

    I just tested your configuration on voxl2 mini

    • ov7251 connected to M0135 JL
    • imx214 connected to M0135 JU
    • M0135 interposer connected to Voxl2 mini J7
    • cameras are connected to hardware camera slots 2 and 3 respectively

    This particular board is using an old SDK but it should not matter, kernel variant 2.0.0

    hw platform:  M0104
    mach.var:     2.0.0
    --------------------------------------------------------------------------------
    voxl-suite:   1.3.3
    
    voxl-camera-server -l
    DEBUG:   Attempting to open the hal module
    DEBUG:   SUCCESS: Camera module opened on attempt 0
    DEBUG:   ----------- Number of cameras: 2
    
    DEBUG:   Cam idx: 0, Cam slot: 2, Slave Address: 0x00E2, Sensor Id: 0x7750
    DEBUG:   Cam idx: 1, Cam slot: 3, Slave Address: 0x0020, Sensor Id: 0x0214
    DEBUG:   Note: This list comes from the HAL module and may not be indicative
    DEBUG:   	of configurations that have full pipelines
    
    DEBUG:   Number of cameras: 2
    
    dmesg:
    [  209.617719] CAM_INFO: CAM-ICP: cam_icp_mgr_hw_open: 3879 FW download done successfully
    [  209.648730] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Linked as a consumer to regulator.59
    [  209.649003] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Linked as a consumer to regulator.55
    [  209.649103] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Linked as a consumer to regulator.60
    [  209.649137] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Linked as a consumer to regulator.79
    [  209.666156] CAM_INFO: CAM-SENSOR: cam_sensor_driver_cmd: 918 Probe success,slot:3,slave_addr:0x20,sensor_id:0x214
    [  209.666263] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Dropping the link to regulator.79
    [  209.670389] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Dropping the link to regulator.60
    [  209.670476] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Dropping the link to regulator.55
    [  209.670541] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Dropping the link to regulator.59
    [  209.688989] qcom,camera ac50000.qcom,cci:qcom,cam-sensor2: Linked as a consumer to regulator.59
    [  209.691170] qcom,camera ac50000.qcom,cci:qcom,cam-sensor2: Linked as a consumer to regulator.55
    [  209.693356] qcom,camera ac50000.qcom,cci:qcom,cam-sensor2: Linked as a consumer to regulator.60
    [  209.693454] qcom,camera ac50000.qcom,cci:qcom,cam-sensor2: Linked as a consumer to regulator.79
    [  209.717968] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 731 [Applying Alternative Address] : Sensor Index   : 2538021044
    [  209.717979] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 732 [Applying Alternative Address] : Slave Address  : 0xE2
    [  209.717988] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 733 [Applying Alternative Address] : Slave sensor id: 0x7750
    [  209.717997] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 734 [Applying Alternative Address] : cci_client sid : 0x71
    [  209.718308] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 770 [Applying Alternative Address] : Probe : Alternate address updated
    [  209.718543] CAM_INFO: CAM-SENSOR: cam_sensor_driver_cmd: 918 Probe success,slot:2,slave_addr:0xe2,sensor_id:0x7750
    

    I also tested the same configuration in J6:

    voxl-camera-server -l
    DEBUG:   Attempting to open the hal module
    DEBUG:   SUCCESS: Camera module opened on attempt 0
    DEBUG:   ----------- Number of cameras: 2
    
    DEBUG:   Cam idx: 0, Cam slot: 0, Slave Address: 0x00E2, Sensor Id: 0x7750
    DEBUG:   Cam idx: 1, Cam slot: 1, Slave Address: 0x0020, Sensor Id: 0x0214
    DEBUG:   Note: This list comes from the HAL module and may not be indicative
    DEBUG:   	of configurations that have full pipelines
    
    DEBUG:   Number of cameras: 2
    
    dmesg
    [  216.996797] CAM_INFO: CAM-ICP: cam_icp_mgr_hw_open: 3879 FW download done successfully
    [  217.029303] qcom,camera ac4f000.qcom,cci:qcom,cam-sensor1: Linked as a consumer to regulator.58
    [  217.029395] qcom,camera ac4f000.qcom,cci:qcom,cam-sensor1: Linked as a consumer to regulator.55
    [  217.029484] qcom,camera ac4f000.qcom,cci:qcom,cam-sensor1: Linked as a consumer to regulator.60
    [  217.029516] qcom,camera ac4f000.qcom,cci:qcom,cam-sensor1: Linked as a consumer to regulator.79
    [  217.046069] CAM_INFO: CAM-SENSOR: cam_sensor_driver_cmd: 918 Probe success,slot:1,slave_addr:0x20,sensor_id:0x214
    [  217.046191] qcom,camera ac4f000.qcom,cci:qcom,cam-sensor1: Dropping the link to regulator.79
    [  217.050324] qcom,camera ac4f000.qcom,cci:qcom,cam-sensor1: Dropping the link to regulator.60
    [  217.050407] qcom,camera ac4f000.qcom,cci:qcom,cam-sensor1: Dropping the link to regulator.55
    [  217.050470] qcom,camera ac4f000.qcom,cci:qcom,cam-sensor1: Dropping the link to regulator.58
    [  217.069409] qcom,camera ac4f000.qcom,cci:qcom,cam-sensor0: Linked as a consumer to regulator.58
    [  217.071541] qcom,camera ac4f000.qcom,cci:qcom,cam-sensor0: Linked as a consumer to regulator.55
    [  217.073710] qcom,camera ac4f000.qcom,cci:qcom,cam-sensor0: Linked as a consumer to regulator.60
    [  217.073801] qcom,camera ac4f000.qcom,cci:qcom,cam-sensor0: Linked as a consumer to regulator.79
    [  217.097221] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 731 [Applying Alternative Address] : Sensor Index   : 390152372
    [  217.097229] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 732 [Applying Alternative Address] : Slave Address  : 0xE2
    [  217.097234] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 733 [Applying Alternative Address] : Slave sensor id: 0x7750
    [  217.097239] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 734 [Applying Alternative Address] : cci_client sid : 0x71
    [  217.097532] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 770 [Applying Alternative Address] : Probe : Alternate address updated
    [  217.097747] CAM_INFO: CAM-SENSOR: cam_sensor_driver_cmd: 918 Probe success,slot:0,slave_addr:0xe2,sensor_id:0x7750
    

    By the way, i think the SDKs are now not including the imx214 driver for slot 1. If you need it, you can use the following drivers https://storage.googleapis.com/modalai_public/temp/imx214_test_bins/imx214_eis_drivers_20250815.zip for all camera slots. The only functional change of these drivers is that the maximum resolution of the sensor has been changed from 4208 x 3120 to 4196 x 3120 due to some optimizations in gpu-based debayering that require certain image width (long story, but you can still use this driver, just may need to adjust your camera server config so that you are not requesting impossible resolution).

    When you do your tests, please make sure you have the correct sensormodule id's for each camera in /usr/lib/camera . The slot number where the camera is physically plugged in has to match the index at the end of the sensormodule file name (before .bin).

    Alex

    Support Request Format for Best Results

  • Software On/Off VTX Power using VOXL FPV 4in1 ESC
    Alex KushleyevA Alex Kushleyev

    @PatkirkMartin ,

    The post you found should still be applicable. Can you check which firmware is installed on your M0138 FPV ESC.

    Also, It looks like you are doing the measurement in the wrong location. The switchable (on/off) power output is a 4S regulated supply that is available at pads right near the yellow payload connector. Note that the output from the yellow connector is not switchable, just VBATT. but the pads labeled <4SOUT> are switchable and you can test using that gpio script.

    I circled the pads that you need to use in RED:
    ca81990c-b593-459d-b625-66fe21c68c3e-image.png

    from the voxl-esc-gpio.py test script,

    Controls AUX regulator on M0138 ESC ID0, unsupported on other ESCs
    

    I see your confusion that it mentions "AUX regulator", it is a misnomer, because the ESC also has an auxiliary 3.0 / 5.0V regulator (only 500mA).

    So if you are powering a VTX, you definitely need the 4S output, but also keep in mind it's about 500mA max as well. Is your battery voltage 4S or 6S?

    After you test while PX4 is not running, just directly talking to the ESC using voxl-esc tools, we can discuss how to do this while PX4 is running (assuming you are using px4).

    Alex

    ESCs

  • Starling 2 replacement piece
    Alex KushleyevA Alex Kushleyev

    @ey , we are working on making a replacement plastic kit available. It looks like you may have gotten a response from our team already, but moving forward we should have some kits available soon.

    Alex

    Starling & Starling 2

  • ov7251 tracking + imx214 hires not working
    Alex KushleyevA Alex Kushleyev

    @astro_phil , OK, thanks for testing. I will check it myself tomorrow.

    Alex

    Support Request Format for Best Results
  • Login

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups