Using Different Motors in the Classroom

With the use of electronics and electronic applications growing in the classroom, teachers and students will inevitably start exploring and using different types of motors. However, if you don’t know what motor works best for your needs, it becomes a frustrating trial-and-error to find the correct one for your project. We are going to explore basic motors and their applications, benefits and gotchas in the classroom.

Can Motor

can motor

Can motors are the most basic electric motor out there. They have two wires (usually black and red) and when you use one in a complete circuit and pass current through it, the motor will turn one direction or another. To reverse the direction of the motor, change the polarity of the current and the motor will turn in the other direction. These motors do not have a gearbox so they are good for high-speed, low-torque applications. You can also use these motors as small generators or rotation sensors by hooking them up to Ground and Analog Input on an Arduino. If you read that analog pin while spinning the motor, you will see the value change.

Learn the basics of controlling a motor with a transistor circuit and an Arduino


  • Fan
  • Spinning or moving relatively light objects
  • Generator


  • Inexpensive
  • Easy to find from consumer products
  • Basic and simple to understand


  • Need to use a transistor circuit or H-Bridge to control the speed and direction with a microcontroller
  • Lack of torque reduces viability for robotics and driving applications


Geared Hobby Motor

Geared Hobby Motor

The geared hobby motor is similar to the can motor, but it has a gear box and a drive shaft, which makes it easy to attach things like wheels, pulleys, etc. These motors are geared 48:1 and have a top speed of 140 RPM. They're best used for robotics and driving applications, or rotational applications where precision is not required, such as turning an on/off, speed-controlled pulley or crank system.

Similar to the can motor, geared hobby motors require a transistor circuit or H-Bridge to control the speed and direction of the motor with a microcontroller.

Using an H-Bridge with Geared Motors Tutorial


  • Driving
  • Moving heavier objects such as wheeled robots, turning pulleys, etc.


  • Inexpensive
  • Higher torque than a can motor
  • Easier to mount to a project than a can motor


  • Need to use a transistor circuit or H-Bridge to control the speed and direction with a microcontroller
  • Gearbox is plastic, so stalling with a heavy load can break the gears


Servo Motor (0-180 Degrees)

Servo Motor

The servo motor is a “smart motor.” You can find them in steering and control mechanisms in RC cars and planes, as well as the speedometer in your car (if you drive a newer car). Most servo motors have a rotational range of 0 - 180 degrees and provide a location/angle feedback loop to a microcontroller, so your Arduino knows what angle it's at. You can use a microcontroller to then tell the servo to move to a specific angle, and it will move and stay there until you tell it to rotate again.

Servo motors come in many different sizes, which means different power requirements. The sub-micro servo that comes in our SparkFun Inventor’s Kit can run off of the 5V pin on the RedBoard; other servos may require more voltage and/or current to work properly (make sure you check the specifications of yours for the best outcome). The hookup of a servo is easy: Black to Ground, Red to supply voltage (5V) and white to a PWM ~ pin on an Arduino.

Most servo motors come with different “horns” to attach different things to the shaft of the motor, such as cables/wire for linear movement, wheels, etc.

Learn More About Servo Motors


  • RC plane/car steering and controls
  • Robotic hand/grippers
  • Controlled rotations (gauges, etc.)


  • Simple to wire
  • Accuracy with minimal setup
  • Ease of rotational to linear movement


  • Plastic gears can strip if pushed beyond the 0-180 degree limit
  • Power requirements for some servos need external power
  • Arduino library required to use


Stepper Motor

Stepper Motor

In a lot of ways, stepper motors are the best of both worlds, but they come with a cost. Stepper motors are high-torque, have staying power and accuracy control, and offer full rotation. The cost with this is the control circuit and programming overhead required. Stepper motors work by alternating the charge of two different coils. For each cycle of charging, the shaft of the motor moves one step or gear tooth inside of the motor. If you leave a coil charged, the motor shaft will not freely spin and stay in place. By rapidly cycling through the charging of the coils, you rotate the shaft. By using a microcontroller, the cycling of charge happens in a controlled and countable way, so you can get highly accurate control.

SparkFun Easy Driver

To use a stepper motor with a microcontroller more easily, we highly recommend using the Easy Driver. This board simplifies the wiring and control of a stepper motor and, more importantly, helps isolate the circuitry used to keep the stepper motor from damaging your microcontroller.

Using a Stepper Motor with the Easy Driver

The major drawback of using a stepper motor is that it lacks feedback to know how far it has rotated/the shaft location. This system has to be user-built.


  • CNC machine
  • Robotic arms/control systems


  • High torque
  • Staying power
  • Accuracy of rotation


  • Lack of feedback loop
  • Power consumption/management
  • Programming is a little beyond the basics


I hope this helps to demystify motors a bit for you. What is your favorite motor?

More information about motors, their applications and more in-depth trade-offs 

Subscribe to SparkFun Education Blog

Recent Posts

Submit Your Idea