The board is cheap (see https://www.amazon.co.uk/dp/B0CVX4ZKFV? ... asin_title ) and offers the ability to control servos, DC motors and stepper motors.
There doesn't seem to be a lot of info about it (but it is a clone of the long defunct Adafruit motor driver board v1)
So - working from the Adafruit code - I came up with this code - that allows the Arduino run up to 4 DC motors or two steppers. I considered adding the servo driver, but in the end just use the FC component (the servos are on pins D10 and D9)
The motors re driven by the L293 chips - but the selection of the motor is via a port expander (SN74FC595N)
Because what I really needed was a way to drive a solenoid (surely a simple motor?) - I also added routines to either pulse single or multiple solenoids.
The macros to use are:
Initialise() // Sets up the relevant pins to a known state.
MotorEnable / StepperEnable /SolenoidEnable - initialise an output port (M1 to M4 or S1 / S2) as aDC motor / stepper / solenoid
MotorSpeed / StepperSpeed - set the relevant speed
MotorRun / StepperStep - Run the motor (forward/backward/stop) Stepper (no of steps and mode)
SolenoidPulse / SolenoidsPulse - activate a solenoid or solenoids (bits 0..3 correspond to ports 1..4)
Note that the enable routines set the speed to 0 - so set speed must be used before running a motor.
The Adafruit code was quite long - and I simplified it by removing support for the Arduino Mega and PIC32 - the Mega would be easy to add back (the pins are different)
The PWM is coded in C - and probably should use the FC component.
The Adafruit code had many 'if then' options to choose the coils - but I simplified this by using lookup tables for the various pin states. To maintain compatibility with the board labelling - the 'ports' are numbered 1..4 (and this necessitates a few of '-1's in the code to match arrays)
I feel the board would also work as an LED driver - using PWM to dim the LEDs - and might have a play.
Any one any experience with steppers etc - I ran the output (particularly for the microstepping) on an oscilloscope - and although it seem to match the AF code output - my motor at least doesn't seem to have much torque when using microstepping.
Note - you must use an external PSU for the motors / solenoids and things can get quite 'warm' - some heatsinks would be a good idea (apparently it is possible to solder a second L293D on top of the current ones to double current capacity)
Solenoids - are just a coil - so it is a good idea to keep the pulse short - I found 100ms worked well (and with a delay between actuations stayed cool - the ones I tested are 12v 300ma which should be well within the drivers capabilities - but they reached about 60C (as did the solenoids) on rapid actuations.
One solenoid shook itself to bits - make sure everything is tight (and add some Loctite?)
Note that the servo motors are powered by the Arduino 5V supply - so it is limited to small servo-motors without some modifications to the board / servo wiring.
Anyone - any thoughts / comments.
The 'fcfx' file here has a motor on port 1 that runs forward / back / stops whilst a stepper runs on stepper port 2. There is a simple demo using the component to do the same thing...
- One thing I don't particularly like is that dc motors use 1..4 and steppers 1 and 2.
The component can be found in Development (search for motor) as HW-130
Some of the names needs revision...
There is no simulation

I'll probably use something like https://www.amazon.co.uk/dp/B07XJSMLGQ? ... asin_title although I have some high current driver boards to hand too.
Martin