Hardware Verification
Now let's make sure your computer can talk to the ESP32-C3.
1. 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.
Use the USB-C port on the ESP32-C3 Xiao module, not any other port on the baseboard.
2. Check the Serial Port
Your computer should recognize a new serial device:
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
You should see a device listed. If not, see Troubleshooting below.
3. Flash and Monitor
Navigate to the test project you created in the previous step:
cd hello-uferris
cargo build --release
espflash flash target/riscv32imc-unknown-none-elf/release/hello-uferris --monitor
You should see serial output from the ESP32-C3. Press Ctrl+C to exit the monitor.
If you see serial output, congratulations — your hardware setup is complete! You're ready for the workshop.
Troubleshooting
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