This tutorial walks you through how to control your robot driver board over Wi-Fi using HTTP requests.
By connecting a Windows PC (as the host controller) with the robot driver board (as the robot controller), you can easily build an upper–lower control architecture for scripting automation and advanced robot control.
GitHub repository:
https://github.com/EffectsMachine/robot_driver_with_esp32s3_lite
Clone or download the repository to your local Windows environment before starting.
HTTP (HyperText Transfer Protocol) is a request–response, stateless communication protocol — perfect for structured command delivery and data exchange between your PC and the robot.
| Advantages | Description |
|---|---|
| Low Development Cost | No need to design custom communication protocols. Every major programming language (Python, C#, Java, etc.) provides mature HTTP libraries such as Python’s requests. |
| Cross-Platform Compatibility | Works seamlessly across devices — PC, mobile app, or cloud server — via LAN or the Internet. |
| Easy to Extend | You can enhance functionality with HTTPS for encryption, or build RESTful APIs (POST for control, GET for data retrieval). |
| Limitations | Description |
|---|---|
| Lower Real-Time Performance | Each HTTP request includes headers and connection overhead. Typical latency ranges from tens to hundreds of milliseconds — not suitable for microsecond-level control loops. |
| No Native Push Mechanism | The robot only responds to requests. To receive async alerts (e.g., collision warnings), polling or WebSocket integration is required. |
| Unencrypted by Default | Plain HTTP is insecure on public networks. Use HTTPS or authentication tokens for safety. |
In short: HTTP offers a universal, flexible, and easy-to-use way to control and monitor your robot — ideal for most automation and research applications.
The driver board includes a built-in lightweight HTTP server running on port 80.
Once powered on, it connects (or creates) a Wi-Fi network and exposes an HTTP endpoint:
http://<DEVICE_IP>:80
Any network-enabled device (PC, smartphone, Raspberry Pi, etc.) can send HTTP requests to this address to interact with the board.
Commands are formatted as JSON objects.