This guide explains how to use your Linux or macOS computer as the host controller and an ESP32-S3-based robot driver board as the device, communicating through USB CDC (Communications Device Class).

Once connected, you can send JSON commands, run Python automation scripts, and create your own robot control logic.

πŸ“¦ GitHub Repository:

https://github.com/EffectsMachine/robot_driver_with_esp32s3_lite


1. Why USB CDC?

USB CDC (Communications Device Class) allows a microcontroller to appear as a virtual serial port when connected to your computer.

It’s a simple, high-speed, and driver-free way to send data between your PC and the board.

Advantage Description Benefit
πŸ”— No Converter Needed Uses native USBβ€”no CH340 or CP210x chips. Cleaner wiring, lower cost.
⚑ Faster Communication Direct USB connection (up to 60–65 packets/sec). Smooth real-time control.
πŸ›‘οΈ Stable & Reliable Fewer conversion layers = less interference. Lower failure rate.
πŸ”Œ Plug & Play Automatically recognized on Linux/macOS. No driver setup required.
πŸ’» Cross-Platform Works on Windows, macOS, and Linux. Develop anywhere.

2. Quick Test via Terminal (Recommended)

πŸ’‘ No extra software needed β€” Linux and macOS include everything required for USB CDC testing.

Step 1: Connect the Device

Connect your robot driver board to your computer using a USB-C cable.

Once powered, your system will detect it as a serial device.

Find the device name using:

ls /dev/ttyACM* /dev/ttyUSB* /dev/tty.usbmodem* /dev/cu.usbmodem*

Example outputs:

/dev/ttyUSB0

or on macOS: