The BV4213 is capable of controlling DC and stepper motors. It has an I2C interface and also an optional stepper motor interface so that a stepper motor can be directly controlled with pulses from the host.
The board consists of a microcontroller and a L293D H-Bridge driver chip that works up to 35V and is capable of 1.2A peak current. No external components are required as the L293D has built in clamping diodes, the motor/s can be connected directly to the board.

In addition to all of this the DC motors can be Pulse Width Modulated to vary their speed via the I2C interface if required. The following represent the basic configurations.
This interface uses a set of commands via the I2C bus that control various aspects of the device. Using this interface both DC and Stepper motors can be controlled.

This is a typical connection diagram for two DC motors that can be controlled bi-directionally. The two channels A (Y1 & Y2) and B (Y3 & Y4) can be independently pulse width modulated (PWM) to control the speed of each motor. Some example commands are:
|
Command |
DC-Motor Command Set |
|
1 |
Enable output Y1,Y2 |
|
2 |
Enable output Y3,Y4 |
|
3 |
power saver 0 power off 1 power on |
|
4 |
Differential control for channel A - Y1 and Y2 |
|
5 |
Differential control for channel B - Y3 and Y4 |
|
0x11 |
Output for Y1 |
|
0x12 |
Output for Y2 |
|
0x13 |
Output for Y3 |
|
0x14 |
Output for Y4 |
|
0x15 |
PWM for Channel A, 0 is off |
|
0x16 |
PWM for Channel B 0 is off |

A stepper motor can also be controlled by the I2C interface and this shows a typical stepper motor. 4, 5 and 6 wire motors can be accommodated. The I2C commands for the stepper are:
|
Command |
Stepper |
|
0x20 |
Step Continuous |
|
0x21 |
Step Stop |
|
0x22 |
Step number of steps |
|
0x23 |
Set step parameters (4 bytes) |
|
0x24 |
Read step parameters ( up to 6 bytes) |
As well as the above commands there is an output pin shown as /EOS above that will go low when the number of steps have reached zero. This can be monitored by the host.
As well as the I2C facilities there is an independent stepper interface designed for directly driving stepper motors.

In this instance an I2C interface is not required, by taking the /SE pin low, pulses applied to the step pin will cause the motor to step. This gives the host absolute control over the stepper motor.
· I2C up to 400kHz
· Simple command set
· Up to 4 DC motors single directions
· 2 DC motors with forward and reverse
· PWM for DC motors
· 1 stepper motor, full step half step
· Step complete output pin
· Step on change pin interface
· 1.2A peek output current
· Connects directly to motor, no external components required
· Motor supply up to 35V
· Operating voltage 2.0 to 5.5V
· Current <1mA @ 5V