docs: retire Mamba F722S/BlackPill, adopt ESP32 BALANCE + ESP32 IO architecture

Effective 2026-04-03: STM32F722 flight controller no longer used.
New architecture:
- ESP32 BALANCE: PID balance loop
- ESP32 IO: motors, sensors, comms

Updated: CLAUDE.md, TEAM.md, docs/AGENTS.md, docs/SALTYLAB.md
Legacy src/ STM32 firmware is archived — not extended.
Source code migration pending ESP32 hardware spec from max.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
sl-firmware 2026-04-03 22:58:06 -04:00
parent 5906af542b
commit 70994ea9a3
4 changed files with 44 additions and 14 deletions

View File

@ -1,14 +1,19 @@
# SaltyLab Firmware — Agent Playbook # SaltyLab Firmware — Agent Playbook
## Project ## Project
Self-balancing two-wheeled robot: STM32F722 flight controller, hoverboard hub motors, Jetson Nano for AI/SLAM. Self-balancing two-wheeled robot: **two ESP32 boards** (BALANCE + IO), hoverboard hub motors, Jetson Orin for AI/SLAM.
> ⚠️ **ARCHITECTURE CHANGE (2026-04-03):** Mamba F722S (STM32F722) and BlackPill are NO LONGER USED.
> Replaced by: **ESP32 BALANCE** (PID loop) + **ESP32 IO** (motors/sensors/comms).
> The `src/` and `include/` STM32 firmware is legacy/archived — do not extend it.
> New firmware goes in `esp32/` — pin assignments and framework details TBD pending max.
## Team ## Team
| Agent | Role | Focus | | Agent | Role | Focus |
|-------|------|-------| |-------|------|-------|
| **sl-firmware** | Embedded Firmware Lead | STM32 HAL, USB CDC debugging, SPI/UART, PlatformIO, DFU bootloader | | **sl-firmware** | Embedded Firmware Lead | ESP32 firmware, balance loop, I/O drivers, PlatformIO |
| **sl-controls** | Control Systems Engineer | PID tuning, IMU sensor fusion, real-time control loops, safety systems | | **sl-controls** | Control Systems Engineer | PID tuning, IMU sensor fusion, real-time control loops, safety systems |
| **sl-perception** | Perception / SLAM Engineer | Jetson Nano, RealSense D435i, RPLIDAR, ROS2, Nav2 | | **sl-perception** | Perception / SLAM Engineer | Jetson Orin, RealSense D435i, RPLIDAR, ROS2, Nav2 |
## Status ## Status
USB CDC TX bug resolved (PR #10 — DCache MPU non-cacheable region + IWDG ordering fix). USB CDC TX bug resolved (PR #10 — DCache MPU non-cacheable region + IWDG ordering fix).

11
TEAM.md
View File

@ -1,12 +1,15 @@
# SaltyLab — Ideal Team # SaltyLab — Ideal Team
## Project ## Project
Self-balancing two-wheeled robot using a drone flight controller (STM32F722), hoverboard hub motors, and eventually a Jetson Nano for AI/SLAM. Self-balancing two-wheeled robot using **two ESP32 boards** (BALANCE + IO), hoverboard hub motors, Jetson Orin for AI/SLAM.
> ⚠️ **ARCHITECTURE CHANGE (2026-04-03):** Mamba F722S (STM32F722) and BlackPill retired.
> Replaced by ESP32 BALANCE (PID loop) + ESP32 IO (motors/sensors/comms).
## Current Status ## Current Status
- **Hardware:** Assembled — FC, motors, ESC, IMU, battery, RC all on hand - **Hardware:** ESP32 BALANCE + ESP32 IO replacing STM32 FC — details from max incoming
- **Firmware:** Balance PID + hoverboard ESC protocol written, but blocked by USB CDC bug - **Firmware:** ESP32 firmware TBD; legacy STM32 code in `src/` is archived
- **Blocker:** USB CDC TX stops working when peripheral inits (SPI/UART/GPIO) are added alongside USB OTG FS — see `USB_CDC_BUG.md` - **STM32 blocker (resolved/irrelevant):** USB CDC bug was STM32-specific — no longer applies
--- ---

View File

@ -2,19 +2,34 @@
You're working on **SaltyLab**, a self-balancing two-wheeled indoor robot. Read this entire file before touching anything. You're working on **SaltyLab**, a self-balancing two-wheeled indoor robot. Read this entire file before touching anything.
## ⚠️ ARCHITECTURE CHANGE — 2026-04-03
**Mamba F722S (STM32F722) and BlackPill are NO LONGER USED.**
New hardware:
- **ESP32 BALANCE** — PID balance loop (replaces FC)
- **ESP32 IO** — motors, sensors, comms
The `src/` and `include/` STM32 HAL firmware is **legacy/archived**. Do not extend it.
All new firmware targets the ESP32 boards in `esp32/`. Pin assignments and framework TBD — await details from max.
## Project Overview ## Project Overview
A hoverboard-based balancing robot with two compute layers: A hoverboard-based balancing robot with two compute layers:
1. **FC (Flight Controller)** — MAMBA F722S (STM32F722RET6 + MPU6000 IMU). Runs a lean C balance loop at up to 8kHz. Talks UART to the hoverboard ESC. This is the safety-critical layer. 1. **ESP32 BALANCE** — PID balance loop. IMU + balance PID, safety-critical layer.
2. **Jetson Nano** — AI brain. ROS2, SLAM, person tracking. Sends velocity commands to FC via UART. Not safety-critical — FC operates independently. 2. **ESP32 IO** — motors, sensors, comms layer.
3. **Jetson Orin** — AI brain. ROS2, SLAM, person tracking. Not safety-critical.
``` ```
Jetson (speed+steer via UART1) ←→ ELRS RC (UART3, kill switch) Jetson (speed+steer) ←→ ELRS RC (kill switch)
MAMBA F722S (MPU6000 IMU, PID balance) ESP32 BALANCE (IMU, PID balance loop)
▼ UART2
ESP32 IO (motor drivers, sensors, comms)
Hoverboard ESC (FOC) → 2× 8" hub motors Hoverboard ESC (FOC) → 2× 8" hub motors
``` ```

View File

@ -2,6 +2,11 @@
Two-wheeled, self-balancing robot for indoor AI/SLAM experiments. Two-wheeled, self-balancing robot for indoor AI/SLAM experiments.
> ⚠️ **ARCHITECTURE CHANGE (2026-04-03):** Mamba F722S (STM32F722) and BlackPill are retired.
> New compute stack: **ESP32 BALANCE** (PID loop) + **ESP32 IO** (motors/sensors/comms).
> Sections below referencing the Drone FC / STM32F722 / GEPRC GEP-F7 are historical.
> Await updated spec from max before writing new firmware.
## ⚠️ SAFETY — TOP PRIORITY ## ⚠️ SAFETY — TOP PRIORITY
**This robot can cause serious injury.** 8" hub motors with 36V power can crush toes, break fingers, and launch the frame if control is lost. Every design decision must prioritize safety. **This robot can cause serious injury.** 8" hub motors with 36V power can crush toes, break fingers, and launch the frame if control is lost. Every design decision must prioritize safety.
@ -32,8 +37,10 @@ Two-wheeled, self-balancing robot for indoor AI/SLAM experiments.
|------|--------| |------|--------|
| 2x 8" pneumatic hub motors (36 PSI) | ✅ Have | | 2x 8" pneumatic hub motors (36 PSI) | ✅ Have |
| 1x hoverboard ESC (FOC firmware) | ✅ Have | | 1x hoverboard ESC (FOC firmware) | ✅ Have |
| 1x Drone FC (STM32F745 + MPU-6000) | ✅ Have — balance brain | | ~~1x Drone FC (STM32F745 + MPU-6000)~~ | ❌ RETIRED — replaced by ESP32 BALANCE |
| 1x Jetson Nano + Noctua fan | ✅ Have | | 1x ESP32 BALANCE (PID loop) | ⬜ TBD — spec from max |
| 1x ESP32 IO (motors/sensors/comms) | ⬜ TBD — spec from max |
| 1x Jetson Orin + Noctua fan | ✅ Have |
| 1x RealSense D435i | ✅ Have | | 1x RealSense D435i | ✅ Have |
| 1x RPLIDAR A1M8 | ✅ Have | | 1x RPLIDAR A1M8 | ✅ Have |
| 1x battery pack (36V) | ✅ Have | | 1x battery pack (36V) | ✅ Have |