Starling 2 Max - Power issues when starting process
-
Hardware: (board / drone / SKU, serial # if you have it)
Starling 2 MaxSoftware version: (paste the output of
voxl-version)
system-image: 1.8.06-M0054-14.1a-perf
kernel: #1 SMP PREEMPT Wed Oct 22 04:29:38 UTC 2025 4.19.125
────────────────────────────────────────────────────────────────────────────────
hw platform: M0054
mach.var: 1.2.1
SKU: MRB-D0012-4-V3-C28-T8-M11-X0
────────────────────────────────────────────────────────────────────────────────
voxl-suite: 1.6.4~alpha2
────────────────────────────────────────────────────────────────────────────────
Packages:
Repo: http://voxl-packages.modalai.com/ ./dists/qrb5165/sdk-1.6/binary-arm64/
Last Updated: 2026-09-10 19:58:25
List:
libfc-sensor 1.0.11
libmodal-cv 0.6.1
libmodal-exposure 0.1.5
libmodal-flow 1.0.4
libmodal-journal 0.2.7
libmodal-json 0.4.8
libmodal-pipe 2.14.12
libqrb5165-io 0.6.3
libvoxl-cci-direct 0.4.0
libvoxl-codec 0.0.4
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-camera-calibration 0.6.2
voxl-camera-server 2.2.23
voxl-ceres-solver 2:2.0.0-2
voxl-configurator 1.1.14
voxl-cpu-monitor 0.7.7
voxl-docker-support 1.3.1
voxl-elrs 1.1.5
voxl-esc 1.6.2
voxl-esptool 0.2.1
voxl-feature-tracker 0.5.2
voxl-flow-server 0.3.6
voxl-focus-camera 0.6.1
voxl-gphoto2-server 0.0.10
voxl-imu-server 2.0.2
voxl-io-server 0.1.1
voxl-jpeg-turbo 2.1.3-7
voxl-lepton-server 1.4.0
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.2
voxl-mavcam-manager 0.6.1
voxl-mavlink 0.1.6
voxl-mavlink-server 1.4.16
voxl-microdds-agent 3.0.0-0
voxl-modem 1.2.4
voxl-mongoose 7.19.0-1
voxl-mpa-to-ros 0.3.9
voxl-mpa-to-ros2 0.0.7
voxl-mpa-tools 1.5.7
voxl-nano-tracker 0.1.7
voxl-open-vins-server 0.6.1
voxl-opencv 4.5.5-3
voxl-osd 0.4.3
voxl-portal 0.9.2
voxl-px4 1.14.0-2.0.138
voxl-px4-params 0.9.5
voxl-qvio-server 1.2.3
voxl-remote-id 0.0.9
voxl-reset-slpi 0.0.3
voxl-ros2-foxy 0.0.1
voxl-state-estimator 0.0.6
voxl-streamer 0.8.1
voxl-suite 1.6.4~alpha2
voxl-tag-detector 0.1.0
voxl-tflite-server 0.5.1
voxl-utils 2.0.3
voxl-uvc-server 0.1.7
voxl-vision-hub 1.9.21
voxl-vtx 2.2.7
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-r0Configuration / services: (paste the output of
voxl-inspect-services)
Service Name | Enabled | Running | CPU Usage
───────────────────────────────────────────────────────────────────
docker-autorun | Disabled | Not Running |
docker.d | Disabled | Not Running |
modallink-relink | Disabled | Not Running |
voxl-camera-server | Enabled | Running | 82.1%
voxl-cpu-monitor | Enabled | Running | 0.0%
voxl-dfs-server | Disabled | Not Running |
voxl-dma-latency | Enabled | Running |
voxl-feature-tracker | Disabled | Not Running |
voxl-flow-server | Disabled | Not Running |
voxl-imu-server | Enabled | Running | 1.8%
voxl-io-server | Disabled | Not Running |
voxl-lepton-server | Disabled | Not Running |
voxl-lepton-tracker | Disabled | Not Running |
voxl-logger | Disabled | Not Running |
voxl-mavcam-manager | Enabled | Running | 0.0%
voxl-mavlink-server | Enabled | Running | 1.8%
voxl-microdds-agent | Disabled | Not Running |
voxl-mini-tof-server | Disabled | Not Running |
voxl-modem-doodle | Disabled | Not Running |
voxl-modem | Enabled | Not Running |
voxl-nano-tracker | Disabled | Not Running |
voxl-open-vins-server | Disabled | Not Running |
voxl-osd | Disabled | Not Running |
voxl-portal | Disabled | Not Running |
voxl-px4 | Enabled | Running | 28.6%
voxl-qvio-server | Disabled | Not Running |
voxl-rangefinder-server | Disabled | Not Running |
voxl-remote-id | Disabled | Not Running |
voxl-softap | Disabled | Not Running |
voxl-state-estimator | Disabled | Not Running |
voxl-static-ip-watcher | Disabled | Not Running |
voxl-static-ip | Disabled | Not Running |
voxl-streamer | Disabled | Not Running |
voxl-tag-detector | Disabled | Not Running |
voxl-tflite-server | Disabled | Not Running |
voxl-time-sync | Disabled | Not Running |
voxl-uvc-server | Disabled | Not Running |
voxl-vision-hub | Enabled | Running | 1.8%
voxl-vrx | Disabled | Not Running |
voxl-vtx | Disabled | Not Running |
voxl-wait-for-fs | Enabled | Completed |What I am trying to do:
Starting a modestly heavy autonomy service in flight/before flightWhat actually happens: (error messages, behavior)
When starting our autonomy software the vehicle starts to chatter and have poor throttle control. The processes are modest on CPU usage, but not maxing out CPU cores.I pulled a flight log where I take off and hover a couple feet off the ground, then start the autonomy stack and see the vehicle control degrade. I stay in altitude control mode, not offboard, so nothing from the stack should be sending any commands that the vehicle would listen to. I noticed in the flight log there are drops to zero throttle and a massive increase in current draw.
Flight logs show drops in mavlink data at the same time
Could this be PX4 being throttled because of CPU usage? I thought PX4 ran on DSP, but I'm seeing a relatively high PX4 CPU allocation.
Logs / pictures: (attach files; PX4 logs -> https://logs.px4.io)



-
Hi @rozner88,
Some context first. On VOXL 2 the estimator, controllers, sensor drivers, and ESC driver run on the DSP, not the apps processor. The CPU usage you see for voxl-px4 is only the apps processor side of PX4 (MUORB bridge, MAVLink, logging), so a heavy apps-side process is not expected to throttle the rate controller directly. The DSP has its own load figure, which is recorded in the PX4 log as the cpuload topic. See https://docs.modalai.com/voxl-px4-system-architecture/#cpu-load. The MAVLink "drops" in the log are not real drops; as Eric notes below, they come from the DSP and the apps processor keeping separate event numbering sequences. The logger does run on the apps processor, so it is still worth checking whether the "throttle drops to zero" are real actuator output gaps or gaps in the log itself.
That said, I do not have a confident explanation for the control degradation yet, and I would like our PX4 and ESC folks to look at the log. To help with that, please upload the ulog to https://logs.px4.io and post the link, and answer a few questions:
Does the stack publish anything into PX4 at all, even in altitude mode, such as odometry through voxl-vision-hub, setpoints, or parameter changes? VIO is disabled in your service list, so if the stack brings its own odometry source that matters.
Does the stack open any cameras or change camera-server streams when it starts? camera-server is already the heaviest service before the stack runs.
Does the same behavior happen on the bench with props off, and does it change if you run voxl-set-cpu-mode perf before starting the stack?
Is the stack in a Docker container, and does it pin cores or set real-time priority?
Once we have the log we can check DSP load, actuator outputs, and ESC status together.
-
Those warning messages don't really signify dropped Mavlink messages, it's just a by product of two separate event numbering sequences between the DSP and the Linux processor.
Reading along? Create a free ModalAI Forum account to join in.
With an account you can reply, ask your own question, get an email when a ModalAI engineer answers, and mark the reply that solved it. Your place in each thread is saved between visits.
Questions about VOXL, Flight Core, ESCs and ModalAI drones are answered here by the engineers who build them.
Register Login