Designing your own Arduino UNO Motor Shield

The Robot Rover with Brushed DC Motors

David Such
17 min readJul 28, 2021

The robot rover is controlled by an Arduino UNO with a motor control shield on top. This article explains how we designed and manufactured our own motor shield to suit the requirements of the rover DC motors.

The Motors

To drive the tracks on the robot we are using two 12V DC motors. To be specific, we are using the model 33GB-520–18.7 from DOIT.AM (Figure 1).

Figure 1. DOIT.IAM 12V DC Motor.

These motors have the following specifications:

  • Rated Voltage: DC12V
  • No-load Current: 100mA
  • Stall Current (@12V): 1.3A
  • Working voltage range: 6–12V
  • No-load speed : 170–350r/min
  • Weight: 100g

The maximum current that any UNO digital pin can supply is 40 mA. This is a maximum and you don’t want to be hitting this for any length of time. In addition, the most you can draw from all IO pins together is 200 mA. This is why we need a motor shield. The no load current for one motor is 100 mA. The worst case current draw situation is…

--

--

David Such

Reefwing Software · Embedded Systems Engineer · iOS & AI Development · Robotics · Drones · Arduino · Raspberry Pi · Flight Control