
1. Introduction
This is a motor driver board developed for the Lego technology building block motor and steering motor, compatible with most Lego motors, and also supports Lego battery power supply.You can control the rotation and stop of the Lego motor through the high and low levels of the two IO ports of the microcontroller, and you can also control the Lego steering motor. By switching the high and low levels of the two IO ports, you can achieve forward and reverse rotation.You can also use PWM pulse width to adjust the motor speed, the motor cannot rotate when the voltage is below a certain value.
2. Schematic
MOC dual motor driver board-HS-F10L-B schematicClick to view
Module Parameters
Pin Name | description |
|---|---|
G | GND (Negative Power Input) |
V | VCC (Positive Power Input) |
B2 | Motor B signal pin |
B1 | Motor B signal pin |
A2 | Motor A signal pin |
A1 | Motor A signal pin |
Supply Voltage: 5V-9V
Connection Type: 2.54 pin 4P Dupont Wire
Installation method: double screw fixing/Lego assembly
4, Circuit Board Size

5 of Arduino IDE example program
Attention: If prompted with an error message about the library file during program upload, please import the library file first!
Arduino IDE Library Download and Import Tutorial:Click to view
Example program (UNO development board):
void setMotor8833(int speedpin, int dirpin, int speed) {
if (speed == 0) {
digitalWrite(dirpin, LOW);
analogWrite(speedpin, 0);
} else if (speed > 0) {
digitalWrite(dirpin, LOW);
analogWrite(speedpin, speed);
} else {
digitalWrite(dirpin, HIGH);
analogWrite(speedpin, 255 + speed);
}
}
void procedure2() {
}
void procedure() {
}
void setup(){
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
digitalWrite(5, LOW);
digitalWrite(4, LOW);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
}
void loop(){
setMotor8833(5, 4, 200);
setMotor8833(6, 7, 200);
delay(3000);
setMotor8833(5, 4, 0);
setMotor8833(6, 7, 0);
delay(1000);
setMotor8833(5, 4, -200);
setMotor8833(6, 7, -200);
delay(3000);
setMotor8833(5, 4, 0);
setMotor8833(6, 7, 0);
delay(1000);
}6, ESP32 Python Example (for Mixly IDE/Misashi)
Choose the development board Python ESP32 [ESP32 Generic(4MB)] and upload in code mode
Attention: If prompted with an error message about the library file during program upload, please import the library file first!
Download and import tutorial for Mixly IDE ESP32 library:Click to view
Example program (ESP32-Python):
import machine
import time
pin12 = machine.Pin(12, machine.Pin.OUT)
pin13 = machine.Pin(13, machine.Pin.OUT)
pin14 = machine.Pin(14, machine.Pin.OUT)
pin15 = machine.Pin(15, machine.Pin.OUT)
while True:
pin12.value(1)
pin13.value(0)
pin14.value(1)
pin15.value(0)
time.sleep(2)
pin12.value(1)
pin13.value(0)
pin14.value(0)
pin15.value(1)
time.sleep(2)
pin12.value(0)
pin13.value(1)
pin14.value(1)
pin15.value(0)
time.sleep(2)
pin12.value(0)
pin13.value(1)
pin14.value(0)
pin15.value(1)
time.sleep(2)7, Mixly example program (graphical language)
Example program (UNO development board):Click to download
Attention: If prompted with an error message about the library file during program upload, please import the library file first!
Download and import tutorial of Mixly IDE Arduino library:Click to view

Example Program (ESP32 Development Board):Click to download
Attention: If prompted with an error message about the library file during program upload, please import the library file first!
Download and import tutorial for Mixly IDE ESP32 library:Click to view

8. Setting up the Test Environment
Arduino UNO Test Environment Setup
Prepare Components:
HELLO STEM UNO MOC PRO Development Board *1
USB TYPE-C DATA CABLE *1
LEGO motor *2
LEGO battery box *1
10cm LEGO extension wire *1
20cm LEGO extension wire *1
Motor drive module (HS-F10L-B) *1
2.54 pitch 4P dual head DuPont wire
Circuit wiring diagram:

ESP32 Test Environment Setup
Prepare Components:Pending update...
Circuit wiring diagram:Pending update...
9, Video tutorial
Arduino UNOVideo tutorial:Click to view
ESP32 Python Video Tutorial:Pending update...
10, Test results
Arduino UNO Test Conclusion:
After the device is connected and the program is uploaded to the Arduino UNO development board, it will be found that the motor will rotate for 2 seconds and stop for 2 seconds and then continue to cycle.Now you must have mastered the basic theory and programming of DC motors.You can not only make it go forward and backward, but also adjust its speed.In addition, you can use the knowledge you have learned to make more wonderful applications.

ESP32 Python test conclusion: