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

ModalAI Forum

  1. ModalAI Support Forum
  2. Ask your questions right here!
  3. VOXL2 IO Board and External ESCs - voxl2-io driver fails to initialize

VOXL2 IO Board and External ESCs - voxl2-io driver fails to initialize

Scheduled Pinned Locked Moved Ask your questions right here!
10 Posts 2 Posters 1.4k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Denver HopkinsD Offline
    Denver HopkinsD Offline
    Denver Hopkins
    wrote on last edited by
    #1

    Originally posted this elsewhere a couple of days ago and on seeing no replies after a couple of days, realized that maybe it should be posted here for your engineers to see it.

    We'd appreciate suggestions for troubleshooting as it seems at this point we're making little progress. And, of course, if we can provide additional info to make it easier, please let us know. Thanks!

    SUMMARY

    VOXL2-IO driver is failing to initialize. When we 'scan' and 'detect' using utilities of the voxl-2-io wizard, the M00065 is detected, however there appears to be no UID or FW hash values which makes us suspicious of its response. We have followed instruction in the forum topic ' VOXL 2 IO Board troubleshooting - Driver will not start' at https://forum.modalai.com/topic/3242/voxl-2-io-board-troubleshooting-driver-will-not-start. Platform SDK and VOXL IO Board firmware have been updated to latest released versions (see 'ENVIRONMENT' above).

    'Spin' command in the voxl-2-io wizard drives Motor1 (on PWM Channel 1) but none of the others. We are not able to drive motors from QGC.

    And finally, upon startup, there is no PWM signal. Not even the idle/disarmed pulse sent right after power on to stop ESCs timing out, which causes an Arming Timeout to occur on ESCs.

    More specific observations follow below.

    OUR ENVIRONMENT

    VOXL2
    system-image: 1.8.02-M0054-14.1a-perf
    kernel: #1 SMP PREEMPT Mon Nov 11 22:08:01 UTC 2024 4.19.125
    hw platform: M0054
    mach.var: 1.0.0
    voxl-suite: 1.4.0

    VOXL2 IO Board w/ Firmware upgraded to 'VOXL2 IO FW v1_35_58c82813' using procedure at https://docs.modalai.com/voxl2-io-firmware/#via-voxl-2-command-line-tools. (NOTE: Upgrade seemed to go flawlessly.)

    ESCs Configured as follows:

    Pulse width zero throttle = 1050 us
    Pulse width full throttle = 2000 us
    Pulse width center = 1050 us
    Pulse deadband = 20 us

    Doodle Labs Mini OEM Mesh Rider (915 + 2.4)
    UXV SROC Controller
    Maxon EC69 Motors PN 725770
    Maxon UAV-ESC 52/30 PN 654541

    OBSERVATIONS

    OBSERVATION #1

    During startup (see 'PX4 STARTUP LOG' that follows), when PX4 attempts to detect the M0065 board, we expect to see a UID value, current FW version, and a hash value like this example from the forum topic 'VOXL 2 IO Board troubleshooting - Driver will not start' at https://forum.modalai.com/topic/3242/voxl-2-io-board-troubleshooting-driver-will-not-start/6:

    INFO  [muorb] SLPI: VOXL2_IO: Detecting M0065 board...
    INFO  [muorb] SLPI: VOXL2_IO: 	VOXL2_IO ID: 0
    INFO  [muorb] SLPI: VOXL2_IO: 	Board Type : 35: ModalAi I/O Expander (M0065)
    INFO  [muorb] SLPI: VOXL2_IO: 	Unique ID  : 0x4304296039364B560671FF36
    INFO  [muorb] SLPI: VOXL2_IO: 	Firmware   : version    2, hash f94baad1
    INFO  [muorb] SLPI: VOXL2_IO: 	Bootloader : version    0, hash 17147346*
    INFO  [muorb] SLPI: VOXL2_IO: 	Reply time : 2584us
    

    Instead our PX4 log indicates no version info response from VOXL2_IO and Driver initialization fails.:

    INFO  [muorb] SLPI: VOXL2_IO: M0065 using external RC
    INFO  [muorb] SLPI: VOXL2_IO: Driver starting
    INFO  [uORB] Advertising remote topic sensor_baro
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_BAUD  : 921600
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC1 : 101
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC2 : 102
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC3 : 103
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC4 : 104
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC5 : 0
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC6 : 0
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC7 : 0
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC8 : 0
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_DIS   : 1000
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_MIN   : 1100
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_MAX   : 2000
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_CMIN  : 1050
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_CMAX  : 2000
    INFO  [muorb] SLPI: VOXL2_IO: 
    INFO  [muorb] SLPI: VOXL2_IO: Opening UART device 2, baud rate 921600
    INFO  [muorb] SLPI: VOXL2_IO: Successfully opened UART device
    INFO  [muorb] SLPI: VOXL2_IO: Detecting M0065 board...
    ERROR [muorb] SLPI: VOXL2_IO: Board version info response timeout (2 retries left)
    ERROR [muorb] SLPI: VOXL2_IO: Board version info response timeout (1 retries left)
    ERROR [muorb] SLPI: VOXL2_IO: Board version info response timeout (0 retries left)
    ERROR [muorb] SLPI: VOXL2_IO: Could not detect the board
    ERROR [muorb] SLPI: VOXL2_IO: Driver initialization failed. Exiting
    INFO  [muorb] SLPI: VOXL2_IO: Closing uart port
    ERROR [muorb] SLPI: Task start failed (-1)
    ERROR [muorb] SLPI: Failed to execute command: voxl2_io start -e
    INFO  [qshell] cmd returned with: -1
    INFO  [qshell] qshell return value timestamp: 90708410, local time: 90709998
    ERROR [qshell] Command failed
    

    Note also that when we execute the voxl-2-io 'spin' utility (see included 'SPIN LOG'), it's log does indicate successful detection of an ESC, but lacks UID, hash, and FW version is '1'. It looks to us like it isn't responding:

    INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 921600
    ID         : 0
    Board      : version 35: ModalAi I/O Expander (M0065)
    UID        : 0x000000000000000000000000
    Firmware   : version    1, hash 
    Bootloader : version    0, hash
    

    FULL PX4 STARTUP LOG

    voxl2:/$ systemctl stop voxl-px4
    voxl2:/$ voxl-px4 start -d
    [INFO] Reading from /etc/modalai/voxl-px4.conf
    Found DSP signature file
    [INFO] Daemon mode enabled
    
    *************************
    AIRFRAME=MULTICOPTER
    GPS=NONE
    RC=EXTERNAL
    ESC=VOXL2_IO_PWM_ESC
    POWER MANAGER=NONE
    AIRSPEED SENSOR=NONE
    DISTANCE SENSOR=NONE
    OSD=DISABLE
    DAEMON_MODE=ENABLE
    SENSOR_CAL=ACTUAL
    ARTIFACT_MODE=DISABLE
    EXTRA STEPS:
    *************************
    
    INFO  [px4] mlockall() enabled. PX4's virtual address space is locked into RAM.
    INFO  [px4] assuming working directory is rootfs, no symlinks needed.
    INFO  [muorb] Got muorb init command
    Sending initialization request
    Got topic data before configuration complete
    Got topic data before configuration complete
    Got topic data before configuration complete
    Got topic data before configuration complete
    Got topic data before configuration complete
    Got topic data before configuration complete
    Got topic data before configuration complete
    Got topic data before configuration complete
    Got topic data before configuration complete
    Got topic data before configuration complete
    Got topic data before configuration complete
    Got topic data before configuration complete
    Got topic data before configuration complete
    INFO  [muorb] SLPI: muorb aggregator thread running
    INFO  [muorb] muorb protobuf initalize method succeeded
    INFO  [muorb] succesfully did ADVERTISE_TEST_TYPE
    INFO  [muorb] SLPI: Creating pthread test_MUORB
    
    INFO  [muorb] SLPI: Successfully created px4 task PX4_test_MUORB with tid 2097656
    INFO  [muorb] succesfully did SUBSCRIBE_TEST_TYPE
    INFO  [muorb] SLPI: Creating pthread test_MUORB
    
    INFO  [muorb] SLPI: Successfully created px4 task PX4_test_MUORB with tid 2097655
    INFO  [muorb] succesfully did TOPIC_TEST_TYPE
    INFO  [muorb] SLPI: Creating pthread test_MUORB
    
    INFO  [muorb] SLPI: Successfully created px4 task PX4_test_MUORB with tid 2097654
    INFO  [muorb] SLPI: Creating pthread test_MUORB
    
    INFO  [muorb] succesfully did UNSUBSCRIBE_TEST_TYPE
    INFO  [muorb] SLPI: Successfully created px4 task PX4_test_MUORB with tid 2097653
    INFO  [muorb] muorb test passed
    
    ______  __   __    ___ 
    | ___ \ \ \ / /   /   |
    | |_/ /  \ V /   / /| |
    |  __/   /   \  / /_| |
    | |     / /^\ \ \___  |
    \_|     \/   \/     |_/
    
    px4 starting.
    
    INFO  [muorb] SLPI: Advertising remote topic log_message
    INFO  [px4] startup script: /bin/sh /usr/bin/voxl-px4-start 0
    INFO  [parameters] Starting param sync THREAD
    
    *************************
    AIRFRAME: MULTICOPTER
    GPS: NONE
    RC: EXTERNAL
    ESC: VOXL2_IO_PWM_ESC
    POWER MANAGER: NONE
    AIRSPEED SENSOR: NONE
    DISTANCE SENSOR: NONE
    OSD: DISABLE
    ARTIFACT_MODE: DISABLE
    EXTRA STEPS:
    	
    *************************
    
    Running on M0054
    INFO  [muorb] SLPI: Starting param sync THREAD
    INFO  [muorb] SLPI: before starting the qshell_entry task
    INFO  [muorb] SLPI: Creating pthread qshell
    
    INFO  [muorb] SLPI: Successfully created px4 task PX4_qshell with tid 2097652
    INFO  [muorb] SLPI: qshell entry.....
    INFO  [muorb] SLPI: after starting the qshell_entry task
    INFO  [muorb] SLPI: Init app map initialized
    INFO  [param] selected parameter default file /data/px4/param/parameters
    INFO  [muorb] SLPI: Marking DeviceNode(parameter_client_reset_request) as advertised in process_remote_topic
    INFO  [uORB] Marking DeviceNode(parameter_client_reset_response) as advertised in process_remote_topic
    INFO  [muorb] SLPI: Advertising remote topic parameter_update
    INFO  [muorb] SLPI: Marking DeviceNode(parameter_client_set_value_request) as advertised in process_remote_to
    INFO  [uORB] Marking DeviceNode(parameter_server_set_used_request) as advertised in process_remote_topic
    INFO  [muorb] SLPI: Marking DeviceNode(parameter_server_set_used_response) as advertised in process_remote_to
    INFO  [uORB] Marking DeviceNode(parameter_client_set_value_response) as advertised in process_remote_topic
    INFO  [parameters] BSON document size 3005 bytes, decoded 3005 bytes (INT32:35, FLOAT:103)
    INFO  [logger] logger started (mode=all)
    Starting IMU driver with no rotation
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: icm42688p start -s
    INFO  [muorb] SLPI:   arg0 = 'icm42688p'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [muorb] SLPI:   arg2 = '-s'
    
    INFO  [muorb] SLPI: *** SPI Device ID 0x26000a 2490378
    INFO  [uORB] Advertising remote topic sensor_accel
    INFO  [uORB] Advertising remote topic sensor_gyro
    INFO  [qshell] Send cmd: 'icm42688p start -s'
    INFO  [muorb] SLPI: ICM42688P::probe successful!
    INFO  [muorb] SLPI: on SPI bus 1
    INFO  [muorb] SLPI: icm42688p #0 on SPI bus 1
    INFO  [muorb] SLPI: 
    
    INFO  [muorb] SLPI: >>> ICM42688P this: b25ffd38
    INFO  [muorb] SLPI: Ok executing command: icm42688p start -s
    INFO  [uORB] Advertising remote topic qshell_retval
    INFO  [muorb] SLPI: >>> ICM42688P this: b25ffd38
    INFO  [qshell] qshell return value timestamp: 90293111, local time: 90297992
    INFO  [muorb] SLPI: >>> ICM42688P this: b25ffd38
    INFO  [muorb] SLPI: Register interrupt b214ec48 e61f670c b25ffd38
    INFO  [uORB] Advertising remote topic sensor_gyro_fifo
    INFO  [uORB] Advertising remote topic sensor_accel_fifo
    INFO  [uORB] Advertising remote topic imu_server
    INFO  [qshell] Send cmd: 'icp101xx start -I -b 5'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: icp101xx start -I -b 5
    INFO  [muorb] SLPI:   arg0 = 'icp101xx'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [muorb] SLPI:   arg2 = '-I'
    
    INFO  [muorb] SLPI:   arg3 = '-b'
    
    INFO  [muorb] SLPI:   arg4 = '5'
    
    INFO  [muorb] SLPI: *** I2C Device ID 0xb76329 12018473
    INFO  [muorb] SLPI: Set up I2C bus mutex for bus 5
    INFO  [muorb] SLPI: icp101xx #0 on I2C bus 5
    INFO  [muorb] SLPI:  address 0x63
    INFO  [muorb] SLPI: 
    
    INFO  [muorb] SLPI: Ok executing command: icp101xx start -I -b 5
    INFO  [qshell] qshell return value timestamp: 90326507, local time: 90328104
    Looking for qmc5883l magnetometer
    INFO  [qshell] Send cmd: 'qmc5883l start -R 10 -X -b 1'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: qmc5883l start -R 10 -X -b 1
    INFO  [muorb] SLPI:   arg0 = 'qmc5883l'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [muorb] SLPI:   arg2 = '-R'
    
    INFO  [muorb] SLPI:   arg3 = '10'
    
    INFO  [muorb] SLPI:   arg4 = '-X'
    
    INFO  [muorb] SLPI:   arg5 = '-b'
    
    INFO  [muorb] SLPI:   arg6 = '1'
    
    INFO  [muorb] SLPI: *** I2C Device ID 0x80d09 527625
    INFO  [muorb] SLPI: Set up I2C bus mutex for bus 1
    ERROR [muorb] SLPI: i2c probe failed
    INFO  [muorb] SLPI: PX4_qshell: no instance started (no device on bus?)
    ERROR [muorb] SLPI: Failed to execute command: qmc5883l start -R 10 -X -b 1
    INFO  [qshell] cmd returned with: -1
    INFO  [qshell] qshell return value timestamp: 90361561, local time: 90365409
    ERROR [qshell] Command failed
    Looking for ist8310 magnetometer
    INFO  [qshell] Send cmd: 'ist8310 start -R 10 -X -b 1'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: ist8310 start -R 10 -X -b 1
    INFO  [muorb] SLPI:   arg0 = 'ist8310'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [muorb] SLPI:   arg2 = '-R'
    
    INFO  [muorb] SLPI:   arg3 = '10'
    
    INFO  [muorb] SLPI:   arg4 = '-X'
    
    INFO  [muorb] SLPI:   arg5 = '-b'
    
    INFO  [muorb] SLPI:   arg6 = '1'
    
    INFO  [muorb] SLPI: *** I2C Device ID 0x60e09 396809
    INFO  [muorb] SLPI: Set up I2C bus mutex for bus 1
    ERROR [muorb] SLPI: i2c probe failed
    INFO  [muorb] SLPI: PX4_qshell: no instance started (no device on bus?)
    ERROR [muorb] SLPI: Failed to execute command: ist8310 start -R 10 -X -b 1
    INFO  [qshell] cmd returned with: -1
    INFO  [qshell] qshell return value timestamp: 90397222, local time: 90398475
    ERROR [qshell] Command failed
    Looking for ncp5623c RGB LED
    INFO  [muorb] SLPI: >>> ICM42688P this: b25ffd38
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: rgbled_ncp5623c start -X -b 1 -f 400 -a 56
    INFO  [muorb] SLPI:   arg0 = 'rgbled_ncp5623c'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [muorb] SLPI:   arg2 = '-X'
    
    INFO  [muorb] SLPI:   arg3 = '-b'
    
    INFO  [muorb] SLPI:   arg4 = '1'
    
    INFO  [muorb] SLPI:   arg5 = '-f'
    
    INFO  [muorb] SLPI:   arg6 = '400'
    
    INFO  [muorb] SLPI:   arg7 = '-a'
    
    INFO  [muorb] SLPI:   arg8 = '56'
    
    INFO  [qshell] Send cmd: 'rgbled_ncp5623c start -X -b 1 -f 400 -a 56'
    INFO  [muorb] SLPI: *** I2C Device ID 0x7b3809 8075273
    INFO  [muorb] SLPI: Set up I2C bus mutex for bus 1
    INFO  [muorb] SLPI: Set i2c address 0x38, fd 3
    ERROR [muorb] SLPI: i2c probe failed
    INFO  [muorb] SLPI: PX4_qshell: no instance started (no device on bus?)
    ERROR [muorb] SLPI: Failed to execute command: rgbled_ncp5623c start -X -b 1 -f 400 -a 56
    INFO  [qshell] cmd returned with: -1
    INFO  [qshell] qshell return value timestamp: 90438912, local time: 90440578
    ERROR [qshell] Command failed
    Starting VOXL IO for PWM ESC without SBUS RC
    INFO  [qshell] Send cmd: 'voxl2_io start -e'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: voxl2_io start -e
    INFO  [muorb] SLPI:   arg0 = 'voxl2_io'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [muorb] SLPI:   arg2 = '-e'
    
    INFO  [uORB] Advertising remote topic actuator_outputs
    INFO  [muorb] SLPI: VOXL2_IO: M0065 using external RC
    INFO  [muorb] SLPI: VOXL2_IO: Driver starting
    INFO  [uORB] Advertising remote topic sensor_baro
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_BAUD  : 921600
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC1 : 101
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC2 : 102
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC3 : 103
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC4 : 104
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC5 : 0
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC6 : 0
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC7 : 0
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC8 : 0
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_DIS   : 1000
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_MIN   : 1100
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_MAX   : 2000
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_CMIN  : 1050
    INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_CMAX  : 2000
    INFO  [muorb] SLPI: VOXL2_IO: 
    INFO  [muorb] SLPI: VOXL2_IO: Opening UART device 2, baud rate 921600
    INFO  [muorb] SLPI: VOXL2_IO: Successfully opened UART device
    INFO  [muorb] SLPI: VOXL2_IO: Detecting M0065 board...
    ERROR [muorb] SLPI: VOXL2_IO: Board version info response timeout (2 retries left)
    ERROR [muorb] SLPI: VOXL2_IO: Board version info response timeout (1 retries left)
    ERROR [muorb] SLPI: VOXL2_IO: Board version info response timeout (0 retries left)
    ERROR [muorb] SLPI: VOXL2_IO: Could not detect the board
    ERROR [muorb] SLPI: VOXL2_IO: Driver initialization failed. Exiting
    INFO  [muorb] SLPI: VOXL2_IO: Closing uart port
    ERROR [muorb] SLPI: Task start failed (-1)
    ERROR [muorb] SLPI: Failed to execute command: voxl2_io start -e
    INFO  [qshell] cmd returned with: -1
    INFO  [qshell] qshell return value timestamp: 90708410, local time: 90709998
    ERROR [qshell] Command failed
    INFO  [qshell] Send cmd: 'sensors start'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: sensors start
    INFO  [muorb] SLPI:   arg0 = 'sensors'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [uORB] Advertising remote topic sensor_selection
    INFO  [uORB] Advertising remote topic sensors_status_imu
    INFO  [uORB] Advertising remote topic vehicle_acceleration
    INFO  [uORB] Advertising remote topic vehicle_angular_velocity
    INFO  [uORB] Advertising remote topic sensor_combined
    INFO  [uORB] Advertising remote topic vehicle_air_data
    INFO  [uORB] Advertising remote topic vehicle_gps_position
    INFO  [uORB] Advertising remote topic vehicle_imu
    INFO  [uORB] Advertising remote topic vehicle_imu_status
    INFO  [muorb] SLPI: Ok executing command: sensors start
    INFO  [qshell] qshell return value timestamp: 90880763, local time: 90883241
    INFO  [qshell] Send cmd: 'ekf2 start'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: ekf2 start
    INFO  [muorb] SLPI:   arg0 = 'ekf2'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [uORB] Advertising remote topic sensors_status_baro
    INFO  [uORB] Advertising remote topic vehicle_attitude
    INFO  [uORB] Advertising remote topic vehicle_local_position
    INFO  [uORB] Advertising remote topic estimator_event_flags
    INFO  [uORB] Advertising remote topic estimator_innovation_test_ratios
    INFO  [uORB] Advertising remote topic estimator_innovation_variances
    INFO  [uORB] Advertising remote topic estimator_innovations
    INFO  [uORB] Advertising remote topic estimator_sensor_bias
    INFO  [uORB] Advertising remote topic estimator_states
    INFO  [uORB] Advertising remote topic estimator_status_flags
    INFO  [uORB] Advertising remote topic estimator_status
    INFO  [muorb] SLPI: Ok executing command: ekf2 start
    INFO  [uORB] Advertising remote topic ekf2_timestamps
    INFO  [qshell] qshell return value timestamp: 91260100, local time: 91262420
    INFO  [uORB] Advertising remote topic vehicle_odometry
    INFO  [uORB] Advertising remote topic estimator_aid_src_baro_hgt
    INFO  [uORB] Advertising remote topic estimator_aid_src_fake_pos
    INFO  [uORB] Advertising remote topic estimator_aid_src_fake_hgt
    INFO  [uORB] Advertising remote topic estimator_aid_src_gravity
    INFO  [qshell] Send cmd: 'mc_pos_control start'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: mc_pos_control start
    INFO  [muorb] SLPI:   arg0 = 'mc_pos_control'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [uORB] Advertising remote topic takeoff_status
    INFO  [muorb] SLPI: Ok executing command: mc_pos_control start
    INFO  [qshell] qshell return value timestamp: 91371052, local time: 91372794
    INFO  [qshell] Send cmd: 'mc_att_control start'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: mc_att_control start
    INFO  [muorb] SLPI:   arg0 = 'mc_att_control'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [muorb] SLPI: Ok executing command: mc_att_control start
    INFO  [qshell] qshell return value timestamp: 91413593, local time: 91416091
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: mc_rate_control start
    INFO  [muorb] SLPI:   arg0 = 'mc_rate_control'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [qshell] Send cmd: 'mc_rate_control start'
    INFO  [uORB] Advertising remote topic rate_ctrl_status
    INFO  [muorb] SLPI: Ok executing command: mc_rate_control start
    INFO  [qshell] qshell return value timestamp: 91539655, local time: 91542694
    INFO  [qshell] Send cmd: 'mc_hover_thrust_estimator start'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: mc_hover_thrust_estimator start
    INFO  [muorb] SLPI:   arg0 = 'mc_hover_thrust_estimator'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [muorb] SLPI: Ok executing command: mc_hover_thrust_estimator start
    INFO  [qshell] qshell return value timestamp: 91585850, local time: 91587809
    INFO  [qshell] Send cmd: 'mc_autotune_attitude_control start'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: mc_autotune_attitude_control start
    INFO  [muorb] SLPI:   arg0 = 'mc_autotune_attitude_control'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [uORB] Advertising remote topic autotune_attitude_control_status
    INFO  [muorb] SLPI: Ok executing command: mc_autotune_attitude_control start
    INFO  [qshell] qshell return value timestamp: 91631578, local time: 91634001
    INFO  [qshell] Send cmd: 'land_detector start multicopter'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: land_detector start multicopter
    INFO  [muorb] SLPI:   arg0 = 'land_detector'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [muorb] SLPI:   arg2 = 'multicopter'
    
    INFO  [muorb] SLPI: Ok executing command: land_detector start multicopter
    INFO  [qshell] qshell return value timestamp: 91677358, local time: 91679935
    INFO  [uORB] Advertising remote topic vehicle_land_detected
    INFO  [qshell] Send cmd: 'manual_control start'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: manual_control start
    INFO  [muorb] SLPI:   arg0 = 'manual_control'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [muorb] SLPI: Ok executing command: manual_control start
    INFO  [qshell] qshell return value timestamp: 91741340, local time: 91744122
    INFO  [uORB] Advertising remote topic manual_control_setpoint
    INFO  [qshell] Send cmd: 'control_allocator start'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: control_allocator start
    INFO  [muorb] SLPI:   arg0 = 'control_allocator'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [uORB] Advertising remote topic control_allocator_status
    INFO  [uORB] Marking DeviceNode(control_allocator_status) as advertised in process_remote_topic
    INFO  [uORB] Advertising remote topic actuator_motors
    INFO  [uORB] Advertising remote topic actuator_servos
    INFO  [uORB] Advertising remote topic actuator_servos_trim
    INFO  [muorb] SLPI: Ok executing command: control_allocator start
    INFO  [qshell] qshell return value timestamp: 92109870, local time: 92111836
    INFO  [qshell] Send cmd: 'load_mon start'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: load_mon start
    INFO  [muorb] SLPI:   arg0 = 'load_mon'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [muorb] SLPI: Ok executing command: load_mon start
    INFO  [uORB] Advertising remote topic cpuload
    INFO  [qshell] qshell return value timestamp: 92145480, local time: 92148536
    INFO  [qshell] Send cmd: 'commander start'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: commander start
    INFO  [muorb] SLPI:   arg0 = 'commander'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [muorb] SLPI: Creating pthread commander
    
    INFO  [muorb] SLPI: Successfully created px4 task PX4_commander with tid 2097641
    INFO  [uORB] Advertising remote topic led_control
    INFO  [muorb] SLPI: LED: open /dev/led0 failed (22)
    INFO  [uORB] Advertising remote topic tune_control
    INFO  [muorb] SLPI: Ok executing command: commander start
    INFO  [qshell] qshell return value timestamp: 92586069, local time: 92586898
    INFO  [uORB] Advertising remote topic event
    INFO  [uORB] Advertising remote topic health_report
    INFO  [uORB] Advertising remote topic failsafe_flags
    INFO  [uORB] Advertising remote topic actuator_armed
    INFO  [uORB] Advertising remote topic vehicle_control_mode
    INFO  [uORB] Advertising remote topic vehicle_thrust_setpoint
    INFO  [uORB] Advertising remote topic vehicle_torque_setpoint
    INFO  [uORB] Advertising remote topic vehicle_status
    INFO  [uORB] Advertising remote topic failure_detector_status
    INFO  [uORB] Advertising remote topic vehicle_attitude_setpoint
    INFO  [uORB] Advertising remote topic vehicle_rates_setpoint
    INFO  [qshell] Send cmd: 'flight_mode_manager start'
    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: flight_mode_manager start
    INFO  [muorb] SLPI:   arg0 = 'flight_mode_manager'
    
    INFO  [muorb] SLPI:   arg1 = 'start'
    
    INFO  [uORB] Advertising remote topic vehicle_command
    INFO  [muorb] SLPI: Ok executing command: flight_mode_manager start
    INFO  [qshell] qshell return value timestamp: 92700683, local time: 92703821
    INFO  [dataman] data manager file '/data/px4/dataman' size is 7866640 bytes
    INFO  [muorb] SLPI: Advertising remote topic transponder_report
    INFO  [muorb] SLPI: Advertising remote topic rtl_time_estimate
    INFO  [muorb] SLPI: Advertising remote topic position_setpoint_triplet
    INFO  [modal_io_bridge] Modal IO Bridge driver starting
    INFO  [mavlink] mode: Onboard, data rate: 100000 B/s on udp port 14556 remote port 14557
    INFO  [muorb] SLPI: Advertising remote topic telemetry_status
    INFO  [mavlink] partner IP: 127.0.0.1
    INFO  [muorb] SLPI: Advertising remote topic vehicle_visual_odometry
    INFO  [muorb] SLPI: Advertising remote topic offboard_control_mode
    INFO  [muorb] SLPI: Advertising remote topic obstacle_distance
    INFO  [uORB] Advertising remote topic estimator_aid_src_ev_hgt
    INFO  [uORB] Advertising remote topic estimator_aid_src_ev_pos
    INFO  [uORB] Advertising remote topic estimator_aid_src_ev_vel
    INFO  [uORB] Advertising remote topic estimator_aid_src_ev_yaw
    INFO  [muorb] SLPI: Advertising remote topic timesync_status
    INFO  [muorb] SLPI: Marking DeviceNode(vehicle_command_ack) as advertised in process_remote_topic
    INFO  [mavlink] mode: Normal, data rate: 100000 B/s on udp port 14558 remote port 14559
    INFO  [muorb] SLPI: Marking DeviceNode(telemetry_status) as advertised in process_remote_topic
    INFO  [uORB] Advertising remote topic actuator_controls_status_0
    INFO  [mavlink] MAVLink only on localhost (set param MAV_{i}_BROADCAST = 1 to enable network)
    INFO  [px4] Startup script returned successfully
    

    APPENDED TO PX4 STARTUP LOG UPON STARTING VOXL2-IO (see separate 'VOXL2-IO LOG' that follows)

    INFO  [muorb] SLPI: Marking DeviceNode(qshell_req) as advertised in process_remote_topic
    INFO  [muorb] SLPI: qshell gotten: voxl2-io start
    ERROR [muorb] SLPI: Command voxl2-io not found
    ERROR [muorb] SLPI: Failed to execute command: voxl2-io start
    And the VOXL2-IO LOG:
    
    voxl2:/$ px4-qshell voxl2-io start
    INFO  [qshell] Send cmd: 'voxl2-io start'
    INFO  [qshell] cmd returned with: 1
    INFO  [qshell] qshell return value timestamp: 300755910, local time: 300757780
    ERROR [qshell] Command failed
    

    OBSERVATION #2

    When running the Spin utility in voxl-2-io (See 'SPIN LOG' that follows), we expect all motors to spin (is this wrong?). Instead, Motor1 is driven at ~1100 μs and all others at only ~1000 μs. We have measured this on an oscilloscope directly from J1 on VOXL2 IO Board, and have observed the same from Maxon EPOS ESC utility:

    Observed on ESC1:
    Frequency actual value = 400 Hz
    Pulse width actual value = 1101 μs
    Throttle level actual value = 3%
    Target Velocity: 217 RPM
    Velocity Demand Value (Output): 300 RPM
    Velocity Actual Value Avg (Output): 300 RPM

    Observed on ESC2:
    Frequency actual value = 400 Hz
    Pulse width actual value = 999 μs
    Throttle level actual value = 0%
    Target Velocity: 0 RPM
    Velocity Demand Value (Output): 0 RPM
    Velocity Actual Value Avg (Output): 0 RPM

    Observed on ESC3:
    Frequency actual value = 400 Hz
    Pulse width actual value = 999 μs
    Throttle level actual value = 0%
    Target Velocity: 0 RPM
    Velocity Demand Value (Output): 0 RPM
    Velocity Actual Value Avg (Output): 0 RPM

    Observed on ESC4:
    Frequency actual value = 400 Hz
    Pulse width actual value = 999 μs
    Throttle level actual value = 0%
    Target Velocity: 0 RPM
    Velocity Demand Value (Output): 0 RPM
    Velocity Actual Value Avg (Output): 0 RPM

    And, the SPIN LOG:

    enabling bridge
    detected voxl-px4 is enabled
    Removed /etc/systemd/system/multi-user.target.wants/voxl-px4.service.
    detected voxl-px4 is running, stopping it now
    bridge enabled
    [INFO] Detected VOXL2 IO on default port (2).
    Detected Python version : 3.6.9 (default, Mar 10 2023, 16:46:00) 
    [GCC 8.4.0]
    Found voxl-esc tools bin version: 1.9
    INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 2000000
    Sending library name request: libslpi_qrb5165_io.so
    Sending initialization request
    INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 250000
    INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 921600
    INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 921600
    	ID         : 0
    	Board      : version 35: ModalAi I/O Expander (M0065)
    	UID        : 0x000000000000000000000000
    	Firmware   : version    1, hash 
    	Bootloader : version    0, hash 
    
    ---------------------
    
    WARNING: skipping user prompt to start the test due to override
    
    [0.019] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
    [0.039] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
    [0.059] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
    [0.079] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
    --- CUT FOR BREVITY ---
    [4.940] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
    [4.960] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
    [4.980] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
    [5.000] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
    Finished!
    [4.999678] TX=2508, RX=4 packets, RX CRC ERRORS=0
    Average RPMs: 0.00 0.00 0.00 0.00
    Average RPM deviation between ESCs : 0.00
    Detected Python version : 3.6.9 (default, Mar 10 2023, 16:46:00) 
    [GCC 8.4.0]
    Found voxl-esc tools bin version: 1.9
    INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 2000000
    Sending library name request: libslpi_qrb5165_io.so
    Sending initialization request
    INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 250000
    INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 921600
    INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 921600
    	ID         : 0
    	Board      : version 35: ModalAi I/O Expander (M0065)
    	UID        : 0x000000000000000000000000
    	Firmware   : version    1, hash 
    	Bootloader : version    0, hash 
    
    ---------------------
    
    ERROR: Specified ESC ID not found--exiting.
    Detected Python version : 3.6.9 (default, Mar 10 2023, 16:46:00) 
    [GCC 8.4.0]
    Found voxl-esc tools bin version: 1.9
    INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 2000000
    Sending library name request: libslpi_qrb5165_io.so
    Sending initialization request
    INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 250000
    INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 921600
    INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 921600
    	ID         : 0
    	Board      : version 35: ModalAi I/O Expander (M0065)
    	UID        : 0x000000000000000000000000
    	Firmware   : version    1, hash 
    	Bootloader : version    0, hash 
    
    ---------------------
    
    ERROR: Specified ESC ID not found--exiting.
    Detected Python version : 3.6.9 (default, Mar 10 2023, 16:46:00) 
    [GCC 8.4.0]
    Found voxl-esc tools bin version: 1.9
    INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 2000000
    Sending library name request: libslpi_qrb5165_io.so
    Sending initialization request
    INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 250000
    INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 921600
    INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 921600
    	ID         : 0
    	Board      : version 35: ModalAi I/O Expander (M0065)
    	UID        : 0x000000000000000000000000
    	Firmware   : version    1, hash 
    	Bootloader : version    0, hash 
    
    ---------------------
    
    ERROR: Specified ESC ID not found--exiting.
    disabling bridge
    re-enabling voxl-px4
    Created symlink /etc/systemd/system/multi-user.target.wants/voxl-px4.service → /etc/systemd/system/voxl-px4.service.
    restarting voxl-px4
    bridge disabled
    DONE
    
    1 Reply Last reply
    0
    • Denver HopkinsD Offline
      Denver HopkinsD Offline
      Denver Hopkins
      wrote on last edited by
      #2

      @Moderator @modaltb - Anyone have any suggestions here? We've ordered another IO Board and are waiting for it to arrive. But hate to wait more than a week to end up in the same place. Appreciate any insights you may have. Something is obviously in our blindspot (or we're dealing with a bad board), but in my experience, blindspots are more likely than bad hardware.

      Alex KushleyevA 1 Reply Last reply
      0
      • Denver HopkinsD Denver Hopkins

        @Moderator @modaltb - Anyone have any suggestions here? We've ordered another IO Board and are waiting for it to arrive. But hate to wait more than a week to end up in the same place. Appreciate any insights you may have. Something is obviously in our blindspot (or we're dealing with a bad board), but in my experience, blindspots are more likely than bad hardware.

        Alex KushleyevA Offline
        Alex KushleyevA Offline
        Alex Kushleyev
        ModalAI Team
        wrote on last edited by
        #3

        @Denver-Hopkins,

        It looks like your io board has outdated firmware (version 1). Latest is version 2. Please follow the firmware update guide here : https://docs.modalai.com/voxl2-io-firmware/#how-to-update-firmware and let us know whether that fixes your issue.

        Alex

        Denver HopkinsD 1 Reply Last reply
        0
        • Alex KushleyevA Alex Kushleyev

          @Denver-Hopkins,

          It looks like your io board has outdated firmware (version 1). Latest is version 2. Please follow the firmware update guide here : https://docs.modalai.com/voxl2-io-firmware/#how-to-update-firmware and let us know whether that fixes your issue.

          Alex

          Denver HopkinsD Offline
          Denver HopkinsD Offline
          Denver Hopkins
          wrote on last edited by
          #4

          @Alex-Kushleyev THANK YOU for your suggestion. We have done that-- now three times-- and each time with apparent (if uncertain) success. Each time, the procedure worked exactly as depicted in the video instructions and ended with 'Firmware successfully updated'. The only thing we notice that seemed suspect is the blue LED flash pattern on boot. It does not seem consistent with the v2 pattern in that the v2 pattern appears to have a break between the initial rapid flash and the first of two long flashes. After updating firmware on our board, the pattern doesn't change from what it has always done-- the initial rapid flash that changes to the first long flash with no break in between. (I realize a verbal description of the flash pattern is less than ideal.)

          We are expecting delivery of a new VOXL2 IO Board today. Ideally, it will have the latest firmware on it already. If it does not, we will update it also and see whether it resolves the issue.

          Thanks again for your suggestion!

          Denver

          Alex KushleyevA 1 Reply Last reply
          0
          • Denver HopkinsD Denver Hopkins

            @Alex-Kushleyev THANK YOU for your suggestion. We have done that-- now three times-- and each time with apparent (if uncertain) success. Each time, the procedure worked exactly as depicted in the video instructions and ended with 'Firmware successfully updated'. The only thing we notice that seemed suspect is the blue LED flash pattern on boot. It does not seem consistent with the v2 pattern in that the v2 pattern appears to have a break between the initial rapid flash and the first of two long flashes. After updating firmware on our board, the pattern doesn't change from what it has always done-- the initial rapid flash that changes to the first long flash with no break in between. (I realize a verbal description of the flash pattern is less than ideal.)

            We are expecting delivery of a new VOXL2 IO Board today. Ideally, it will have the latest firmware on it already. If it does not, we will update it also and see whether it resolves the issue.

            Thanks again for your suggestion!

            Denver

            Alex KushleyevA Offline
            Alex KushleyevA Offline
            Alex Kushleyev
            ModalAI Team
            wrote on last edited by Alex Kushleyev
            #5

            @Denver-Hopkins , can you please confirm the name of the firmware file that you are loading to M0065 board? (and where you get it from)

            Denver HopkinsD 1 Reply Last reply
            0
            • Alex KushleyevA Alex Kushleyev

              @Denver-Hopkins , can you please confirm the name of the firmware file that you are loading to M0065 board? (and where you get it from)

              Denver HopkinsD Offline
              Denver HopkinsD Offline
              Denver Hopkins
              wrote on last edited by
              #6

              @Alex-Kushleyev - Thanks for asking. I was just updating this thread when I saw your question. It looks like we may have been flashing with the old firmware.

              Instructions on the page titled 'VOXL 2 IO Firmware / Bootloader' (https://docs.modalai.com/voxl2-io-firmware/) state under the heading 'Getting New Firmware':

              "New firmware will ship with VOXL SDK updates and VOXL 2 command line tools will be able to update FW.
              Additionally, FW files may be hosted on the public downloads page."

              We downloaded the latest VOXL 2 Platform Release (VOXL2 SDK 1.4.0, voxl2_SDK_1.4.0.tar.gz) from https://developer.modalai.com/asset/2 and could not find it in that download.

              So we checked the 'public downloads' page (https://downloads.modalai.com/) as also directed by the instructions above. There, we selected the category 'Miscellaneous' (https://developer.modalai.com/asset/7) and found only this firmware for the VOXL2 IO board:

              VOXL2 IO FW v1_35_58c82813 voxl2_io_firmware_m0065_v1_35_58c82813.bin 12/4/2023

              It appears to be a version 1 binary. Can you provide a link that will get us to the version 2 binary?

              NOTE ALSO: Today we received a replacement VOXL 2 IO board that we ordered in case the one we had was bad. Before flashing it, we installed it and started PX4. At least with the new board, PX4 is able to interrogate the board and determine its UID and firmware version. That's better than what we have been experiencing (no response at all from the IO Board). It now looks like even the new board has v1 firmware and must be updated. We are prepared to update it now, but will not until we are sure we have the latest (v2) firmware.

              Screenshot from 2025-01-22 16-27-04.png

              Thanks for your help! We've made more meaningful progress in one day than we have the last week, and we are grateful.

              Denver

              Alex KushleyevA 1 Reply Last reply
              0
              • Denver HopkinsD Denver Hopkins

                @Alex-Kushleyev - Thanks for asking. I was just updating this thread when I saw your question. It looks like we may have been flashing with the old firmware.

                Instructions on the page titled 'VOXL 2 IO Firmware / Bootloader' (https://docs.modalai.com/voxl2-io-firmware/) state under the heading 'Getting New Firmware':

                "New firmware will ship with VOXL SDK updates and VOXL 2 command line tools will be able to update FW.
                Additionally, FW files may be hosted on the public downloads page."

                We downloaded the latest VOXL 2 Platform Release (VOXL2 SDK 1.4.0, voxl2_SDK_1.4.0.tar.gz) from https://developer.modalai.com/asset/2 and could not find it in that download.

                So we checked the 'public downloads' page (https://downloads.modalai.com/) as also directed by the instructions above. There, we selected the category 'Miscellaneous' (https://developer.modalai.com/asset/7) and found only this firmware for the VOXL2 IO board:

                VOXL2 IO FW v1_35_58c82813 voxl2_io_firmware_m0065_v1_35_58c82813.bin 12/4/2023

                It appears to be a version 1 binary. Can you provide a link that will get us to the version 2 binary?

                NOTE ALSO: Today we received a replacement VOXL 2 IO board that we ordered in case the one we had was bad. Before flashing it, we installed it and started PX4. At least with the new board, PX4 is able to interrogate the board and determine its UID and firmware version. That's better than what we have been experiencing (no response at all from the IO Board). It now looks like even the new board has v1 firmware and must be updated. We are prepared to update it now, but will not until we are sure we have the latest (v2) firmware.

                Screenshot from 2025-01-22 16-27-04.png

                Thanks for your help! We've made more meaningful progress in one day than we have the last week, and we are grateful.

                Denver

                Alex KushleyevA Offline
                Alex KushleyevA Offline
                Alex Kushleyev
                ModalAI Team
                wrote on last edited by Alex Kushleyev
                #7

                @Denver-Hopkins ,

                The latest voxl2 io firmware can be found in the voxl2-io package. either:

                • https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl2-io/-/tree/master/voxl2-io-tools/firmware?ref_type=heads
                • on voxl2 : /usr/share/modalai/voxl2-io-tools/firmware/modalai_m0065_firmware_v0_2_RC1_f94baad1.bin

                (even though on gitlab the commit says "adding test firmware", it is actually stable for many months now).

                You should update both of your voxl2-io boards (M0065), it seems the one that was just shipped to you had older firmware, but that is ok, since it's easy to update.

                Please try 🙂

                Alex

                Denver HopkinsD 1 Reply Last reply
                0
                • Alex KushleyevA Alex Kushleyev

                  @Denver-Hopkins ,

                  The latest voxl2 io firmware can be found in the voxl2-io package. either:

                  • https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl2-io/-/tree/master/voxl2-io-tools/firmware?ref_type=heads
                  • on voxl2 : /usr/share/modalai/voxl2-io-tools/firmware/modalai_m0065_firmware_v0_2_RC1_f94baad1.bin

                  (even though on gitlab the commit says "adding test firmware", it is actually stable for many months now).

                  You should update both of your voxl2-io boards (M0065), it seems the one that was just shipped to you had older firmware, but that is ok, since it's easy to update.

                  Please try 🙂

                  Alex

                  Denver HopkinsD Offline
                  Denver HopkinsD Offline
                  Denver Hopkins
                  wrote on last edited by
                  #8

                  @Alex-Kushleyev We updated the firmware on the new IO Board to v2 and the PX4 startup log now reflects the correct firmware version. Thank you for the links.

                  We will update the FW on the original board also to see if that resolves its anomalous behavior, but since it wasn't reporting ANY firmware version, we don't know what to expect. In any case, this is progress that we are happy to have. Will let you know how it goes.

                  Thanks for your help!
                  Denver

                  Alex KushleyevA 1 Reply Last reply
                  0
                  • Denver HopkinsD Denver Hopkins

                    @Alex-Kushleyev We updated the firmware on the new IO Board to v2 and the PX4 startup log now reflects the correct firmware version. Thank you for the links.

                    We will update the FW on the original board also to see if that resolves its anomalous behavior, but since it wasn't reporting ANY firmware version, we don't know what to expect. In any case, this is progress that we are happy to have. Will let you know how it goes.

                    Thanks for your help!
                    Denver

                    Alex KushleyevA Offline
                    Alex KushleyevA Offline
                    Alex Kushleyev
                    ModalAI Team
                    wrote on last edited by
                    #9

                    @Denver-Hopkins , great to hear! I think your other board probably has even older firmware, but the fact that voxl2-io-spin utility detected the board, it should be upgradable to the latest firmware using the procedure that you already followed.

                    Alex

                    Denver HopkinsD 1 Reply Last reply
                    0
                    • Alex KushleyevA Alex Kushleyev

                      @Denver-Hopkins , great to hear! I think your other board probably has even older firmware, but the fact that voxl2-io-spin utility detected the board, it should be upgradable to the latest firmware using the procedure that you already followed.

                      Alex

                      Denver HopkinsD Offline
                      Denver HopkinsD Offline
                      Denver Hopkins
                      wrote on last edited by
                      #10

                      @Alex-Kushleyev The new board works well now after updating the firmware. We'll also update the original board soon and see if that resolves the issue with it, too. Thanks for your help!

                      1 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      ModalAI
                      Categories Recent Tags ModalAI.com Docs
                      © 2026 ModalAI® · Accelerating autonomy for smaller, smarter, safer drones · Powered by NodeBB
                      • Login

                      • Don't have an account? Register

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