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.

  • downloading the voxl-mapper service log file

    Unsolved voxl-2
    5
    0 Votes
    5 Posts
    854 Views
    Meytal LempelM
    @Eric-Katzfey Thank you! I now use journalctl and write to a file in a logger service, for example: voxl-mapper-logger.service [Unit] Description=Logs voxl-mapper log output to file After=voxl-wait-for-fs.service network.target network-online.target Requires=voxl-wait-for-fs.service network.target network-online.target voxl-mapper.service [Service] Type=simple ExecStart=/bin/bash -c "sleep 45 && journalctl -f -u voxl-mapper.service >> /data/logs/voxl_mapper.log" StartLimitInterval=0 Restart=always RestartSec=2s [Install] WantedBy=multi-user.target
  • Alibaba's LLM Qwen2-0.5B for VOXL 2

    Unsolved
    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • VOXL2 usb camera support

    Unsolved voxl-2
    4
    0 Votes
    4 Posts
    915 Views
    Eric KatzfeyE
    @jacob-yaacubov We have some add-on boards that would allow connection of 2 USB cameras. For example: https://www.modalai.com/collections/voxl-2-add-ons/products/voxl-microhard-modem-usb-hub and https://www.modalai.com/collections/voxl-2-add-ons/products/voxl-lte?variant=32449203601459
  • Custom Camera Configuration with M0173

    Unsolved voxl-2
    4
    0 Votes
    4 Posts
    722 Views
    S
    @tom Thank you! I am adding an imx214 on J8L.
  • PWM for gimbal using FPV ESC

    Unsolved voxl-2
    3
    0 Votes
    3 Posts
    664 Views
    Eric KatzfeyE
    @Dronodev Using the M0065 on a UART on the WiFi add-on board may be the most straightforward way to do this. We've never tried to set one up like that but, in theory, it should work if configured correctly in px4. There is no direct way right now to send the RC channel PWM input out the VOXL esc PWM output. There are a number of different ways to approach that so we'll take a look and see if we can come up with something in the next couple of weeks.
  • Two USB FLIR Boson cameras, one connected to J9 USB-C port...not working

    Unsolved voxl-2-mini
    5
    0 Votes
    5 Posts
    1k Views
    S
    @Vinny Thanks for all the info.
  • VOXL 2 not booting

    Unsolved voxl2 camera module voxl-2
    2
    1
    0 Votes
    2 Posts
    1k Views
    Alex KushleyevA
    @voxl-phoenix , this may be a hardware issue because VOXL2 will boot just fine without M0173 camera front end plugged in (if the hardware is OK). It is possible that one of the camera connectors (where M0173 plugs in) has broken off or is loose, causing a hardware failure. If you would like a better diagnosis, please share a video of the voxl2 not booting, so we can see the LEDs (i realize there are green leds on top and bottom, but the way your image shows, you can see both of them. Also, in this non-booting state, does the VOXL2 show up as any USB device when plugged into a linux machine using the main USB C connector? Alex
  • No WiFi with RTL8822cu module

    Unsolved voxl-2
    2
    0 Votes
    2 Posts
    774 Views
    Alex KushleyevA
    @astro_phil , unfortunately if the device is not automatically being detected by VOXL2, you may be on your own in terms of building the kernel module for it. Please search the forum for building kernel modules, as some users have tried this. Specifically, this one : https://forum.modalai.com/topic/3841/voxl2-kernel-version/ and maybe a few others as well. Alex
  • Connecting IP cameras to Ethernet and HUB add-on and GCS

    Unsolved voxl-2
    1
    3
    0 Votes
    1 Posts
    382 Views
    No one has replied
  • support for septentrio GNSS / GPS receiver modules

    Unsolved voxl-2
    9
    0 Votes
    9 Posts
    2k Views
    Eric KatzfeyE
    @Eric-Katzfey Or update to a newer compiler. I just tried this one: https://developer.arm.com/-/media/Files/downloads/gnu/14.2.rel1/binrel/arm-gnu-toolchain-14.2.rel1-x86_64-aarch64-none-linux-gnu.tar.xz and it fixes that issue. But then it fails on a couple of other issue in septentrio.cpp that are easy to fix. So the solution is probably to upgrade the compiler and then fix the new reported errors in septentrio.cpp.
  • SSH Reboot Not Working

    Unsolved voxl-2
    3
    0 Votes
    3 Posts
    576 Views
    M
    @Eric-Katzfey we are using A doodle radio Just found that reboot -f works. It's interesting weird that the network interface seems to not go down but all the services do - and don't come back.
  • Can't connect to drone from laptop using MAVSDK

    Unsolved mavsdk mavlink-server mavlink voxl-2
    2
    0 Votes
    2 Posts
    2k Views
    L
    UPDATE I've simplified my snippet and I'm now able to "connect" to the VOXL2 via MAVSDK. It's still now working as I would expect it to, but first, here's my new script: #!/usr/bin/env python3 import asyncio from mavsdk import System target_ip="192.168.1.187" target_port=14550 async def connect_to_drone(): print("Connecting to VOXL2...") # Create a System object with specific system ID and component ID # These match the IDs we're using in the heartbeat sender print("Creating System object...") drone = System() # Different connection string formats to try print("Connecting to drone...") await drone.connect(system_address=f"udp://{target_ip}:{target_port}") print("Waiting for drone to connect...") timeout = 60 # Extended timeout start_time = asyncio.get_event_loop().time() try: async for state in drone.core.connection_state(): print(f"Connection state: {state}") if state.is_connected: print(f"Connected to drone!") return drone # Check if we've timed out current_time = asyncio.get_event_loop().time() if current_time - start_time > timeout: print(f"Connection timed out after {timeout} seconds") break await asyncio.sleep(1) except Exception as e: print(f"Connection error: {e}") return None async def main(): # Try to connect to the drone drone = await connect_to_drone() # If connected, do something with the drone if drone and drone.core: try: # Print basic information info = await drone.info.get_version() print(f"Version Info: {info}") except Exception as e: print(f"Could not get info: {e}") if __name__ == "__main__": # Run the asyncio loop asyncio.run(main()) When I run this script I see only 3 logs: Connecting to VOXL2... Creating System object... Connecting to drone... When I adb shell and run voxl-inspect-mavlink mavlink_from_gcs I now see that the VOXL2 is receiving a heartbeat: ID Mavlink MSG Name Counter Hz 0 heartbeat 5 1.1 But like I mentioned above, the code doesn't execute past await drone.connect(system_address=f"udp://{target_ip}:{target_port}"). I've tried udpout and nothing changes.
  • Hires cam not working with voxl2

    Unsolved voxl-2
    14
    0 Votes
    14 Posts
    2k Views
    Alex KushleyevA
    @voxl-phoenix , I think you also mentioned that you tried swapping the cables between tracking and imx412 camera, right? If so, it seems something got damaged in the IMX412 camera during connecting / disconnecting. For disconnecting the cables, we suggest using a special tool, please see https://docs.modalai.com/micro-coax-user-guide/#-proper-cable-and-adapter-handling- . Also, it is hard to say for sure where exactly the issue is - M0173 board or IMX412 camera. the only good way find the cause is to replace components one at a time. Just to elaborate on the symptoms that you are seeing : voxl-camera-server -l command essentially probes all the cameras (based on the sensormodule files located in /usr/lib/camera). Probing involves turning the camera on via the reset GPIO and attempting to talk to the camera via I2c interface. If the camera responds, the probe is successful, otherwise failed. In your case, the probe of IMX412 failed, which means either the camera could not be turned on for various reasons or the i2c communication was not working. If you have another tracking camera AR0144, you could connect it instead of the IMX412 and see if the probe succeeds. You would need to add /usr/share/modalai/chi-cdk/ar0144/com.qti.sensormodule.ar0144_1.bin file to /usr/lib/camera (which is the AR0144 sensormodule for the camera slot 1, where the IMX412 is currently connected). Then if you run voxl-camera-server -l and detect two AR0144 cameras (3 cameras total) then i2c communication and power should be working). Alex
  • ov7251 tracking camera not being initialized with unsupported preview config

    Unsolved voxl-2
    17
    0 Votes
    17 Posts
    2k Views
    Alex KushleyevA
    @brianaustin great to hear, thanks for the update!
  • STPI

    Unsolved voxl-2
    2
    0 Votes
    2 Posts
    296 Views
    Eric KatzfeyE
    @Ted-Ferris What SDK are you on?
  • VOXL2 HITL

    Unsolved voxl-2
    10
    0 Votes
    10 Posts
    5k Views
    R
    @Eric-Katzfey , @MikeD and I were able to resolve the issue by swapping pins 2 and 3 on the MCBL-00091. We found the following post on the forum: https://forum.modalai.com/topic/3511/serial-port-closed-and-other-hitl-errors. One of the posts notes that in order to use the MCBL-00091, pins 2 and 3 need to be swapped. This appears to be documented here: https://docs.modalai.com/cable-userguides/#m0163-4-pin-jst-to-4-pin-jst-cross-over-example. Thanks for your help!
  • Ardupilot : connection with Mission Planner

    Unsolved voxl-2
    21
    0 Votes
    21 Posts
    9k Views
    Eric KatzfeyE
    @Kessie Excellent, glad to hear you got it working! And thanks for adding the details on what you had to do to the posting!
  • Issue Reading GPIO 1146 (Pin 6 on J10) on VOXL2

    Unsolved voxl-2-io
    2
    0 Votes
    2 Posts
    1k Views
    modaltbM
    Hi @Amir-Avni, Does your silkscreen on VOXL2 show M0154 or M0054? If M0054, it's 'hard coded' as an output only... behind a uni-directional level shifter..... If it's M0154, there's a directional level shifter in front of that GPIO that allows us to (with a kernel tweak) switch between UART and SPI. By default we are configured for UART use case, and the level shifter is set to allow an INPUT, by setting GPIO 67 low (as default), which is setup in device tree here, see "67" in modalai,gpio-init-output-low https://gitlab.com/voxl-public/system-image-build/meta-voxl2-bsp/-/blob/v1.8.02/recipes-kernel/linux-msm/files/dts/common/m0xxx-modalai-gpio.dtsi?ref_type=tags#L12 To enable VOXL2 J10 pin6 (gpio46) as an input, make sure gpio67 is set to low
  • m0065 connecting a sensor

    Unsolved voxl-2-io
    6
    0 Votes
    6 Posts
    1k Views
    Alex KushleyevA
    @andrevs01 , The documentation links I provided describe how to get M0065 board running in PX4 as a standard actuator that supports 8 PWM outputs. If you are familiar with PX4, GCS, Actuators, then look through those documentation pages and follow the setup. However, i don't have the full information about your hardware, so i don't know if you need some customizations: are you using voxl2 on a flying drone? if so, are you using a modalai ESC or another ESC? Are you planning to use M0065 board to generate pwm output for your ESC (if you are using a standard ESC that accepts PWM as control input) do you need to use PX4 for your application? the reason why I ask is that you can use M0065 pwm outputs without PX4 if you don't need PX4 at all. Alex
  • VOXL 2 IO Board troubleshooting - Driver will not start

    Unsolved voxl-2-io
    17
    1
    0 Votes
    17 Posts
    4k Views
    Alex KushleyevA
    @valvarez , yes, this is the expected correct behavior. I believe you were initially using older M0065 firmware (version 1) as well as older PX4 build which was working with that version of M0065 (VOXL2 IO board). However that release had some issues that were fixed and you should not use firmware version 1. The older PX4 version used a different (old) driver for the voxl2-io board, and you can tell that because the debug print was very short and it accepted SW version 1: SLPI: Detected M0065 protocol version. SW: 1, HW: 35 If you see that, it means you are using outdated (buggy) software. The latest (stable) firmware is verion 2 and the corresponding PX4 driver will require that version and print out a lot more information about the board and the VOXL2_IO params. Alex