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

ModalAI Forum

B

brandon

@brandon
Contributor
Unfollow Follow
About
Posts
20
Topics
4
Shares
0
Groups
1
Followers
0
Following
0

Posts

Recent Best Controversial

  • Debugging steps for: "Pre-arm Check Failure: Compass Sensor 0 Missing"
    B brandon

    IMG_0502.JPG
    IMG_0503.JPG
    IMG_0504.JPG
    IMG_0505.JPG
    IMG_0506.JPG
    IMG_0507.JPG
    IMG_0508.JPG
    IMG_0509.JPG

    Ask your questions right here!

  • Debugging steps for: "Pre-arm Check Failure: Compass Sensor 0 Missing"
    B brandon

    Debugging steps I have done so far:

    • Swapped GPS unit with another Starling 2 Max
    • Inspected and re-seated connector on both sides (gps, and voxl side)
    • Ssh'd into drone and run debugging commands below.

    My current hypotheses:

    • The cable is broken between the gps and voxl board.
    • There is a hardware issue on the voxl board so it isn't sending commands over i2c

    Do you have other ideas for things I can try or ideas for what could be wrong?

    voxl2:~$ px4-listener sensor_mag
    never published
    voxl2:~$ px4-listener sensor_gps

    TOPIC: sensor_gps
    sensor_gps
    timestamp: 678990321 (0.088196 seconds ago)
    timestamp_sample: 0
    time_utc_usec: 1786650062749778
    device_id: 11272245 (Type: 0xAC, SERIAL:6 (0x00))
    lat: 396691361
    lon: -1052411998
    alt: 2071371
    alt_ellipsoid: 2049863
    s_variance_m_s: 0.12200
    c_variance_rad: 0.75099
    eph: 0.46500
    epv: 0.56300
    hdop: 0.60000
    vdop: 0.86000
    noise_per_ms: 95
    jamming_indicator: 63
    vel_m_s: 0.02500
    vel_n_m_s: 0.00600
    vel_e_m_s: 0.02500
    vel_d_m_s: -0.01500
    cog_rad: 6.06156
    timestamp_time_relative: 0
    heading: nan
    heading_offset: 0.00000
    heading_accuracy: 0.00000
    rtcm_injection_rate: 0.00000
    automatic_gain_control: 0
    fix_type: 4
    jamming_state: 1
    spoofing_state: 1
    vel_ned_valid: True
    satellites_used: 24
    selected_rtcm_instance: 0

    voxl2:~$ cat /etc/modalai/voxl-px4.conf
    #!/bin/bash

    voxl-px4 Configuration File

    AIRFRAME:

    Tell PX4 which AIRFRAME to use.

    Options include: [MULTICOPTER, FIXED_WING]

    GPS:

    Tell PX4 which GPS to use. If there is no GPS unit use NONE. Otherwise

    choose AUTODETECT and the startup script will attempt to automatically

    configure the GPS, magnetometer, and status LED

    Options include: [NONE, AUTODETECT]

    RC:

    Tell PX4 which RC transmitter to use.

    Use EXTERNAL when getting RC control from external Mavlink messages (e.g Via QGC)

    Options include: [SPEKTRUM, CRSF_MAV, CRSF_RAW, M0065_SBUS, EXTERNAL, FAKE_RC_INPUT]

    ESC:

    Tell PX4 which type of ESC to use.

    Options include: [VOXL_ESC, VOXL2_IO_PWM_ESC]

    POWER_MANAGER:

    Tell PX4 which power manager to use.

    Use NONE for ModalAI Mini-ESC since the ESC driver handles PM.

    Use EXTERNAL when not using the ModalAI APM power manager to power the board

    This also just disables the voxlpm driver, same as the NONE option

    Options include: [VOXLPM, EXTERNAL, NONE]

    AIRSPEED_SENSOR:

    Tell PX4 which airspeed sensor peripheral to use.

    Note: The sensor will be started on external I2C port on voxl2

    Options include: [NONE, MS4525DO]

    DISTANCE_SENSOR:

    Tell PX4 which distance sensor peripheral to use.

    Note: The sensor will be started on the RC port so it is only

    really possible to use it when using external RC.

    Options include: [NONE, LIGHTWARE_SF000]

    OSD:

    Tell PX4 whether to enable OSD (on-screen display).

    Options include: [ENABLE, DISABLE]

    DAEMON_MODE:

    Tell PX4 whether to enable daemon mode.

    Options include: [ENABLE, DISABLE]

    SENSOR_CAL:

    Tell PX4 where to source sensor calibration information.

    Options include: [ACTUAL, FAKE]

    ARTIFACT_MODE:

    Do not allow artifacts to be saved to disk. Will not start the logging

    module, will delete any current log files, and will delete the data manager file.

    Options include: [ENABLE, DISABLE]

    EXTRA_STEPS:

    Optional field that allows a user to define custom commands to be run by PX4 on boot.

    Must be a valid bash array as seen below

    Example: EXTRA_STEPS=( "qshell gps start" "qshell commander mode manual" )

    AIRFRAME=MULTICOPTER
    GPS=AUTODETECT
    RC=GHST
    ESC=VOXL_ESC
    POWER_MANAGER=NONE
    AIRSPEED_SENSOR=NONE
    DISTANCE_SENSOR=NONE
    OSD=DISABLE
    DAEMON_MODE=ENABLE
    SENSOR_CAL=ACTUAL
    ARTIFACT_MODE=DISABLE
    EXTRA_STEPS=()

    voxl2:~$ voxl-version
    ────────────────────────────────────────────────────────────────────────────────
    system-image: 1.8.06-M0054-14.1a-perf
    kernel: #1 SMP PREEMPT Wed Oct 22 04:13:18 UTC 2025 4.19.125
    ────────────────────────────────────────────────────────────────────────────────
    hw platform: M0054
    mach.var: 1.0.1
    SKU: MRB-D0012-4-V2-C29-T9-M28-X0
    ────────────────────────────────────────────────────────────────────────────────
    voxl-suite: 1.6.3
    ────────────────────────────────────────────────────────────────────────────────
    Packages:
    Repo: http://voxl-packages.modalai.com/ ./dists/qrb5165/sdk-1.6/binary-arm64/
    Last Updated: 2026-07-29 21:29:05
    WARNING: repo file has changed since last update,
    packages may have originated from a different repo
    List:
    libfc-sensor 1.0.9
    libmodal-cv 0.6.0
    libmodal-exposure 0.1.4
    libmodal-flow 1.0.3
    libmodal-journal 0.2.7
    libmodal-json 0.4.8
    libmodal-pipe 2.14.11
    libqrb5165-io 0.6.3
    libvoxl-cci-direct 0.3.3
    libvoxl-codec 0.0.2
    libvoxl-cutils 0.1.6
    modalai-slpi 1.2.2
    mv-voxl 0.1-r0
    qrb5165-bind 0.1-r0
    qrb5165-dfs-server 0.2.0
    qrb5165-mini-tof-server 0.2.2
    qrb5165-rangefinder-server 0.1.6
    qrb5165-slpi-test-sig 01-r0
    qrb5165-tflite 2.17.2
    voxl-bind-spektrum 0.1.1
    voxl-camera-calibration 0.6.1
    voxl-camera-server 2.2.19
    voxl-ceres-solver 2:2.0.0-2
    voxl-configurator 1.1.5
    voxl-cpu-monitor 0.7.7
    voxl-docker-support 1.3.1
    voxl-elrs 1.1.0
    voxl-esc 1.5.7
    voxl-esptool 0.2.0
    voxl-feature-tracker 0.5.2
    voxl-flow-server 0.3.6
    voxl-gphoto2-server 0.0.10
    voxl-imu-server 2.0.1
    voxl-io-server 0.0.8
    voxl-jpeg-turbo 2.1.3-7
    voxl-lepton-server 1.3.3
    voxl-lepton-tracker 0.0.4
    voxl-libgeographic 1.0.0
    voxl-libgphoto2 0.0.4
    voxl-libuvc 1.0.7
    voxl-logger 0.6.1
    voxl-mavcam-manager 0.6.0
    voxl-mavlink 0.1.6
    voxl-mavlink-server 1.4.14
    voxl-modem 1.2.3
    voxl-mongoose 7.19.0
    voxl-mpa-to-ros 0.3.9
    voxl-mpa-tools 1.5.6
    voxl-nano-tracker 0.1.7
    voxl-open-vins-server 0.6.0
    voxl-opencv 4.5.5-3
    voxl-osd 0.3.8
    voxl-portal 0.8.7
    voxl-px4 1.14.0-2.0.133
    voxl-px4-params 0.9.0
    voxl-qvio-server 1.2.3
    voxl-remote-id 0.0.9
    voxl-reset-slpi 0.0.1
    voxl-state-estimator 0.0.6
    voxl-streamer 0.8.0
    voxl-suite 1.6.3
    voxl-tag-detector 0.1.0
    voxl-tflite-server 0.5.1
    voxl-utils 2.0.2
    voxl-uvc-server 0.1.7
    voxl-vision-hub 1.9.21
    voxl-vtx 2.0.2
    voxl-wavemux 0.0.3
    voxl2-io 0.0.3
    voxl2-security-hardening-utls 1.0-r0
    voxl2-system-image 1.8.06-r0
    voxl2-wlan 1.0-r0
    ────────────────────────────────────────────────────────────────────────────────
    voxl2:~$

    voxl2:~$ px4-qshell
    voxl2:~$

    voxl2:~$ ist8310 status
    -bash: ist8310: command not found

    voxl2:~$ px4-qshell ist8310 status
    INFO [qshell] Send cmd: 'ist8310 status'
    INFO [qshell] cmd returned with: -1
    INFO [qshell] qshell return value timestamp: 766401772, local time: 766406205
    ERROR [qshell] Command failed
    voxl2:~$

    voxl2:~$ grep -i -n -E "mag|ist|qmc|gps" /usr/bin/voxl-px4-start
    8:echo "GPS: $GPS"
    13:echo "DISTANCE SENSOR: $DISTANCE_SENSOR"
    119:# Auto detect the magnetometer. If one or both of these devices
    122:/bin/echo "Looking for qmc5883l magnetometer"
    123:qshell qmc5883l start -R 10 -X -b 1
    124:/bin/echo "Looking for ist8310 magnetometer"
    125:qshell ist8310 start -R 10 -X -b 1
    126:/bin/echo "Looking for ist8308 magnetometer"
    128:qshell ist8308 start -R 12 -X -b 1
    129:/bin/echo "Looking for iis2mdc magnetometer"
    133:# GPS and magnetometer
    134:if [ "$GPS" != "NONE" ]; then
    136: gps start -d /dev/ttyHS7
    138: qshell gps start
    200:if [ "$DISTANCE_SENSOR" == "LIGHTWARE_SF000" ]; then
    214:# Optional distance sensor on spare i2c
    307: # Also remove the data manager file that may have saved GPS waypoint information

    voxl2:~$ px4-qshell qmc5883l status
    INFO [qshell] Send cmd: 'qmc5883l status'
    INFO [qshell] cmd returned with: -1
    INFO [qshell] qshell return value timestamp: 948521138, local time: 948523611
    ERROR [qshell] Command failed

    voxl2:~$ px4-qshell ist8310 status
    INFO [qshell] Send cmd: 'ist8310 status'
    INFO [qshell] cmd returned with: -1
    INFO [qshell] qshell return value timestamp: 961731054, local time: 961733319
    ERROR [qshell] Command failed
    voxl2:~$

    voxl2:~$ px4-qshell ist8310 start -R 10 -X -b 1
    INFO [qshell] Send cmd: 'ist8310 start -R 10 -X -b 1'
    INFO [qshell] cmd returned with: -1
    INFO [qshell] qshell return value timestamp: 973342325, local time: 973345077
    ERROR [qshell] Command failed

    voxl2:~$ px4-qshell ist8310 status
    INFO [qshell] Send cmd: 'ist8310 status'
    INFO [qshell] cmd returned with: -1
    INFO [qshell] qshell return value timestamp: 989255823, local time: 989257867
    ERROR [qshell] Command failed
    voxl2:~$ px4-listener sensor_mag
    never published

    voxl2:~$ px4-qshell qmc5883l start -R 10 -X -b 1
    INFO [qshell] Send cmd: 'qmc5883l start -R 10 -X -b 1'
    INFO [qshell] cmd returned with: -1
    INFO [qshell] qshell return value timestamp: 1009230646, local time: 1009233503
    ERROR [qshell] Command failed
    voxl2:~$
    voxl2:~$ px4-qshell qmc5883l status
    INFO [qshell] Send cmd: 'qmc5883l status'
    INFO [qshell] cmd returned with: -1
    INFO [qshell] qshell return value timestamp: 1009321642, local time: 1009323539
    ERROR [qshell] Command failed
    voxl2:~$
    voxl2:~$ px4-listener sensor_mag
    never published

    voxl2:~$ journalctl -u voxl-px4 -b | grep -i -E "mag|ist|qmc|i2c|gps"
    Aug 13 13:54:30 m0054 voxl-px4[2464]: GPS=AUTODETECT
    Aug 13 13:54:30 m0054 voxl-px4[2464]: DISTANCE SENSOR=NONE
    Aug 13 13:54:30 m0054 voxl-px4[2464]: GPS: AUTODETECT
    Aug 13 13:54:30 m0054 voxl-px4[2464]: DISTANCE SENSOR: NONE
    Aug 13 13:54:33 m0054 voxl-px4[2464]: WARN [SPI_I2C] UnknownApp: no instance started (no device on bus?)
    Aug 13 13:54:33 m0054 voxl-px4[2464]: WARN [SPI_I2C] UnknownApp: no instance started (no device on bus?)
    Aug 13 13:54:33 m0054 voxl-px4[2464]: INFO [muorb] [drivers__device] Register interrupt b214f094 e612f13c b2602648
    Aug 13 13:54:33 m0054 voxl-px4[2464]: INFO [muorb] [drivers__device] *** I2C Device ID 0xb76329 12018473
    Aug 13 13:54:33 m0054 voxl-px4[2464]: INFO [muorb] [drivers__device] Set up I2C bus mutex for bus 5
    Aug 13 13:54:33 m0054 voxl-px4[2464]: INFO [muorb] icp101xx #0 on I2C bus 5
    Aug 13 13:54:34 m0054 voxl-px4[2464]: Looking for qmc5883l magnetometer
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [qshell] Send cmd: 'qmc5883l start -R 10 -X -b 1'
    Aug 13 13:54:34 m0054 voxl-px4[2464]: Looking for ist8310 magnetometer
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [qshell] Send cmd: 'ist8310 start -R 10 -X -b 1'
    Aug 13 13:54:34 m0054 voxl-px4[2464]: Looking for ist8308 magnetometer
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [qshell] Send cmd: 'ist8308 start -R 12 -X -b 1'
    Aug 13 13:54:34 m0054 voxl-px4[2464]: Looking for iis2mdc magnetometer
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [qshell] Send cmd: 'gps start'
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [qshell] qshell gotten: qmc5883l start -R 10 -X -b 1
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [qshell] arg0 = 'qmc5883l'
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [drivers__device] *** I2C Device ID 0x80d09 527625
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [drivers__device] Set up I2C bus mutex for bus 1
    Aug 13 13:54:34 m0054 voxl-px4[2464]: ERROR [muorb] [drivers__device] i2c probe failed
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [SPI_I2C] PX4_qshell: no instance started (no device on bus?)
    Aug 13 13:54:34 m0054 voxl-px4[2464]: ERROR [muorb] [qshell] Failed to execute command: qmc5883l start -R 10 -X -b 1
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [qshell] qshell gotten: ist8310 start -R 10 -X -b 1
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [qshell] arg0 = 'ist8310'
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [drivers__device] *** I2C Device ID 0x60e09 396809
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [drivers__device] Set up I2C bus mutex for bus 1
    Aug 13 13:54:34 m0054 voxl-px4[2464]: ERROR [muorb] [drivers__device] i2c probe failed
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [SPI_I2C] PX4_qshell: no instance started (no device on bus?)
    Aug 13 13:54:34 m0054 voxl-px4[2464]: ERROR [muorb] [qshell] Failed to execute command: ist8310 start -R 10 -X -b 1
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [qshell] qshell gotten: ist8308 start -R 12 -X -b 1
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [qshell] arg0 = 'ist8308'
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [drivers__device] *** I2C Device ID 0xb0c09 723977
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [drivers__device] Set up I2C bus mutex for bus 1
    Aug 13 13:54:34 m0054 voxl-px4[2464]: ERROR [muorb] [drivers__device] i2c probe failed
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [SPI_I2C] PX4_qshell: no instance started (no device on bus?)
    Aug 13 13:54:34 m0054 voxl-px4[2464]: ERROR [muorb] [qshell] Failed to execute command: ist8308 start -R 12 -X -b 1
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [drivers__device] *** I2C Device ID 0xe1e09 925193
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [drivers__device] Set up I2C bus mutex for bus 1
    Aug 13 13:54:34 m0054 voxl-px4[2464]: ERROR [muorb] [drivers__device] i2c probe failed
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [SPI_I2C] PX4_qshell: no instance started (no device on bus?)
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [qshell] qshell gotten: gps start
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [qshell] arg0 = 'gps'
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [tasks] Creating pthread gps
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [tasks] Successfully created px4 task PX4_gps with tid 2097644
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [qshell] Ok executing command: gps start
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [gps] GPS UART baudrate set to 115200
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [drivers__device] *** I2C Device ID 0x7b3809 8075273
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [drivers__device] Set up I2C bus mutex for bus 1
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [drivers__device] Set i2c address 0x38, fd 5
    Aug 13 13:54:34 m0054 voxl-px4[2464]: ERROR [muorb] [drivers__device] i2c probe failed
    Aug 13 13:54:34 m0054 voxl-px4[2464]: INFO [muorb] [SPI_I2C] PX4_qshell: no instance started (no device on bus?)
    Aug 13 13:54:35 m0054 voxl-px4[2464]: INFO [uORB] Advertising remote topic vehicle_gps_position
    Aug 13 13:54:35 m0054 voxl-px4[2464]: INFO [uORB] Advertising remote topic vehicle_magnetometer
    Aug 13 13:54:35 m0054 voxl-px4[2464]: INFO [uORB] Advertising remote topic sensor_preflight_mag
    Aug 13 13:54:36 m0054 voxl-px4[2464]: INFO [muorb] [gps] u-blox firmware version: SPG 5.10
    Aug 13 13:54:36 m0054 voxl-px4[2464]: INFO [muorb] [gps] u-blox protocol version: 34.10
    Aug 13 13:54:36 m0054 voxl-px4[2464]: INFO [muorb] [gps] u-blox module: MAX-M10S
    Aug 13 13:54:36 m0054 voxl-px4[2464]: INFO [muorb] [gps] GPS UART baudrate set to 115200
    Aug 13 13:55:06 m0054 voxl-px4[2464]: INFO [muorb] [uORB] Advertising remote topic obstacle_distance
    Aug 13 13:55:06 m0054 voxl-px4[2464]: INFO [muorb] [uORB] Advertising remote topic distance_sensor
    Aug 13 13:55:06 m0054 voxl-px4[2464]: INFO [muorb] [gps] GPS UART baudrate set to 9600
    Aug 13 13:55:06 m0054 voxl-px4[2464]: INFO [muorb] [gps] GPS UART baudrate set to 38400
    Aug 13 13:55:06 m0054 voxl-px4[2464]: INFO [muorb] [gps] Got ack to initial CFG_VALSET!
    Aug 13 13:55:06 m0054 voxl-px4[2464]: INFO [muorb] [gps] u-blox firmware version: SPG 5.10
    Aug 13 13:55:06 m0054 voxl-px4[2464]: INFO [muorb] [gps] u-blox protocol version: 34.10
    Aug 13 13:55:06 m0054 voxl-px4[2464]: INFO [muorb] [gps] u-blox module: MAX-M10S
    Aug 13 13:55:06 m0054 voxl-px4[2464]: INFO [uORB] Advertising remote topic sensor_gps
    Aug 13 13:55:06 m0054 voxl-px4[2464]: INFO [uORB] Advertising remote topic estimator_gps_status
    Aug 13 14:10:33 m0054 voxl-px4[2464]: INFO [muorb] [qshell] qshell gotten: ist8310 status
    Aug 13 14:10:33 m0054 voxl-px4[2464]: INFO [muorb] [qshell] arg0 = 'ist8310'
    Aug 13 14:10:33 m0054 voxl-px4[2464]: INFO [muorb] [SPI_I2C] Not running
    Aug 13 14:10:33 m0054 voxl-px4[2464]: ERROR [muorb] [qshell] Failed to execute command: ist8310 status
    Aug 13 14:10:33 m0054 voxl-px4[2464]: INFO [muorb] [health_and_arming_checks] Preflight: GPS Horizontal Pos Drift too high
    Aug 13 14:10:33 m0054 voxl-px4[2464]: INFO [muorb] [qshell] qshell gotten: qmc5883l status
    Aug 13 14:10:33 m0054 voxl-px4[2464]: INFO [muorb] [qshell] arg0 = 'qmc5883l'
    Aug 13 14:10:33 m0054 voxl-px4[2464]: INFO [muorb] [SPI_I2C] Not running
    Aug 13 14:10:33 m0054 voxl-px4[2464]: ERROR [muorb] [qshell] Failed to execute command: qmc5883l status
    Aug 13 14:10:33 m0054 voxl-px4[2464]: INFO [muorb] [health_and_arming_checks] Preflight: GPS Horizontal Pos Drift too high
    Aug 13 14:10:33 m0054 voxl-px4[2464]: INFO [muorb] [qshell] qshell gotten: ist8310 status
    Aug 13 14:10:33 m0054 voxl-px4[2464]: INFO [muorb] [qshell] arg0 = 'ist8310'
    Aug 13 14:10:33 m0054 voxl-px4[2464]: INFO [muorb] [SPI_I2C] Not running
    Aug 13 14:10:33 m0054 voxl-px4[2464]: ERROR [muorb] [qshell] Failed to execute command: ist8310 status
    Aug 13 14:10:33 m0054 voxl-px4[2464]: INFO [muorb] [qshell] qshell gotten: ist8310 start -R 10 -X -b 1
    Aug 13 14:10:33 m0054 voxl-px4[2464]: INFO [muorb] [qshell] arg0 = 'ist8310'
    Aug 13 14:10:33 m0054 voxl-px4[2464]: INFO [muorb] [drivers__device] *** I2C Device ID 0x60e09 396809
    Aug 13 14:10:33 m0054 voxl-px4[2464]: INFO [muorb] [drivers__device] Set up I2C bus mutex for bus 1
    Aug 13 14:10:33 m0054 voxl-px4[2464]: ERROR [muorb] [drivers__device] i2c probe failed
    Aug 13 14:10:33 m0054 voxl-px4[2464]: INFO [muorb] [SPI_I2C] PX4_qshell: no instance started (no device on bus?)
    Aug 13 14:10:33 m0054 voxl-px4[2464]: ERROR [muorb] [qshell] Failed to execute command: ist8310 start -R 10 -X -b 1
    voxl2:~$

    Ask your questions right here!

  • Debugging steps for: "Pre-arm Check Failure: Compass Sensor 0 Missing"
    B brandon

    Hello,

    I've successfully flown my Starling 2 Max maybe 15 times now. Today I powered on the drone and received the status message:

    Pre-arm Check Failure: Compass Sensor 0 Missing

    I cannot fly the vehicle anymore. Can the engineering team provide some debugging steps to isolate what has failed or is going wrong?

    So far I swapped out the GPS unit with a second Starling 2 Max that I have, but the Pre-arm message remains and I cannot fly.

    Thank you!

    Ask your questions right here!

  • No EKF2 Config Produces Stable Altitude
    B brandon

    @brandon said in No EKF2 Config Produces Stable Altitude:

    Platform: Starling 2 Max (M0054 / MRB-D0012)
    Software: voxl-suite 1.5.0, system-image 1.8.04, PX4 1.14.0

    We've tested 3 Modal AI EKF2 helper configs across 15+ outdoor flights on Starling 2 Max. VIO+GPS causes yaw-reset and crashes. GPS with baro height ref reports negative altitude. GPS with GPS height ref balloons. None produce stable altitude. We need reliable altitude for autonomous precision landing on a containerized system. What config do other operators use?

    Reference logs:

    • GPS+baro height ref: https://review.px4.io/plot_app?log=55f037ae-36d2-4ce1-bbd6-919ddc6da630. Negative altitude while clearly airborne, unstable vertical velocity
    • GPS+GPS height ref: https://review.px4.io/plot_app?log=fd7a0bba-991c-44fe-95e7-238caeda5c5f. Altitude ballooning, floating around in safety pilot joystick control. Best example showing altitude instability over an extended period.
    • GPS+GPS height ref: https://review.px4.io/plot_app?log=5f1ae22c-d6a5-4963-a57d-3970c9d34e5b. Best example of successful flight yet, but still has significant altitude issues.

    We've tried the ekf2_universal_tweaks.params file as well as the outdoor_gps.params and outdoor_gps_baro.params files. When using the barometer we've also applied the exposed_baro.params file. We've recalibrated the barometer using the VOXL web portal. We've run IMU calibration repeatedly both in QGC and the terminal interface in VOXL. We also tried upgrading the SDK to 1.6.3 on one of our test drones.

    We have many more logs but this is the best scattering of what we've been struggling with. Please help, thank you.

    Sentien Robotics.

    following up on this

    Starling & Starling 2

  • No EKF2 Config Produces Stable Altitude
    B brandon

    Platform: Starling 2 Max (M0054 / MRB-D0012)
    Software: voxl-suite 1.5.0, system-image 1.8.04, PX4 1.14.0

    We've tested 3 Modal AI EKF2 helper configs across 15+ outdoor flights on Starling 2 Max. VIO+GPS causes yaw-reset and crashes. GPS with baro height ref reports negative altitude. GPS with GPS height ref balloons. None produce stable altitude. We need reliable altitude for autonomous precision landing on a containerized system. What config do other operators use?

    Reference logs:

    • GPS+baro height ref: https://review.px4.io/plot_app?log=55f037ae-36d2-4ce1-bbd6-919ddc6da630. Negative altitude while clearly airborne, unstable vertical velocity
    • GPS+GPS height ref: https://review.px4.io/plot_app?log=fd7a0bba-991c-44fe-95e7-238caeda5c5f. Altitude ballooning, floating around in safety pilot joystick control. Best example showing altitude instability over an extended period.
    • GPS+GPS height ref: https://review.px4.io/plot_app?log=5f1ae22c-d6a5-4963-a57d-3970c9d34e5b. Best example of successful flight yet, but still has significant altitude issues.

    We've tried the ekf2_universal_tweaks.params file as well as the outdoor_gps.params and outdoor_gps_baro.params files. When using the barometer we've also applied the exposed_baro.params file. We've recalibrated the barometer using the VOXL web portal. We've run IMU calibration repeatedly both in QGC and the terminal interface in VOXL. We also tried upgrading the SDK to 1.6.3 on one of our test drones.

    We have many more logs but this is the best scattering of what we've been struggling with. Please help, thank you.

    Sentien Robotics.

    Starling & Starling 2

  • Out of the Box Starling 2 Max Configuration
    B brandon

    @Moderator Thanks for the quick response!

    Which helper would you recommend for outdoor flight configuration with GPS? I see there are several available for different variations.

    An added detail: we need good relative altitude measurements at low altitudes for our custom precision landing solution.

    Ask your questions right here!

  • Out of the Box Starling 2 Max Configuration
    B brandon

    Hi,

    Is there recommended default configuration for out-of-the-box Starling 2 Max's for generic outdoor flight?

    We've been experiencing the following problems across 1 LTE drone and 5 non-LTE drones, intermittently. The primary symptom was originally unreliable altitude/height measurements on the LTE drone. Sometimes reporting height wrong by 10m+ or more, or negative altitudes. There also has been consistent "Preflight fail: height estimate unstable" and similar messages, though the LTE drone manages to arm more often with these displayed errors.

    After swapping to the non-LTE drones we had some crashes. Here are the two flights we had that crashed, and despite being able to arm, they were fighting against control inputs from the pilot once in the air and seemed like they had little or no GPS fix based on our review of the logs:

    • https://logs.px4.io/plot_app?log=ec33a5ca-db61-4b26-a72a-d0678973d501
    • https://review.px4.io/plot_app?log=fa945bd6-3734-4f78-8567-c008234c8042
    starling2-max (D0012):~$ voxl-version
    system-image: 1.8.04-M0054-14.1a-perf
    kernel:       #1 SMP PREEMPT Mon Mar 24 22:31:58 UTC 2025 4.19.125
    hw platform:  M0054
    mach.var:     1.0.1
    SKU:          MRB-D0012-4-V2-C29-T9-M28-X0
    voxl-suite:   1.5.0
    

    Thank you for any guidance or support

    Ask your questions right here!

  • Update UDP Port for the voxl-mavlink-server
    B brandon

    @Eric-Katzfey Is this fix in the new 1.5.0 binary? We received a new Starling 2 Max but I think I had to downgrade to this binary to get connectivity.

    VOXL SDK

  • Update UDP Port for the voxl-mavlink-server
    B brandon

    @Eric-Katzfey This works! Thank you!

    VOXL SDK

  • Update UDP Port for the voxl-mavlink-server
    B brandon

    @Eric-Katzfey I have this issue as well. The voxl-mavlink-server only replies to 14550 even when GCS initiates connection. This prevents multiple drones from communicating to separate processes on a common computer. Please see my response here where I tried to outline the issue: https://forum.modalai.com/post/24187

    If this command worked all of the posts relating to the port issue would be resolved: mavproxy.py --master=udpout:<voxl_ip>:14550

    VOXL SDK

  • voxl-mavlink-server GCS udp port
    B brandon

    I am also having this issue. I think that the voxl-mavlink-server may have an incorrect implementation of the "server" side of the UDP connection. My evidence would be that using mavproxy.py from a remote computer in client mode (e.g. mavproxy.py --master=udpout:192.168.83.254:14550) does not receive packets from the server, but the server does detect the connection.

    afcc3ae5-385f-4247-bf65-5deb036e1f78-image.png

    I took a look at wireshark and saw that the voxl-mavlink-server in "server" mode is not replying to the mavproxy.py client on the correct port. It is replying to 14550 at the client (incorrect). See the picture below, but ignore IPs as data capture was on a different network. You can see the mavproxy client sending from port 33935 to voxl at 14550, but the voxl incorrectly replies back to 14550 on the client computer when it should be replying back to 33935.

    The side-effect of this is that you cannot have two independent clients (talking to different drones) running on the same computer because both drones will send their data to the same port. Computers only allow one process to be a server on a given port.

    4ed6a412-3d51-4967-bca5-ac732411e077-Pasted Graphic 9.png

    VOXL SDK

  • VOXL Starling 2 Max hires_front camera unresponsive
    B brandon

    @Dobry-Kolacz Here is another connector that I think is relevant that I didn't include in the last post. I'm not sure how I should apply force but I tried to push them in a little bit as instructed. Nothing seemed to move and there is no change on the Voxl Portal.

    IMG_8076.JPG

    IMG_8077.JPG

    IMG_8074.JPG

    Support Request Format for Best Results

  • VOXL Starling 2 Max hires_front camera unresponsive
    B brandon

    @Dobry-Kolacz I’ve seen a few frames come through before, and one time I’ve seen half a valid frame and static noise on the other half of the frame. I didn’t take a picture at the time because I didn’t know it was a problem yet. I was just learning how to ssh in and connect the drone to my WiFi network.

    Support Request Format for Best Results

  • VOXL Starling 2 Max hires_front camera unresponsive
    B brandon

    @Dobry-Kolacz

    IMG_8064.JPG

    IMG_8068.JPG

    IMG_8069.JPG

    IMG_8072.JPG

    IMG_8068 2.JPG

    IMG_8072 2.JPG

    Support Request Format for Best Results

  • VOXL Starling 2 Max hires_front camera unresponsive
    B brandon

    @Alex-Kushleyev What did your team recommend? Should I reach out to ModalAI directly?

    Support Request Format for Best Results

  • VOXL Starling 2 Max hires_front camera unresponsive
    B brandon

    @Alex-Kushleyev I performed the next test and the voxl-camera-server crash occurs after a short period of time. I was able to bring up a few camera feeds and then the service died. I was never able to see a frame from the hires_front.

    51f4e1ad-3617-495b-a072-145f63a710d0-image.png

    Support Request Format for Best Results

  • VOXL Starling 2 Max hires_front camera unresponsive
    B brandon

    @Alex-Kushleyev I have not seen the camera work before. I just started developing with it and thought it might be related to a software bug I was seeing on the forum.

    Support Request Format for Best Results

  • VOXL Starling 2 Max hires_front camera unresponsive
    B brandon

    Hi @Alex-Kushleyev, thanks for the feedback.

    I disabled the hires_front and things seem a lot more stable. What steps can I take to debug the hires_front crc errors?

    43f218a6-9452-4508-87ba-4fbd58e3c9eb-image.png
    261b2687-297b-4ec6-bd01-6b4f422bb194-image.png

    Support Request Format for Best Results

  • VOXL Starling 2 Max hires_front camera unresponsive
    B brandon

    @brandon Just posting some more context. When looking around the forum I found that I should provide a dmesg log because it looked like voxl-camera-server was aborting.

    0519cd2f-8f72-44e3-b2c6-ddb454c87e0b-image.png

    d1f8cfab-0493-4fdf-90ff-cbfea3a9699b-image.png
    c5873679-6777-4c9d-8672-e73ed7159acc-image.png

    facaa5a1-38e5-4120-9171-8e70226fa791-image.png
    fbf67597-af54-447b-bfe6-775df7773412-image.png
    690c3630-a211-476c-82c3-5be115b43553-image.png
    a8058773-8477-410b-aa6e-3aed8611ae97-image.png

    Support Request Format for Best Results

  • VOXL Starling 2 Max hires_front camera unresponsive
    B brandon

    Hello,

    I just started developing with the Starling 2 Max (sku:MRB-D0012-4-V2-C29-T9-M24-X0) and am unable to see video from the hires_front camera. I saw a post here: https://forum.modalai.com/topic/4139/voxl-portal-wont-display-live-camera-feeds-after-sdk-1-4-0-upgrade that might have a similar issue, but my model has the latest software. Does anyone have ideas on what steps I can take to debug this?

    The voxl-inspect-cam -a output is garbled with messages like "ERROR in pipe_client_open opening request pipe: No such device or address".

    c800db33-89fa-41cf-ba75-958b958c3c28-image.png

    4e5b3a35-943f-431c-9400-97f25545ff38-image.png

    4c565cf3-6b47-4ba9-b0f4-e3258bda858c-image.png

    57f58a9e-bc92-4b25-a8bd-c02720533646-image.png

    Support Request Format for Best Results
  • Login

  • Don't have an account? Register

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