Driver IC for 3-4v, 5A Tamiya motors
For bidirectional control with braking you can use 4 MOSFETs wired in 'H-Bridge' configuration, like this:-







simulate this circuit &ndash; Schematic created using CircuitLab

M1 and M4 are turned on to run the motor one direction, and M2 and M3 are turned on for the other direction. For braking you turn on either both upper FETs or both lower FETs, which puts a short across the motor. 

PWM can be applied (using digitalWrite or a custom PWM routine) to the lower N-channel FETs to control motor speed. The upper P-channel FETs are turned on by negative voltage, so you make the digital outputs LOW to turn them on and HIGH to turn them off. 

Resistors R1-R4 ensure that all FETs are turned off when the Arduino starts up. They prevent the I/O pins from 'floating' before being initialized.

Note that you must never turn on both upper and lower FETs on one side at the same time, or current will 'shoot through' both FETs and short out the battery. When testing you should wire a current limiting device (eg. a light bulb) in series with the battery, until you are sure that the firmware is reliable.   

Most H-bridge designs include level converter circuits to boost the Gate voltage on the upper FETs. You don't need this because the battery voltage is lower than the Arduino's logic voltage, so it can directly drive the FETs with sufficient voltage. However if you power the motor with a 2 cell NiMH battery then the upper FETs must be rated to turn on fully with 2.4V, or if you use a single cell Lipo 3.7V. The lower FETs get 5V on the Gate so they only have to be 'logic-level' types.

The FETs should be rated for much higher current than the motor, both to prevent overheating and to reduce voltage drop (at this low voltage even fractions of a volt may noticeably reduce motor power). Finding P-channel FETs with appropriate ratings may be difficult. Here's one example:- NDP6020P P-Channel FET, -2.5V gate, -20V, 24A max. If you cannot obtain suitable P-channel FETs in your country then you could use all NMOS devices with level converters to drive the upper FETs. 'Logic-level' FETs would need at least 4.5V more than the battery voltage, ie. >7V. 

The Dash Plasma is a high performance motor designed to produce maximum possible power at low voltage. Since the Arduino needs at least 5V, you might consider using a motor designed to draw lower current at higher voltage - then you might be able to use a single battery to power both.