Hardware Verification
Now let's make sure your computer can talk to the ESP32-C3.
1. Open the Project in VS Code
Open the test project you generated in the previous step:
code hello_uferris
2. Connect the Board
Plug the ESP32-C3 Xiao into the uFerris Megalops Baseboard (if not already), then connect the baseboard to your computer via USB-C.
3. Build, Flash, and Monitor
Open a terminal in VS Code (Terminal → New Terminal) and run:
cargo run
You should see the project build, flash to the board, and then serial output from the ESP32-C3. Press Ctrl+C to exit the monitor.
Checkpoint: If you see serial output, your hardware setup is complete! You're ready for the workshop.
Troubleshooting
espflash can't find the serial port
If espflash fails to auto-detect your board, check that the device is recognized:
Linux:
ls /dev/ttyACM* /dev/ttyUSB* 2>/dev/null
macOS:
ls /dev/cu.usbmodem* /dev/cu.usbserial* 2>/dev/null
Windows (PowerShell):
Get-WMIObject Win32_SerialPort | Select-Object Name, DeviceID
If no device appears, see below.
No serial device found
Linux - udev rules:
Create a file /etc/udev/rules.d/99-esp32.rules:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="303a", ATTRS{idProduct}=="1001", MODE="0666"
Then reload:
sudo udevadm control --reload-rules
sudo udevadm trigger
macOS - driver issues: The ESP32-C3 uses a built-in USB-JTAG interface. If it's not recognized, try a different USB cable (some cables are charge-only, without data lines).
Windows - driver: Install the USB-JTAG driver if the device isn't recognized.
Permission denied on Linux
sudo usermod -a -G dialout $USER
Log out and back in.
Board not responding
- Try a different USB cable (must support data, not just charging)
- Try a different USB port
- Press and hold the BOOT button on the ESP32-C3, then press RESET, then release BOOT - this forces download mode
- If all else fails, use the Wokwi fallback