There are many Arduino motor shields out there and then there is the Diduino MsMot Shield featuring two Si9986 driver IC and fitting perfectly on the Diduino Board but also on all other Arduino compatible boards with little modifications.
The LM293 is frequently used for small motors, but its voltage must be higher than 5V, and due to its old technology, there is a significant power loss at 5V. The Si9986 driver has an equivalent internal resistance of less than 1 Ohm at 5 Volts, this means that if the motors need 200mA, the voltage drop will be lower than 0.2 V.
On the MsMot Shield two bicolor LEDs show the voltage status on the motor control pins. Green means motor moves forward, red means motor moves backward. However the motors can be cut off from power supply with an onboard switch so that you can debug your sketch only with the help of the LED indicators and without actually turning your noisy motors.
The Diduino MsMot Shield is narrow and uses only the pin it needs. The other pins are accessible for breadboarding. If you use 90 degree headers you might even save more space.
Note: The Diduino MsMot Shield is designed to be used with the Diduino as it uses the regular Vref pin as power supply pin. The shield can be easily modified to work with any Arduino compatible board, please check the information below:
Using the MsMot Shield with an Arduino Board
Since the MsMot expect the +5V on what is the Vref pin on an Arduino Board you have to make sure you make the following modifications to your shield before using it with anything else than a Diduino:
- Arduino has only one +5V pin on the power/reset connector. You have to solder the red wire of the kit and get the power from that pin, as on the picture below with a Freeduino.
- You will also have to cut a trace as pictured below (left picture).