Gyro bias calibration on every boot #23

Closed
opened 2026-02-28 17:37:49 -05:00 by seb · 0 comments
Owner

Request

On every boot, before entering the main loop, the firmware should run a gyro bias calibration:

  1. Hold the board still (LED indicates calibrating)
  2. Sample gyro X/Y/Z for ~1 second (500-1000 samples at 1kHz)
  3. Compute mean offset for each axis
  4. Subtract bias from all subsequent gyro readings

This eliminates yaw drift (#21) and improves pitch/roll accuracy.

Requirements

  • Must happen every boot, not just first flash
  • Board must be stationary during calibration — LED should indicate "hold still"
  • Calibration completes before USB streaming or arming is allowed
  • Store nothing to flash — recalibrate fresh each boot (gyro bias varies with temperature)

Related: #21 (yaw drift)

## Request On every boot, before entering the main loop, the firmware should run a gyro bias calibration: 1. Hold the board still (LED indicates calibrating) 2. Sample gyro X/Y/Z for ~1 second (500-1000 samples at 1kHz) 3. Compute mean offset for each axis 4. Subtract bias from all subsequent gyro readings This eliminates yaw drift (#21) and improves pitch/roll accuracy. ## Requirements - Must happen every boot, not just first flash - Board must be stationary during calibration — LED should indicate "hold still" - Calibration completes before USB streaming or arming is allowed - Store nothing to flash — recalibrate fresh each boot (gyro bias varies with temperature) Related: #21 (yaw drift)
seb closed this issue 2026-02-28 18:45:34 -05:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: seb/saltylab-firmware#23
No description provided.