<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Starling 2 Max (D0012) — Altitude spike &#x2F; shoot-up on takeoff, possible Z-axis accelerometer bias from thermal drift]]></title><description><![CDATA[<p dir="auto">Hi,<br />
We're experiencing an issue on our Starling 2 Max (D0012) where the drone occasionally shoots upward aggressively right after takeoff. It seems like the flight controller may be overcompensating due to an incorrect gravity reading from the IMU.<br />
Platform details:</p>
<p dir="auto">Starling 2 Max, Device ID: D0012<br />
VIO: voxl-open-vins-server (OpenVINS)<br />
Flight controller: PX4 via voxl-px4</p>
<p dir="auto">What we observed:<br />
We logged voxl-inspect-imu data at standstill over several minutes with the fan removed to observe thermal behavior. The Z-axis accelerometer drifts from -9.81 m/s² at 34°C to approximately -9.90 m/s² at 54°C. That's roughly 0.005 m/s² per °C of temperature increase.<br />
Temp 34.7°C → accl_z: -9.81<br />
Temp 42.1°C → accl_z: -9.88<br />
Temp 48.8°C → accl_z: -9.90<br />
Temp 54.0°C → accl_z: -9.89</p>
<p dir="auto">Sometimes it even goes to 10 m/s2</p>
<p dir="auto">X and Y accelerometer values remain stable across temperature (±0.02 m/s²). Gyro is also stable.<br />
Our theory:<br />
If the IMU reports gravity as -9.90 instead of -9.81, PX4's EKF2 thinks there's more downward acceleration than there actually is. On takeoff, it compensates by applying extra thrust, causing the upward spike. The issue seems to occur more frequently when the drone has been sitting powered on for several minutes before takeoff (higher IMU temperature).<br />
What we've tried:</p>
<p dir="auto">IMU calibration at multiple temperatures and positions<br />
Installed a heat sink to control cpu temperature<br />
Thermal soak before VIO initialization<br />
Cooling fan on the VOXL 2 to reduce operating temperature<br />
ZUPT is enabled at startup (zupt_only_at_beginning: true)</p>
<p dir="auto">Questions:</p>
<p dir="auto">Does PX4 on the VOXL platform use the IMU's reported gravity magnitude to scale thrust output? If so, would a 0.09 m/s² bias directly cause a thrust overshoot on takeoff?<br />
Is there a recommended way to apply temperature-compensated IMU calibration on the Starling 2 Max? Does voxl-calibrate-imu support multi-point temperature compensation?<br />
Should we be adjusting any EKF2 parameters to be more tolerant of Z-axis accelerometer bias drift?<br />
Has anyone else experienced this shoot-up behavior on the Starling 2 platform?<br />
Any calibration tips?<br />
Any guidance would be appreciated. Happy to share full logs if needed.<br />
Thanks</p>
]]></description><link>https://forum.modalai.com/topic/5168/starling-2-max-d0012-altitude-spike-shoot-up-on-takeoff-possible-z-axis-accelerometer-bias-from-thermal-drift</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Apr 2026 15:59:52 GMT</lastBuildDate><atom:link href="https://forum.modalai.com/topic/5168.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Apr 2026 22:57:20 GMT</pubDate><ttl>60</ttl></channel></rss>