Prerequisites
Before you begin, ensure you have the following installed:Install PlatformIO
PlatformIO is required to build and flash the firmware. Install it using one of these methods:Using Homebrew (macOS/Linux):Using pip (All platforms):Verify installation:
Install Required Libraries
PlatformIO will automatically install the required libraries when you build the firmware. The dependencies include:
- NimBLE-Arduino (v1.4.1+) - Bluetooth Low Energy stack
- esp32-camera (v2.0.0+) - Camera driver for ESP32
- arduino-libopus - Audio codec for voice encoding
platformio.ini configuration.Flash the Firmware
Navigate to the firmware directory and flash using PlatformIO:Build and Upload Firmware
Try the standard build environment first:If you experience connection issues, use the slower upload environment:
The
seeed_xiao_esp32s3_slow environment uses a slower upload speed (57600 baud) which is more reliable for some USB connections.Build Environments
The firmware supports two build environments:| Environment | Upload Speed | Debug Level | Use Case |
|---|---|---|---|
seeed_xiao_esp32s3 | 115200 baud | Low (Level 1) | Recommended - Standard build for most users |
seeed_xiao_esp32s3_slow | 57600 baud | High (Level 5) | Connection issues or detailed debugging |
Advanced: Build Without Uploading
Advanced: Build Without Uploading
If you only want to compile the firmware without uploading:The compiled binary will be in
.pio/build/seeed_xiao_esp32s3/firmware.binTroubleshooting
Upload Failed - Device Not Found
Upload Failed - Device Not Found
Problem: PlatformIO cannot find your ESP32 device.Solutions:
- Check USB cable is properly connected
- Try a different USB port (connect directly, not through a hub)
- On macOS: Check System Settings > Privacy & Security for any blocked devices
- Verify device appears with
ls /dev/tty.*orls /dev/cu.*
Permission Denied Error
Permission Denied Error
Problem: Cannot access the serial port.Solutions (macOS/Linux):Or add your user to the dialout group (Linux):Then log out and back in.
Compilation Errors
Compilation Errors
Problem: Build fails with compilation errors.Solutions:
- Clean the build and try again:
- Update PlatformIO:
- Delete
.piofolder and rebuild:
Upload Hangs or Times Out
Upload Hangs or Times Out
Problem: Upload process starts but never completes.Solutions:
- Use the slower environment:
- Try a different USB cable
- Restart your computer and device