The OSOYOO Espro board is a credit-card-sized, mini ALL-IN-ONE Motor Control Board. It integrates an ESP32 MCU and an L293DD H-Bridge dual-channel motor control module, allowing users to program two sets of motors directly via the Arduino IDE to control a robot car’s movement.

Equipped with both Bluetooth and Wi-Fi capabilities, the Espro board enables users to send remote control commands. This allows for seamless operation of the robot car through mobile apps or other devices, significantly simplifying the vehicle’s overall architecture. Additionally, the board features a dedicated MPU6050 slot, which supports an external MPU6050 module for advanced robot car navigation.

In this project, we will use OSOYOO Imitation Driving APP to connect Espro board with Bluetooth and control the car movement and speed.


Pre-Connected GPIO pins between ESP32 and I/O devices

L293 Pin ESP32 GPIO Function
IN1 23 Motor A Direction 1
IN2 25 Motor A Direction 2
IN3 26 Motor B Direction 1
IN4 27 Motor B Direction 2
ENA 16 Motor A Speed (PWM)
ENB 17 Motor B Speed (PWM)

Step 1)Install Arduino Code 
Download Code from following Code:
https://github.com/osoyoo/espro_ble_car/blob/main/espro_ble_car.ino
Double Click espro_ble_car.ino and open this file in Arduino IDE.
Connect the Espro Board to Desktop or Laptop computer with Type-C USB cable.
In Arduino Setting->Preference, please copy and past following link into Board Manager Url field:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

After you select OK, then in Tool->Board , then select esp32 ->ESP32 Dev Module

Then Select the Correct Port below the Board Option.

Click Button to compile the code and upload to Espro board.

After the code uploaded into Espro Board, Open Serial monitor in Arduino IDE, set Baud rate to 9600:


In Serial monitor, you will see the Espro Device name and BLE address(see above picture). Please write down these information. You will use the name/address to connect Espro board in OSOYOO Imitation APP.

Download and Install OSOYOO Imitation Driving APP

OSOYOO imitation driving Robot APP search “OSOYOO imitation driving” in
Google Play Google Play or Apple APP store
(Note: If you can not find this APP in Google Play,
you can directly download the APP from following link: https://osoyoo.com/test/mockdrive.apk )

After Install Above APP in your cell phone.  Please put your robot Car on the ground, turn on the battery power.

Step 3) Connect Robot Car BLE device to mobile Phone
Open the APP and Click Connect Button as following.

After Clicking Connect, a Bluetooth device list manual will pop up. As ESP32 is a BLE device, the list will show BLE device Scanning as following picture:

After about one minute, BLE device scanning will change to BLE Device Found,  please select the BLE device whose address matches the address shown in Step 1). If you are using iPhone, select the Device name “C3_BLE” or “Esp32_RobotCar” or the name you set in the Arduino Code.

Once the BLE  is connected, you can DRIVE the car  with APP.
Control Button in the APP