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

  1. Try a different USB cable (must support data, not just charging)
  2. Try a different USB port
  3. Press and hold the BOOT button on the ESP32-C3, then press RESET, then release BOOT - this forces download mode
  4. If all else fails, use the Wokwi fallback