

The ESP32-Robo Expansion Board by Cytron is a versatile add-on board designed to enhance the functionality of the ESP32 microcontroller. It provides a wide range of interfaces and connectivity options tailored for robotics and IoT applications. This expansion board integrates motor drivers, sensor ports, and communication interfaces, making it an ideal choice for building smart robots, automation systems, and connected devices.








The ESP32-Robo Expansion Board features multiple pin headers and connectors. Below is a detailed description of the key pins and ports:
| Pin Name | Description |
|---|---|
| M1A, M1B | Motor 1 terminals for forward/reverse |
| M2A, M2B | Motor 2 terminals for forward/reverse |
| VM | Motor power supply input (6V-12V) |
| GND | Ground connection for motor power |
| Pin Name | Description |
|---|---|
| S1, S2, S3, S4 | Sensor input ports (analog/digital) |
| VCC | 5V power output for sensors |
| GND | Ground connection for sensors |
| Pin Name | Description |
|---|---|
| TX, RX | UART communication pins |
| SDA, SCL | I2C communication pins |
| MOSI, MISO, SCK | SPI communication pins |
| Pin Name | Description |
|---|---|
| 5V, 3.3V | Regulated power outputs for peripherals |
| GND | Ground connection |
| EN | Enable pin for ESP32 |
| BOOT | Boot mode selection pin |
Powering the Board:
Connecting Motors:
Connecting Sensors:
Programming the ESP32:
Using Communication Interfaces:
Below is an example code snippet to control a motor connected to the ESP32-Robo Expansion Board:
// Example code to control a motor using the ESP32-Robo Expansion Board
// Ensure the motor is connected to M1A and M1B terminals
#define M1A 25 // Define pin for Motor 1 terminal A
#define M1B 26 // Define pin for Motor 1 terminal B
void setup() {
pinMode(M1A, OUTPUT); // Set M1A as output
pinMode(M1B, OUTPUT); // Set M1B as output
}
void loop() {
// Rotate motor forward
digitalWrite(M1A, HIGH); // Set M1A high
digitalWrite(M1B, LOW); // Set M1B low
delay(2000); // Run motor for 2 seconds
// Rotate motor backward
digitalWrite(M1A, LOW); // Set M1A low
digitalWrite(M1B, HIGH); // Set M1B high
delay(2000); // Run motor for 2 seconds
// Stop motor
digitalWrite(M1A, LOW); // Set M1A low
digitalWrite(M1B, LOW); // Set M1B low
delay(1000); // Wait for 1 second
}
Motors Not Running:
ESP32 Not Responding:
Sensors Not Detecting Properly:
Overheating Motor Driver:
Can I use this board with other microcontrollers?
Yes, but the pinout and firmware must be adapted for compatibility.
What is the maximum motor current supported?
The motor driver supports up to 2A per channel.
Can I power the ESP32 directly from the board?
Yes, the board provides regulated 5V and 3.3V outputs for the ESP32.
Is the board compatible with servo motors?
Yes, servo motors can be connected to the sensor ports with proper PWM control.
This documentation provides a comprehensive guide to using the ESP32-Robo Expansion Board effectively. For further assistance, refer to the manufacturer's resources or community forums.