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.

  • Regarding building the mavsdk-python Docker image.

    Unsolved voxl-2
    8
    2
    0 Votes
    8 Posts
    1k Views
    Eric KatzfeyE
    @cy208183395 Yes, well then that is your problem. When you try to run it on VOXL 2 and you don't have Docker installed on VOXL 2 then you will see an error like docker: command not found. You have to install Docker on VOXL 2.
  • Change PX4 to D0015 Architecture

    Unsolved voxl-2
    10
    0 Votes
    10 Posts
    2k Views
    Eric KatzfeyE
    @TomP Yes, should be in by end of the year.
  • QDL unable to flash image onto VOXL2

    Unsolved voxl-2
    7
    0 Votes
    7 Posts
    3k Views
    N
    Hey @user887 I attempted to QDL flash a "golden unit" rb5 but wasn't able to replicate the error you're experiencing. I would remove and reattach the SOM ensuring there isn't a loose connection to the rb5 board, remove any cameras or connectors, and trying a different USB cable in the case of a loose connection between the USB cable and rb5. Hope these tips help!
  • VOXL 2 Starling VS Fly4Future

    Unsolved voxl-2
    3
    0 Votes
    3 Posts
    1k Views
    VinnyV
    HI @Zarrar Just for correctness, we are not DJI and have no association with them Hi, I hope you are well. I need help in the selection of DJI VOXL 2 Starling
  • Connecting VOXL 2 Mini to Doodle Labs Helix

    voxl-2-mini
    2
    0 Votes
    2 Posts
    715 Views
    VinnyV
    @Moderator From a software viewpoint, yes, they should be identical due to the USB Host port connectivity. However, the reason why Doodle is not listed as one of our connectivity options on VOXL 2 Mini is due to power limitations. The VBUS of the USB Port J3 can only provide 900mA, which is less than 1/2 of what a Doodle radio asks for (most Doodle radios need 5V @ 2A). To try to use a Doodle on VOXL 2 Mini will require you to connect an external power supply as per Doodle's requirements and then use our USB connector for GND, D+, and D- only. Be sure somewhere in the system, specifically at the Doodle connectors, to connect the GNDs of the power supply and our USB GND to create a common DC GND reference, but to not introduce noise from the power supply into the USB signals. We do not normally do this, so we are not aware of any other caveats, but we can't guarantee 100% success either. Give it a try! Let us know if you need further guidance. Thanks
  • MIPI Connections

    Unsolved voxl-2
    1
    0 Votes
    1 Posts
    503 Views
    No one has replied
  • results

    Unsolved voxl-2-mini
    4
    2 Votes
    4 Posts
    914 Views
    Alex KushleyevA
    @tiralonghipol , very nice!! We love to see what our customers do with the products - we look forward to seeing more! Alex
  • Voxl IO on Voxl2 J19 port

    Unsolved voxl-2-io
    11
    0 Votes
    11 Posts
    3k Views
    Alex KushleyevA
    @xav04 , yes, please see https://docs.modalai.com/voxl2-io-user-guide/
  • M0173 Compatibility and Availability

    Unsolved voxl-2-mini
    1
    0 Votes
    1 Posts
    484 Views
    No one has replied
  • Camera Trigger Interface (Still Images)

    Unsolved voxl-2
    6
    0 Votes
    6 Posts
    1k Views
    Nathan Sullivan 0N
    @Alex-Kushleyev we needed three outputs and three inputs, so we ended up using an entirely different board (an AVR system) connected to the VOXL2 via ttyHS1 through the expansion board, and that seems to be doing what we need, with the added benefit of the pulldown resistors being built into that control board. There is certainly something odd about the PX4 build on this unit, both in terms of available camera controls and GPS options, which is the next thing we're trying to tackle. @restore unfotunately I'm under an NDA and can't say much about what we're doing with the Sony hardware, but I will say that their documented processes for the Raspberry Pi 4 also work on the Voxl2, as long as you have the USB3 available. Try not to use the SDK to trigger the camera though; the performance there isn't exactly consistent. The hardwired options (be it through the not-quite-USB port or the phsyical interface on something like an ILX-LR1) are rock solid, but as they're designed to be button-triggered, you'll need a resistor between your control board and some sort of transistor (2N222) and then control the actual interface with the transistor. Otherwise, the trigger input is looking for the output from its own source, which is an indeterminate voltage and will quite likely damage the VOXL. The transistor will take essentially whatever current you give it, so that resistor is also mandatory - 10kOhm works for me with the AVR 440 chip controlling it.
  • VOXL-ESC V2 : One of the ESC is not detected

    Unsolved voxl-2
    7
    0 Votes
    7 Posts
    1k Views
    wilkinsafW
    I found this by running ./voxl-esc-scan.py or voxl-esc and selecting detect...or scan I can not remember
  • IO board for PWM output using the 4in1 ESC M0138-1

    Unsolved voxl-2-io
    13
    0 Votes
    13 Posts
    3k Views
    Alex KushleyevA
    @restore , i don't think this module will work with VOXL2_IO because it seems the Seagull MAP2 interface expects direct connection to the I/O pins, which is not the case when using VOXL2_IO module. Alex
  • VOXL2 Unbricking Procedure not working "Waiting for EDL Device"

    Unsolved voxl-2
    7
    0 Votes
    7 Posts
    2k Views
    tomT
    @Chase-Riley Since you're getting no response from lsusb or dmesg I think the best path forward is an RMA: https://www.modalai.com/pages/rma
  • Attempt to improve odometry using Opticalflow(&rangefinder)

    Unsolved voxl-2
    2
    0 Votes
    2 Posts
    428 Views
    Jetson NanoJ
    @Chad-Sweet, @James-Strawson, @tom any updates?
  • VOXL2 RTSP decoding fails

    Unsolved voxl-2
    25
    0 Votes
    25 Posts
    7k Views
    Alex KushleyevA
    @Aaky, I see what you are asking. What is needed is the python binding to the C function int pipe_server_get_num_clients(int ch) , which is defined here pympa_create_pub already is set up to return the MPA channel number, so we would just need to use that channel number of checking the number of clients. I can implement this, but it will need to wait a few days. That is a good feature to have. If you would like to try implementing it yourself, you can add the bindings to : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-tools/-/blob/pympa-experimental/tools/pympa.cpp (add call to pipe_server_get_num_clients) in a similar way how other functions are called. add the actual python wrapper to: https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-tools/-/blob/pympa-experimental/tools/python/pympa.py then finally, when you call pympa_create_pub, save the pipe id and then pass it to check for clients. Alex
  • VOXL2 Mini / AR0144 J7 Group 1 / voxl-fsync-mod

    Unsolved voxl-2-mini
    4
    0 Votes
    4 Posts
    1k Views
    Kerry SnyderK
    I can confirm that multi-camera triggering works with a very minor patch: diff --git a/recipes-kernel/voxl-fysnc-mod/files/voxl-fsync-mod.c b/recipes-kernel/voxl-fysnc-mod/files/voxl-fsync-mod.c index 837dd21..730e374 100644 --- a/recipes-kernel/voxl-fysnc-mod/files/voxl-fsync-mod.c +++ b/recipes-kernel/voxl-fysnc-mod/files/voxl-fsync-mod.c @@ -24,7 +24,10 @@ * /sys/module/voxl_fsync_mod/parameters/pulse_width_us * - uint - the length of pulse to use in microseconds, default 10, 10us * - * /sys/module/voxl_fsync_mod/parameters/gpio_num + * /sys/module/voxl_fsync_mod/parameters/gpio1_num + * - uint - the GPIO number to use + * + * /sys/module/voxl_fsync_mod/parameters/gpio2_num * - uint - the GPIO number to use */ #define GPIO_OFFSET 1100 @@ -38,8 +41,10 @@ static uint pulse_width_us = 10; // module_param(pulse_width_us, uint, 0644); /* GPIO number */ -static uint gpio_num = 109; -module_param(gpio_num, uint, 0644); +static uint gpio1_num = 41; +module_param(gpio1_num, uint, 0644); +static uint gpio2_num = 114; +module_param(gpio2_num, uint, 0644); /* enable/disable the GPIO output and timestamps */ static int enabled = 0; @@ -143,8 +148,10 @@ static enum hrtimer_restart fsync_hrtimer_tick_cb(struct hrtimer *timer) { /* initialize on being enabled */ if (!initialized && enabled) { - gpio_direction_output((gpio_num + GPIO_OFFSET), 0); - gpio_export((gpio_num + GPIO_OFFSET), true); + gpio_direction_output((gpio1_num + GPIO_OFFSET), 0); + gpio_export((gpio1_num + GPIO_OFFSET), true); + gpio_direction_output((gpio2_num + GPIO_OFFSET), 0); + gpio_export((gpio2_num + GPIO_OFFSET), true); initialized = true; pr_info("voxl-fsync: initialized\n"); } @@ -153,7 +160,8 @@ static enum hrtimer_restart fsync_hrtimer_tick_cb(struct hrtimer *timer) hrtimer_forward_now(&fsync_hrtimer, ns_to_ktime(sampling_period_ns)); if (enabled) { - gpio_set_value((gpio_num + GPIO_OFFSET), 1); + gpio_set_value((gpio1_num + GPIO_OFFSET), 1); + gpio_set_value((gpio2_num + GPIO_OFFSET), 1); /* TIMESTAMP TIMESTAMP TIMESTAMP*/ mutex_lock(&fysnc_mutex); @@ -163,7 +171,8 @@ static enum hrtimer_restart fsync_hrtimer_tick_cb(struct hrtimer *timer) if(pulse_width_us > 0) udelay(pulse_width_us); - gpio_set_value((gpio_num + GPIO_OFFSET), 0); + gpio_set_value((gpio1_num + GPIO_OFFSET), 0); + gpio_set_value((gpio2_num + GPIO_OFFSET), 0); /* signal clients */ fsync_update_pending = 1;
  • PX4 params missing

    Unsolved voxl-2
    8
    0 Votes
    8 Posts
    1k Views
    R
    @riteshsharma do the SDK installation with ./install.sh -w option. This will wipe the entire file system including the /data partition which is usually untouched.
  • VOXL portal not working

    Unsolved voxl-2
    13
    1
    0 Votes
    13 Posts
    2k Views
    R
    @tom the full wipe SDK install sorted it out. Thanks
  • Dual Tracking

    Unsolved voxl-2
    4
    2
    0 Votes
    4 Posts
    899 Views
    Jetson NanoJ
    @Eric-Katzfey Understood. Thank you.
  • External FC

    Unsolved voxl-2
    4
    0 Votes
    4 Posts
    540 Views
    Jetson NanoJ
    @Eric-Katzfey Understood. Thanks My line of questioning in another topic I posted - " Attempt to reduce drift with the help of stereo camera " is similar. So, I'll close this and take your advice from that. Thanks again