Serial Port (UART / USB-to-Serial)
串口(UART / USB 转串口)UARTCommonA long-standing interface that sends data one bit at a time; servos, grippers and microcontrollers usually reach a PC through a USB-to-serial adapter.
A serial port usually means an interface that talks the UART way (universal asynchronous receiver-transmitter): bits go out one at a time, each byte framed by a start bit and a stop bit, and both ends must agree on the same speed — the baud rate, such as 115200 or 1000000 bps — or the data comes out as garbage. UART only defines how the bits are arranged; the voltages on the wire come from an electrical standard: boards often use plain TTL levels, while RS-232 and RS-485 reach farther. PCs usually connect through a USB-to-serial chip or adapter. On Linux it shows up as /dev/ttyUSB0 (converter chips such as FTDI or CH340) or /dev/ttyACM0 (boards that implement the USB communications device class themselves); on Windows it is something like COM3. That is how servo arms connect: Dynamixel servos go through ROBOTIS's U2D2, which accepts both TTL and RS-485 servos but does not power them, and the SO-101 uses a bus-servo driver board for its Feetech servos. Common snags: a regular Linux user may lack permission to open the port, device numbers can change after replugging, and with a U2D2 it's best to lower the USB latency timer from 16 ms to 1 ms.
ExampleWhen setting up an SO-101, run lerobot-find-port and unplug one arm's USB cable when prompted; the script reports that arm's port (such as /dev/ttyACM0 on Linux, or a name starting with /dev/tty.usbmodem on macOS), which you pass as --robot.port. If Linux denies access, run sudo chmod 666 /dev/ttyACM0 first.
- Also called
- UART, COM port, virtual COM port, tty device
- Related
- RS-485 · ROBOTIS Dynamixel Servo · Feetech STS3215 Servo · SO-100 / SO-101 Arm · Host Computer · udev Rules
- Sources
- Universal asynchronous receiver-transmitter - Wikipedia
ROBOTIS e-Manual: U2D2
LeRobot documentation: SO-101 (Find the USB ports associated with each arm)