Aaryan-Anand 6046b0f977
Scooter Firmware CI / Host Protocol Tests (push) Failing after 2s
Scooter Firmware CI / ESP32-C3 Deck Build (push) Successful in 1m3s
Scooter Firmware CI / ESP32-S3 Handlebar Build (push) Successful in 1m6s
VESC UART Init
2026-11-06 11:08:07 -07:00
2026-11-06 11:08:07 -07:00
2026-11-06 09:33:54 -07:00
2026-11-06 11:08:07 -07:00
2026-11-06 11:08:07 -07:00
2026-11-06 11:08:07 -07:00
2026-11-06 11:08:07 -07:00
2026-11-06 11:08:07 -07:00
2026-11-06 11:08:07 -07:00
2026-11-06 10:25:05 -07:00
2026-11-06 10:25:05 -07:00

Scooter Firmware

Dual-MCU ESP-IDF 6.1 monorepo for an electric scooter.

MCU Board Flash Target Role
Deck ESP32-C3 SuperMini 4MB esp32c3 Inter-MCU UART, SoftAP/OTA, VESC UART
Handlebar Seeed XIAO ESP32-S3 8MB esp32s3 Inter-MCU UART, SoftAP/OTA, throttle ADC

Layout

scooter-firmware/
├── deck/                      # ESP32-C3 app + 4MB OTA partitions
├── handlebar/                 # ESP32-S3 app + 8MB OTA partitions
├── components/
│   ├── scooter_protocol/      # Portable framed UART codec
│   ├── scooter_common/        # Boot + inter-MCU link
│   ├── scooter_wifi_ota/      # SoftAP + STA NVS + SoftAP OTA UI
│   ├── scooter_throttle/      # Handlebar ADC @ 50 Hz
│   └── scooter_vesc/          # Deck VESC UART (telemetry default)
├── board/
├── tests/protocol/
├── scripts/
├── docs/
└── .gitea/workflows/

Quick start

. C:\Espressif\tools\Microsoft.v6.1.PowerShell_profile.ps1
.\scripts\run_protocol_tests.ps1

cd deck
idf.py set-target esp32c3
idf.py build

cd ..\handlebar
idf.py set-target esp32s3
idf.py build

Docs

Firmware version: 0.2.0-wifi-ota-throttle.
VESC propulsion is disabled by default (CONFIG_SCOOTER_VESC_PROPULSION_ENABLE off).

S
Description
No description provided
Readme
118 KiB
0 Stars 1 Watchers 0 Forks
Languages
C 96.4%
CMake 2.7%
PowerShell 0.9%