feat(firmware): OTA firmware update — USB DFU + optional WiFi flash from Jetson #124

Closed
opened 2026-03-02 09:09:24 -05:00 by sl-jetson · 0 comments
Collaborator

Summary

Over-the-air firmware update system for STM32 from Jetson or USB.

Requirements

  • USB DFU mode: Enter DFU bootloader via command from Jetson (BOOT0 pin toggle or software reset to bootloader)
  • Flash script: Python script on Jetson to flash .bin via dfu-util over USB
  • Version reporting: STM32 reports firmware version in telemetry heartbeat
  • Dual bank: Use STM32F722 dual-bank flash for A/B update with rollback
  • Integrity check: CRC32 verification after flash, auto-rollback on bad firmware
  • ROS2 service: /saltybot/firmware/update service that triggers flash sequence
  • Safety: Cannot flash while motors are armed, must be in safe state

Agent: sl-firmware

Labels: phase-2, ota

## Summary Over-the-air firmware update system for STM32 from Jetson or USB. ## Requirements - **USB DFU mode**: Enter DFU bootloader via command from Jetson (BOOT0 pin toggle or software reset to bootloader) - **Flash script**: Python script on Jetson to flash .bin via dfu-util over USB - **Version reporting**: STM32 reports firmware version in telemetry heartbeat - **Dual bank**: Use STM32F722 dual-bank flash for A/B update with rollback - **Integrity check**: CRC32 verification after flash, auto-rollback on bad firmware - **ROS2 service**: /saltybot/firmware/update service that triggers flash sequence - **Safety**: Cannot flash while motors are armed, must be in safe state ## Agent: sl-firmware ## Labels: phase-2, ota
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#124
No description provided.