Skip to content

VOXL 2 and VOXL 2 Mini

647 Topics 3.7k Posts

VOXL 2, VOXL 2 Mini and VOXL 2 IO: bring-up, connectors, power, cameras, system image and SDK installs on the current compute platform.

  • Doodle Labs + Low Latency on VTX

    Unsolved voxl-2
    3
    1
    0 Votes
    3 Posts
    427 Views
    DemarconiusD
    @Moderator Thanks for the clarification on the ~50 ms glass-to-glass number. Trying to get a better understanding the performance envelope: 1. Does the 50 ms include RF transport over Doodle, decode, and HDMI output latency, or is that measured only within the VOXL + VRX software stack? 2. Was this measured in point-to-point mode or mesh routing mode? 3. Can you expand on bitrate, resolution, and encoder settings were used (GOP structure, B-frames disabled, UDP vs RTSP)? 4. Is MAVLink or other traffic running on the same link during that measurement? 5. Do you have a latency breakdown per stage (encode / RF / decode / display)? Appreciate any information you can provide. I just want to make sure I can test and validate this effectively.
  • UFS1 Support on J5?

    Unsolved voxl-2
    10
    0 Votes
    10 Posts
    1k Views
    VinnyV
    Hi @wetherbeej Oh yikes.. You should really work with us on that change. There is a high likelihood to damage your VOXL 2 and the MEMs sensors are likely all broken now from the extra reflow cycles. Flash provisioning is all done over QFIL tools, not PCAT.
  • M0188

    Unsolved voxl-2-io
    3
    0 Votes
    3 Posts
    2k Views
    L
    @Moderator The description to MCBL-00128 (https://docs.modalai.com/cable-datasheets/#mcbl-00128), the TOF for the Voxl 2 Mini says it's supported with M0188 (https://docs.modalai.com/M0189/) without specifying any sub P/N (-1 or -2), even in the documentation of the M0188 doesn't say anything about P/N -1 or -2 (https://docs.modalai.com/M0188/).
  • Setting up RTK with VOXL2 using F9P (Base + Rover)

    Unsolved voxl-2
    4
    0 Votes
    4 Posts
    1k Views
    T
    @alan123 Hi, sorry for the late reply. Unfortunatly, we have not finished it yet. We're switching from ntrip to ros2
  • Consistent camera not found (M00014 and M0076 or M0135)

    Unsolved voxl-2-mini
    4
    1
    0 Votes
    4 Posts
    1k Views
    Alex KushleyevA
    @Morten-Nissov , Is it just the specific camera (tracking) not working in a specific port? what if you connect TOF or IMX214 camera there? For your configuration using the M0135 interposer, kernel variant 2.0.0 is the correct one to use. Using kernel 2.0.2 will result in some cameras not working due to different pins used for camera reset (which get properly routed in M0188 and M0195 camera adapter boards for the coax cameras). So i would suggest using the correct kernel 2.0.0, then test one camera at a time and see if you can narrow it down to a camera or port not working. Alex
  • ROS_DOMAIN_ID Change

    Unsolved voxl-2
    6
    1
    0 Votes
    6 Posts
    644 Views
    A
    Hey @yunwool Just to be clear, consider only your first drone, if you run export ROS_DOMAIN_ID=1, then run ros2 topic list, you aren't seeing any topics right? After you set the ROS_DOMAIN_ID of a drone to 1, to get the PX4 topics to show up, on QGC > Analyze Tools > MAVLink Console, run the following commands: param set XRCE_DDS_DOM_ID 1 param save Then power cycle the drone, give it like 15s after boot up, then the topics should come up directly when running ros2 topic list on that drone.
  • Boot System Image from SD Card Possible?

    Unsolved voxl-2
    2
    0 Votes
    2 Posts
    180 Views
    Eric KatzfeyE
    @sja123 No, unfortunately, we do not currently support boot from SD card.
  • Using J18 for expander I/O Board

    Unsolved voxl-2
    2
    0 Votes
    2 Posts
    145 Views
    Eric KatzfeyE
    @magnetocircuit Yes, this is supported. In the config file for px4 /etc/modalai/voxl-px4.conf set ESC=VOXL2_IO_PWM_ESC.
  • Understanding voxl-evaluate-vins

    Unsolved voxl-2
    2
    0 Votes
    2 Posts
    273 Views
    zauberflote1Z
    @Aaron-Porter Hello there, voxl-evaluate-vins is currently not used by the Autonomy team @ ModalAI, we opted for our new benchmark solution, a bit more consistent in terms of statistical rigor and better integration with voxl-portal. Still, when replaying logs for VINS, it is imperative that one replays them using the ION pipes, as our VINS solution is optimized for cl_mem ptrs. Note that when replaying ION pipes, it is recommend to stop camera-server before replaying -- as clean killing ION pipes via the voxl-replay args is currently being optimized. This should resolve the common segfaults experienced during the replay/benchmark operation itself. https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-benchmark-vio Finally, I would recommend updating your VINS to the latest available tag on Gitlab
  • two tracking camera on the voxl2 mini

    Unsolved voxl-2-mini
    2
    0 Votes
    2 Posts
    864 Views
    Alex KushleyevA
    @Vansh-Aggarwal , sorry for the delay in response. Can you please specify which exact tracking cameras you have and which camera adapters / cables you might already have? Alex
  • ToF sensor and VOA

    Unsolved voxl-2
    9
    2
    0 Votes
    9 Posts
    2k Views
    S
    @James-Strawson Hii , I am also getting the same issue . Kindly look at the following details . I have defined tof in my extrinsics.conf file as given below: parent: body child: tof T_child_wrt_parent: 0.070 0.024 -0.029 RPY_parent_to_child: 0.0 90.0 90.0 R_child_to_parent: 0.000 -0.000 1.000 1.000 0.000 -0.000 -0.000 1.000 0.000 when i run voxl-vision-hub -s i got the following slice 0 dist none back slice 1 dist none slice 2 dist none slice 3 dist none slice 4 dist none slice 5 dist none slice 6 dist none slice 7 dist none slice 8 dist none slice 9 dist none left slice 10 dist none slice 11 dist none slice 12 dist none slice 13 dist none slice 14 dist none slice 15 dist none slice 16 dist none slice 17 dist none slice 18 dist none forward slice 19 dist none slice 20 dist none slice 21 dist none slice 22 dist none slice 23 dist none slice 24 dist none slice 25 dist none slice 26 dist none slice 27 dist none right slice 28 dist none and in my vision-hub-conf file i have the folloeing set up: "en_vio": true, "vio_pipe": "qvio", "secondary_vio_pipe": "ov", "vfc_vio_pipe": "ov", "en_reset_vio_if_initialized_inverted": true, "vio_warmup_s": 3, "send_odom_while_failed": true, "horizon_cal_tolerance": 0.5, "en_hitl": false, "offboard_mode": "figure_eight", "follow_tag_id": 0, "figure_eight_move_home": true, "robot_radius": 0.300000011920929, "collision_sampling_dt": 0.1, "max_lookahead_distance": 1, "backtrack_seconds": 60, "backtrack_rc_chan": 8, "backtrack_rc_thresh": 1500, "wps_move_home": true, "wps_stride": 0, "wps_timeout": 0, "wps_damp": 1, "wps_vfc_mission": true, "wps_vfc_mission_loop": false, "wps_vfc_mission_to_ramp": 25, "wps_vfc_mission_to_kp": 0.10000000149011612, "wps_vfc_mission_cruise_speed": 1, "en_tag_fixed_frame": false, "fixed_frame_filter_len": 5, "en_transform_mavlink_pos_setpoints_from_fixed_frame": false, "vfc_rate": 100, "vfc_rc_chan_min": 980, "vfc_rc_chan_max": 2020, "vfc_thrust_ch": 3, "vfc_roll_ch": 1, "vfc_pitch_ch": 2, "vfc_yaw_ch": 4, "vfc_submode_ch": 6, "vfc_alt_mode_rc_min": 0, "vfc_alt_mode_rc_max": 0, "vfc_flow_mode_rc_min": 0, "vfc_flow_mode_rc_max": 0, "vfc_hybrid_flow_mode_rc_min": 0, "vfc_hybrid_flow_mode_rc_max": 0, "vfc_position_mode_rc_min": 0, "vfc_position_mode_rc_max": 2100, "vfc_traj_mode_rc_min": 0, "vfc_traj_mode_rc_max": 0, "vfc_yaw_deadband": 30, "vfc_vxy_deadband": 50, "vfc_vz_deadband": 150, "vfc_min_thrust": 0, "vfc_max_thrust": 0.800000011920929, "vfc_tilt_max": 0.43599998950958252, "vfc_yaw_rate_max": 3, "vfc_thrust_hover": 0.5, "vfc_vz_max": 1, "vfc_kp_z": 5.2899999618530273, "vfc_kd_z": 5.9800000190734863, "vfc_vxy_max": 3, "vfc_kp_xy": 0.63999998569488525, "vfc_kd_xy": 2.559999942779541, "vfc_kp_z_vio": 5.2899999618530273, "vfc_kd_z_vio": 5.9800000190734863, "vfc_kp_xy_vio": 3.2400000095367432, "vfc_kd_xy_vio": 3.9600000381469727, "vfc_w_filt_xy_vio": 10, "vfc_w_filt_xy_flow": 3, "vfc_vel_ff_factor_vio": 0.899999976158142, "vfc_xy_acc_limit_vio": 2.5, "vfc_max_z_delta": 3, "vfc_att_transition_time": 0.5, "vfc_stick_move_threshold": 30, "vfc_flow_transition_time": 1, "vfc_q_min": 10, "vfc_points_min": 7, "vfc_en_submode_announcement": 1, "vfc_disable_fallback": false, "vfc_traj_csv": "/data/voxl-vision-hub/traj.csv", "en_voa": true, "voa_upper_bound_m": -0.15000000596046448, "voa_lower_bound_m": 0.15000000596046448, "voa_memory_s": 1, "voa_max_pc_per_fusion": 100, "voa_pie_max_dist_m": 20, "voa_pie_min_dist_m": 0.25, "voa_pie_under_trim_m": 1, "voa_pie_threshold": 3, "voa_send_rate_hz": 20, "voa_pie_slices": 36, "voa_pie_bin_depth_m": 0.15000000596046448, "voa_inputs": [{ "enabled": false, "type": "point_cloud", "input_pipe": "dfs_point_cloud", "frame": "stereo_l", "max_depth": 8, "min_depth": 0.300000011920929, "cell_size": 0.079999998211860657, "threshold": 4, "x_fov_deg": 68, "y_fov_deg": 56, "conf_cutoff": 0 }, { "enabled": false, "type": "point_cloud", "input_pipe": "stereo_front_pc", "frame": "stereo_front_l", "max_depth": 8, "min_depth": 0.300000011920929, "cell_size": 0.079999998211860657, "threshold": 4, "x_fov_deg": 68, "y_fov_deg": 56, "conf_cutoff": 0 }, { "enabled": false, "type": "point_cloud", "input_pipe": "stereo_rear_pc", "frame": "stereo_rear_l", "max_depth": 8, "min_depth": 0.300000011920929, "cell_size": 0.079999998211860657, "threshold": 4, "x_fov_deg": 68, "y_fov_deg": 56, "conf_cutoff": 0 }, { "enabled": true, "type": "tof", "input_pipe": "tof", "frame": "tof", "max_depth": 6, "min_depth": 0.15000000596046448, "cell_size": 0.079999998211860657, "threshold": 3, "x_fov_deg": 106.5, "y_fov_deg": 85.0999984741211, "conf_cutoff": 125 }, { "enabled": false, "type": "rangefinder", "input_pipe": "rangefinders", "frame": "body", "max_depth": 8, "min_depth": 0.300000011920929, "cell_size": 0.079999998211860657, "threshold": 4, "x_fov_deg": 68, "y_fov_deg": 56, "conf_cutoff": 0 }], "voa_voa_memory_s": 1 } [image: 1768559497610-screenshot-from-2026-01-16-16-01-23.png]
  • VOXL2 WiFi SoftAP issues (M0141 + AWUS036EACS)

    Unsolved voxl-2
    3
    0 Votes
    3 Posts
    472 Views
    D
    Update: I bought an Alfa Networks AWUS036ACS and it worked out of the box with the M0151 board
  • GPS and Compass Issues on QGround Control

    Unsolved voxl-2-mini
    2
    0 Votes
    2 Posts
    910 Views
    J
    @jeremyrbrown5 We have figured it out. It was the parameters SYS_HAS_MAG and SYS_HAS_GPS. Will be testing autonomous flight tomorrow!
  • RTSP streaming issues

    Unsolved voxl-2-mini
    5
    0 Votes
    5 Posts
    1k Views
    Alex KushleyevA
    Hello @SKA, Thank you for the details. I can't think of anything right now, but will double check this. I know that there is one potential issue in voxl-camera-server - the SPS header (which is part of the H264 / H265 stream) is only sent by the video encoder once (at the beginning of the stream). I believe that voxl-streamer will cache the SPS packet (which contains things like resolution, etc) and i think when clients connect to voxl-streamer, then it will send that SPS header to the clients. However, if voxl-streamer does not get that first header, it will not be able to forward it to the clients. This is a guess for now, but could be related to the issue that you are seeing. I can look into this issue. Can you please let me know how exactly to set up VLC for 0ms cache? I want to make sure that my test is the same. Also, which version of VLC are you using? Also, i noticed one thing - you are using hires_misp_color stream from camera server, which is not actually encoded, but YUV. Then voxl-streamer will take those YUVs and encode them (using hardware encoder). Is there a reason why you are not using the hires_misp_encoded stream to get H264 directly from camera server and serve it using voxl-streamer without re-encoding? I wonder if in the old SDK you were using _color or _encoded stream? Alex
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    1 Views
    No one has replied
  • Use volx2 and accessories on custom products

    Unsolved voxl-2
    2
    0 Votes
    2 Posts
    442 Views
    ModeratorM
    @qubotics-admin Hi, we sell all of those components for companies to integrate into their products. The Flir Hadron adapter (MDK-M0202-1-00) can be requested by reaching out to sales at https://modalai.com/contact The rest of the components should be available to purchase at modalai.com
  • Voxl 2 USB-C And Unity

    Unsolved volx2 voxl-2
    2
    0 Votes
    2 Posts
    910 Views
    ModeratorM
    @JoonaR Hi Joona, the DP should work to drive an HDMI projector with the appropriate adapter. This adapter has been tested to work: https://www.amazon.com/Cable-Matters-48Gbps-Adapter-Supporting/dp/B08MSWMXT4?th=1
  • IP Routing on VOXL2 with Microhard modem + IP camera

    Unsolved voxl-2
    2
    0 Votes
    2 Posts
    401 Views
    A
    @Alex-Kushleyev Can you please look into this or tag someone who can help me solving this type of networking related issue?
  • No WiFi connection M0151 + USB 3.0 + Alfa Networks Dongle

    Unsolved voxl-2
    2
    0 Votes
    2 Posts
    331 Views
    D
    I did some additional testing and was able to narrow things down a bit. After reconfiguring the WiFi as a SoftAP using voxl-wifi and then rebooting the VOXL, the network now shows up consistently again. So the broadcast issue seems to be resolved for the moment. However, the core problem remains: I still can’t actually connect to the AP — the connection attempt starts, prompts for the password, and then fails just like before. If anyone has ideas on what else I could check or has seen similar behavior with this setup, I’d really appreciate the help.
  • This topic is deleted!

    2
    0 Votes
    2 Posts
    8 Views