A DC motor is a device which converts the electrical energy in direct current form to mechanical energy. These devices are ubiquitous as almost every electro-mechanical movement in today’s world is caused by a DC motor. Though the DC motors usually cause rotational motion, there are linear motors available which produce motion in a straight line. By changing the current strength in the field windings and by varying the supply voltage the speed of the DC motor can be controlled.

DC Motor Construction

At the core of the DC motor is a current carrying armature. The armature is connected to the DC power supply through commutator segments and brushes. Brushes are made of carbon or graphite with the help of which the current flows from the external circuit to the armature coil. Between the brushes and armature windings, there is a cylindrical structure called commutator which is made of copper segments. They are insulated from each other by mica.

The armature coil is placed between two pieces of magnets with different polarity. These magnetic poles are attached to the inner portion of the yoke and it consists of pole core and pole shoe. Pole core holds the pole shoe over the yoke. Pole shoe has a relatively larger cross-sectional area. It spreads the flux produced over the air gap between the stator and the rotor which would then reduce the flux loss owing to reluctance. Pole shoe also carries slots for the field windings which produce the field flux. The yoke is the outer frame of the DC motor which acts as the protective covering of the sophisticated inner parts of the motor. Besides, it provides support to the armature, magnetic poles and field windings.

Field and armature windings are copper wires wound over the slots of the pole shoes and the armature core respectively. When current flows through the field windings, opposite polarity is produced in the adjacent poles. The current which flows through the field winding produces a magnetic field and the field winding forms an electromagnet. The rotating armature cuts the magnetic field. Since the armature is subjected to magnetic reversal, there will be the magnetic loss. These losses are reduced by silicon steel lamination made on the armature core. The cylindrical structure of armature core is made by stacking a number of such laminated steel sheets together.

Hookup Guide

Motor board on OpenLab is used to control high voltage devices and inductive loads such as motors using the controller. By using motor relay board on OpenLab we can control motors and other inductive loads such as DC motors and power transistors. Motor board provides terminal blocks with screws for easily connecting the devices.

Motor relay board can be activated by turning on the switch on the top left side.The board provides built-in 5V and 9V power supplies and also allows to connect external 12 V supply for some high voltage devices. Using motor board, we can control up to 4 motors at a time and we can also control the stepper motor using the same terminals. Test pins can be used for debugging purposes.

From the above image,

M1- Motor 1
M2- Motor 2
M3- Motor 3
M4- Motor 4

Microcontroller pin can’t be capable of driving inductive loads such as motors. They source only limited amount of current through the output pins. Hence it is required to use a driver circuitry for high current loads. ULN2003 is the current driver used in the OpenLab.

Motor board is controlled by port C by default. Motor terminals are connected to the board by means of screws on the terminal block.

Connect the motor board to port C using FRC cable and connect the load(such as a motor) to the terminal block.

Using the Bit Selection Pins

Bit selection pins are used to connect the specified port pins with the motor relay board pins. First 4 port pins are connected to relay input.


Remaining 4 port pins are connected to M1, M2, M3, M4 (motor terminal block) respectively. We need to use jumper caps to establish the connection between the port pins and motor relay board pins.


The 0th and 1st pins of PORT C provide PWM outputs. In order to control the speed of DC motor, we need to connect to separate jumper wires between PORT pins and motor pins.

Interfacing DC Motor with OpenLab

  • Activate the motor relay board by turning on the power switch at the top left side
  • Connect the motor relay board to the default port C (or any other available port ) using the FRC cable
  • Short the bit selection jumper using a jumper cap (any of the last four bits 4-7)
  • Wire the DC motor to the motor terminal block. One terminal should be to the VCC/GND and one to the M1-M4 pins which are selected in the previous step


Spread the love, share this