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

  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