@alex-kushleyev Alright I feel pretty dumb. But it is because the PID gains were zero in my config file...
Contributor
Posts
-
VOXL ESC FPV 4-in-1 with Built-in Power Module (MDK-M0138) Issues -
VOXL ESC FPV 4-in-1 with Built-in Power Module (MDK-M0138) Issues@Alex-Kushleyev Yes I want through that procedure. Here are my params:
<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright (c) 2020 ModalAI Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 4. The Software is used solely in conjunction with devices provided by ModalAI Inc. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. For a license to use on non-ModalAI hardware, please contact license@modalai.com --> <EscParameters> <IdParams> <param name="id" value="127"/> <!-- 0-7 .. 127 means use hardware ID pins to read ID--> <param name="dir" value="2"/> <!-- 0=fwd, 1=rev, 2=fwd id-based, 3=rev id-based --> </IdParams> <UartParams> <param name="protocol_version" value="2"/> <!-- reserved for future use --> <param name="input_mode" value="0"/> <!-- reserved for future use --> <param name="baud_rate" value="2000000"/> <!-- communication bit rate --> <param name="char_timeout_ns" value="0"/> <!-- not used --> <param name="cmd_timeout_ns" value="100000000"/> <!-- timeout for incoming commands before ESC will stop the motor --> </UartParams> <TuneParams> <param name="pwm_frequency" value="48000"/> <!-- switching freqency of PWM signal going to motors. 24Khz and 48Khz are only options for now --> <param name="vbat_nominal_mv" value="22200"/> <!-- used for sanity checking and limiting of voltage-dependent funcions --> <param name="num_cycles_per_rev" value="7"/> <!-- number of pole pairs in the motor. used for converting electrical frequency to mechanical rpm --> <param name="min_rpm" value="3020"/> <!-- WARNING: not tuned. minimum RPM that will be attempted, otherwise capped --> <param name="max_rpm" value="26311"/> <!-- WARNING: not tuned. maximum RPM that will be attempted, otherwise capped --> <param name="min_pwm" value="75"/> <!-- cap for minimum power to be ever applied. min is 75 --> <param name="max_pwm" value="9999"/> <!-- cap for maximum power to be ever applied. max is 999 --> <param name="pwm_vs_rpm_curve_a0" value="-92.6079829269"/> <!-- this is actually motor_voltage vs rpm curve.. using legacy naming --> <param name="pwm_vs_rpm_curve_a1" value="0.813657468926"/> <!-- WARNING: RPM controller params are disabled since motor is not tuned --> <param name="pwm_vs_rpm_curve_a2" value="2.69099700436e-06"/> <!-- WARNING: RPM controller params are disabled since motor is not tuned --> <param name="kp" value="0"/> <!-- WARNING: RPM controller params are disabled since motor is not tuned --> <param name="ki" value="0"/> <!-- WARNING: RPM controller params are disabled since motor is not tuned --> <param name="max_kpe" value="0"/> <!-- WARNING: RPM controller params are disabled since motor is not tuned --> <param name="max_kie" value="0"/> <!-- WARNING: RPM controller params are disabled since motor is not tuned --> <param name="max_rpm_delta" value="0"/> <!-- WARNING: RPM controller params are disabled since motor is not tuned --> <param name="spinup_type" value="1"/> <!-- 0: traditional, 1: sinusoidal --> <param name="spinup_power" value="60"/> <!-- power used to during spin-up procedure --> <param name="latch_power" value="60"/> <!-- power used during latching stage of spin-up (out of 999)--> <param name="spinup_power_ramp" value="8"/> <!-- it will take ( 4096 / (spinup_power_ramp*10000) ) seconds to ramp sinusoidal start-up power from 0 to spinup_power --> <param name="spinup_rpm_target" value="2000"/> <!-- Desired RPM at the end of the sinusoidal spin-up procedure --> <param name="spinup_time_ms" value="500"/> <!-- Duration of the sinusoidal spin-up procedure --> <param name="spinup_bemf_comp" value="1"/> <!-- 0: disable, 1:enable back-emf compensation in sinusoidal spin-up procedure --> <param name="motor_kv" value="2300"/> <!-- kV value of the motor. used in back-emf compensation during spin-up --> <param name="min_num_cross_for_closed_loop" value="10"/> <!-- exit latching mode of fixed power after this number of zero crossings --> <param name="protection_stall_check_rpm" value="1000"/> <!-- if motor spins below this RPM, stall check will trigger and stop / restart the motor --> <param name="brake_to_stop" value="0"/> <!-- apply brake when stopping motor (or not) --> <param name="stall_timeout_ns" value="20000000"/> <!-- after spin-up, if no zero crossing is not detected for this amount of time, motor is considered stalled --> <param name="require_reset_if_stalled" value="0"/> <!-- require sending an array of zero commands to reset before next spin-up, if motor stalled --> <param name="tone_freqs" value="[200, 215, 225, 250, 0,0,0,0, 0,0,0,0]"/> <!-- 200 is 2000Hz, max 255 --> <param name="tone_durations" value="[3, 0, 0, 0, 0,0,0,0, 0,0,0,0]"/> <!-- duration of each tone in units of 10 milli-seconds. Poor naming!!! --> <param name="tone_powers" value="[20, 0, 0, 0, 0,0,0,0, 0,0,0,0]"/> <!-- max is 255 --> <param name="dt_threshold_ns" value="150000"/> <!-- during start up, ignore inter-commutation times less than this val, probably noise --> <param name="max_dt_ns" value="2500000"/> <!-- min and max values for time between two commutations. these are used as caps --> <param name="min_dt_ns" value="10000"/> <param name="dt_bootstrap_ns" value="2000000"/> <!-- filter bootstrap value for commutation dt during start up --> <param name="spinup_stall_dt_ns" value="6000000"/> <!-- during spin-up, if no zero crossing is not detected for this amount of time, motor is considered stalled --> <param name="spinup_stall_check_ns" value="30000000"/> <!-- time after beginning of spinup to start checking for spinup stall --> <param name="alignment_time_ns" value="0"/> <!-- alignment time before spin-up --> <param name="timing_advance" value="0"/> <param name="sense_advance" value="0"/> <param name="demag_timing" value="0"/> <!-- unused --> <param name="led_config" value="0"/> <!-- 0: enable status LEDs in bootloader and firmware, 1: disable LEDs in boot and firmware: 2: disable LEDs only in firmware. need FW 39.25 or later --> </TuneParams> </EscParameters> -
VOXL ESC FPV 4-in-1 with Built-in Power Module (MDK-M0138) IssuesQuick side questions @alex-kushleyev @eric-katzfey
Have you ever calibrated PWM control with these drones or is that not advised?
I am a bit confused on the RPM calibration process. It appears to me that the RPM control is closed loop, but one thing that does not make sense to me is the testing with props on. I understand that props on will simulate aerodynamic load for calibration but wouldn't the load be different in flight too? Or is the idea that props on calibration is closer to flight load than props off?
-
Debugging steps for: "Pre-arm Check Failure: Compass Sensor 0 Missing"







-
Debugging steps for: "Pre-arm Check Failure: Compass Sensor 0 Missing"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_gpsTOPIC: 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: 0voxl2:~$ cat /etc/modalai/voxl-px4.conf
#!/bin/bashvoxl-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 foundvoxl2:~$ 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 informationvoxl2:~$ 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 failedvoxl2:~$ 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 failedvoxl2:~$ 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 publishedvoxl2:~$ 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 publishedvoxl2:~$ 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:~$ -
Debugging steps for: "Pre-arm Check Failure: Compass Sensor 0 Missing"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!
-
stinger + TOFIs it possible to integrate PMD IRS2975C tof sensor used in starling max 2 (C29) to the stinger platform. I can see M0188 breakout for mini and I guess it can do the same as M0173 provided with starling2-max can you confirm it will work ? if the answer it should work I am wondering if I can find a longer flex cable to connect the PMD IRS2975C in the front of the drone.
BR,
Roy
-
voxl-ardupilot crashing on mission planner reconnectI do not have a Windows computer handy so cannot really try Mission Planner. I tried to recreate this with QGroundControl but don't see it. Can you try with QGroundControl just to see what happens? Does it look like the 'systemctl restart voxl-ardupilot' is working reliably?
stemctl restart voxl-ardupilot does work, this is our normal solution for this issue. We don't use QGC, will have to install it to test.
What if you disconnect Mission Planner before trying the voxl-ardupilot restart?
Mentioned this in my post, we've tried this, but it does not change the behavior.
Can you try upgrading to the latest VOXL SDK to see if that helps?
Right now we can't get the FLIR Hadron 640 to work on any other SDK.
-
VOXL ESC FPV 4-in-1 with Built-in Power Module (MDK-M0138) Issues@alex-kushleyev @eric-katzfey
One thing I noticed, if I changeESC Command Typefrom RPM to PWM in the actuators tab, then I can increase the motor speeds -
VOXL ESC FPV 4-in-1 with Built-in Power Module (MDK-M0138) IssuesHello, using the actuator sliders in QGC results in the same behavior. The motors just spin at the same constant (arming) speed. Here are the results of
voxl-px4 -dStarting VOXL ESC driver INFO [qshell] Send cmd: 'voxl_esc start' INFO [muorb] [uORB] Marking DeviceNode(qshell_req) as advertised in process_remote_topic INFO [muorb] [qshell] qshell gotten: voxl_esc start INFO [muorb] [qshell] arg0 = 'voxl_esc' INFO [muorb] [qshell] arg1 = 'start' INFO [uORB] Advertising remote topic actuator_outputs INFO [muorb] [voxl_esc] Starting VOXL ESC driver INFO [muorb] [voxl_esc] Params: VOXL_ESC_CONFIG: 1 INFO [muorb] [voxl_esc] Params: VOXL_ESC_MODE: 0 INFO [muorb] [voxl_esc] Params: VOXL_ESC_BAUD: 2000000 INFO [muorb] [voxl_esc] Params: VOXL_ESC_FUNC1: 101 INFO [muorb] [voxl_esc] Params: VOXL_ESC_FUNC2: 104 INFO [muorb] [voxl_esc] Params: VOXL_ESC_FUNC3: 102 INFO [muorb] [voxl_esc] Params: VOXL_ESC_FUNC4: 103 INFO [muorb] [voxl_esc] Params: VOXL_ESC_SDIR1: 0 INFO [muorb] [voxl_esc] Params: VOXL_ESC_SDIR2: 0 INFO [muorb] [voxl_esc] Params: VOXL_ESC_SDIR3: 0 INFO [muorb] [voxl_esc] Params: VOXL_ESC_SDIR4: 0 INFO [muorb] [voxl_esc] Params: VOXL_ESC_PWR_MIN: 0.050000 INFO [muorb] [voxl_esc] Params: VOXL_ESC_RPM_MIN: 3000 INFO [muorb] [voxl_esc] Params: VOXL_ESC_RPM_MAX: 30653 INFO [muorb] [voxl_esc] Params: VOXL_ESC_T_PERC: 90 INFO [muorb] [voxl_esc] Params: VOXL_ESC_T_DEAD: 20 INFO [muorb] [voxl_esc] Params: VOXL_ESC_T_EXPO: 35 INFO [muorb] [voxl_esc] Params: VOXL_ESC_T_MINF: 0.150000 INFO [muorb] [voxl_esc] Params: VOXL_ESC_T_COSP: 0.990000 INFO [muorb] [voxl_esc] Params: VOXL_ESC_VLOG: 1 INFO [muorb] [voxl_esc] Params: VOXL_ESC_PUB_BST: 1 INFO [muorb] [voxl_esc] Params: VOXL_ESC_T_WARN: 0 INFO [muorb] [voxl_esc] Params: VOXL_ESC_T_OVER: 0 INFO [muorb] [voxl_esc] Params: GPIO_CTL_CH: 0 INFO [muorb] [voxl_esc] Params: VOXL_ESC_CMD: 0 INFO [muorb] [qshell] Ok executing command: voxl_esc start INFO [muorb] [voxl_esc] Opening UART ESC device 2, baud rate 2000000 INFO [muorb] [voxl_esc] Successfully opened UART ESC device INFO [muorb] [voxl_esc] Detecting ESCs... INFO [muorb] [voxl_esc] ESC ID : 0 INFO [muorb] [voxl_esc] Board Type : 42: ModalAi 4-in-1 ESC (M0138-1) INFO [qshell] qshell return value timestamp: 299177998, local time: 299182990 INFO [muorb] [voxl_esc] Unique ID : 0x203837304848570400440022 INFO [muorb] [voxl_esc] Firmware : version 39, hash a58f5f6f INFO [muorb] [voxl_esc] Bootloader : version 187, hash aad89d63 INFO [muorb] [voxl_esc] Reply time : 709us INFO [muorb] [voxl_esc] VOXL_ESC: INFO [muorb] [voxl_esc] ESC ID : 1 INFO [muorb] [voxl_esc] Board Type : 42: ModalAi 4-in-1 ESC (M0138-1) INFO [muorb] [voxl_esc] Unique ID : 0x203837304848570300310055 INFO [muorb] [voxl_esc] Firmware : version 39, hash a58f5f6f INFO [muorb] [voxl_esc] Bootloader : version 187, hash aad89d63 INFO [muorb] [voxl_esc] Reply time : 724us INFO [muorb] [voxl_esc] VOXL_ESC: INFO [muorb] [voxl_esc] ESC ID : 2 Starting CRSF RC driver INFO [muorb] [voxl_esc] Board Type : 42: ModalAi 4-in-1 ESC (M0138-1) INFO [muorb] [voxl_esc] Unique ID : 0x2038373048485705003A003F INFO [muorb] [voxl_esc] Firmware : version 39, hash a58f5f6f INFO [muorb] [voxl_esc] Bootloader : version 187, hash aad89d63 INFO [muorb] [voxl_esc] Reply time : 716us INFO [muorb] [voxl_esc] VOXL_ESC: INFO [muorb] [voxl_esc] ESC ID : 3 INFO [muorb] [voxl_esc] Board Type : 42: ModalAi 4-in-1 ESC (M0138-1) INFO [muorb] [voxl_esc] Unique ID : 0x203837304848570400440025 INFO [muorb] [voxl_esc] Firmware : version 39, hash a58f5f6f INFO [muorb] [voxl_esc] Bootloader : version 187, hash aad89d63 INFO [muorb] [voxl_esc] Reply time : 706us INFO [muorb] [voxl_esc] VOXL_ESC: INFO [muorb] [voxl_esc] Use extended rpm packet : 1 INFO [muorb] [voxl_esc] All ESCs successfully detected INFO [uORB] Advertising remote topic actuator_outputs_debug INFO [uORB] Advertising remote topic esc_status