# Make it Move with Crickit

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/055/298/medium800/robotics___cnc_motors.png?1528748538)

Robotics is all about _movement_. Just like you and I have muscles that push and pull, your robotic creation will likely have some sort of motor that will turn or spin. Part of your robot project will be to convert that turning or spinning into the movements you want. A twisting servo can become an elbow, a spinning motor can become a wheel.

**You have a project in mind where something needs to move. This is the guide for you!**

This Guide is in three parts:

**PART 1:** Getting Started Quickly with various motors and Crickit

**PART 2:** I want something to move like this, how do I do it?

**PART 3:** What are the various motors and how they work

# Introducing Adafruit Crickit

The toughest thing about robotics is "Motor Control" - how to get your ideas into motion (literally!).

To make this as easy as possible, we'll be using **CRICKIT**. The Adafruit Crickit (a **C** reative **R** obotics & **I** nteractive **C** onstruction **Kit** ) allows you to connect different programmable boards to motors quickly and easily.

The Crickit is the muscle behind your project. It needs a brain like a Circuit Playground Express to plug in. Once that is done, you can hook the motor to Crickit, code your microcontroller,&nbsp; power it on, it moves!

![](https://cdn-learn.adafruit.com/assets/assets/000/055/296/medium800/robotics___cnc_group.png?1528747544)

Crickit comes in four types depending on the microcontroller/board you want to use:

- [Adafruit Circuit Playground Express board](https://www.adafruit.com/product/3333)
- [Adafruit Feather board](https://www.adafruit.com/category/943)
- [BBC micro:bit board](https://www.adafruit.com/product/3362)
- [Raspberry Pi](https://www.adafruit.com/product/3957) (40 pin, all modern Pis)

Here are the four corresponding Crickit boards:

### Adafruit CRICKIT for Circuit Playground Express

[Adafruit CRICKIT for Circuit Playground Express](https://www.adafruit.com/product/3093)
Sometimes we wonder if robotics engineers ever watch movies. If they did, they'd know that making robots into servants always ends up in a robot rebellion. Why even go down that path? Here at Adafruit, we believe in making robots our&nbsp; **friends!**

So if you find...

In Stock
[Buy Now](https://www.adafruit.com/product/3093)
[Related Guides to the Product](https://learn.adafruit.com/products/3093/guides)
![Top down view of a Adafruit CRICKIT for Circuit Playground Express with a circular board connected. ](https://cdn-shop.adafruit.com/640x480/3093-07.jpg)

### Adafruit CRICKIT FeatherWing for any Feather

[Adafruit CRICKIT FeatherWing for any Feather](https://www.adafruit.com/product/3343)
Sometimes we wonder if robotics engineers ever watch movies. If they did, they'd know that making robots into servants always ends up in a robot rebellion. Why even go down that path? Here at Adafruit, we believe in making robots our&nbsp; **friends!**

So if you find...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3343)
[Related Guides to the Product](https://learn.adafruit.com/products/3343/guides)
![Angled shot of a Adafruit CRICKIT FeatherWing for any Feather](https://cdn-shop.adafruit.com/640x480/3343-02.jpg)

### Adafruit CRICKIT for micro:bit

[Adafruit CRICKIT for micro:bit](https://www.adafruit.com/product/3928)
Sometimes we wonder if robotics engineers ever watch movies. If they did, they'd know that making robots into servants always ends up in a robot rebellion. Why even go down that path? Here at Adafruit, we believe in making robots our&nbsp; **friends!**

So if you find...

In Stock
[Buy Now](https://www.adafruit.com/product/3928)
[Related Guides to the Product](https://learn.adafruit.com/products/3928/guides)
![Angled shot of a Adafruit CRICKIT for micro:bit connected to a black squared board.](https://cdn-shop.adafruit.com/640x480/3928-01.jpg)

### Adafruit CRICKIT HAT for Raspberry Pi

[Adafruit CRICKIT HAT for Raspberry Pi](https://www.adafruit.com/product/3957)
Sometimes we wonder if robotics engineers ever watch movies. If they did, they'd know that making robots into servants always ends up in a robot rebellion. Why even go down that path? Here at Adafruit, we believe in making robots our&nbsp; **friends!**

So if you find...

In Stock
[Buy Now](https://www.adafruit.com/product/3957)
[Related Guides to the Product](https://learn.adafruit.com/products/3957/guides)
![Adafruit CRICKIT HAT for Raspberry Pi connected to Add-ons. ](https://cdn-shop.adafruit.com/product-videos/640x480/3957-06.jpg)

### 5V 2A (2000mA) switching power supply - UL Listed

[5V 2A (2000mA) switching power supply - UL Listed](https://www.adafruit.com/product/276)
This is an FCC/CE certified and UL listed power supply. Need a lot of 5V power? This switching supply gives a clean regulated 5V output at up to 2000mA. 110 or 240 input, so it works in any country. The plugs are "US 2-prong" style so you may need a plug adapter, but you can pick one...

In Stock
[Buy Now](https://www.adafruit.com/product/276)
[Related Guides to the Product](https://learn.adafruit.com/products/276/guides)
![Angled shot of power supply.](https://cdn-shop.adafruit.com/640x480/276-06.jpg)

### USB cable - USB A to Micro-B

[USB cable - USB A to Micro-B](https://www.adafruit.com/product/592)
This here is your standard A to micro-B USB cable, for USB 1.1 or 2.0. Perfect for connecting a PC to your Metro, Feather, Raspberry Pi or other dev-board or microcontroller

Approximately 3 feet / 1 meter long

Out of Stock
[Buy Now](https://www.adafruit.com/product/592)
[Related Guides to the Product](https://learn.adafruit.com/products/592/guides)
![USB cable - USB A to Micro-B - 3 foot long](https://cdn-shop.adafruit.com/640x480/592-01.jpg)

# Make it Move with Crickit

## Motors at a Glance

![](https://cdn-learn.adafruit.com/assets/assets/000/068/675/medium800/makecode_Capture.jpg?1546630298 Graphic via MS Word clip art)

# How do you select a motor?

The next few pages will help you with what various types of motors can do and you can match capabilities to your project needs.

We will cover all these motors in greater detail in each section, with tips, tricks & gotcha's

For now lets take a quick tour of the different types of motors you can use!

# Motor Types

There are the four&nbsp;_types_ of motors that Crickit can drive:

- Continuous DC Motor (ungeared or geared)
- Standard/Hobby Servo
- Continuous Rotation Servo
- Stepper Motor

Here are the two types of motors that Crickit **cannot** drive:

- AC Motors
- BLDC/Brush-less DC Motors

Crickit can control different motors. Which type of motor you choose depends on the type of application you have in mind. Here is the list of motor types and an idea for when a certain motor may be appropriate for a certain type of movement.

We'll go into these in more detail but here's a rough overview:

# Continuous DC Motor
Continuous DC motors can turn all the way around like a wheel. You can get them&nbsp;_un-geared_&nbsp;where they turn at a stunning 2000 to 6000 times a minute (RPM) or geared where they turn at only about 250 RPM.

![robotics___cnc_cnc_3766.gif](https://cdn-learn.adafruit.com/assets/assets/000/055/601/medium640thumb/robotics___cnc_cnc_3766.jpg?1529418062)

With Crickit you can control the direction the motor turns (clockwise or counter-clockwise) and the speed, from stopped to full speed.

All DC motors have **two** wires that are used to power and control them

### CD DVD Spindle Motor

[CD DVD Spindle Motor](https://www.adafruit.com/product/3882)
What's this? A record player for _ants_?? Not at all! This is a **DVD/CD Spindle Motor** , that thing that's inside a CD or DVD player, that turns the disc around really fast. These motors have some great benefits that make them <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/3882)
[Related Guides to the Product](https://learn.adafruit.com/products/3882/guides)
![Video of a CD DVD Spindle Motor spinning.](https://cdn-shop.adafruit.com/product-videos/640x480/3882-05.jpg)

 **Ungeared DC motors** are good for fans and pinwheels and other light-weight spinning things, but they're too fast/weak for car wheels or moving something around.

### DC Toy / Hobby Motor - 130 Size

[DC Toy / Hobby Motor - 130 Size](https://www.adafruit.com/product/711)
These are standard '130 size' DC hobby motors. They come with a wider operating range than most toy motors: from 4.5 to 9VDC instead of 1.5-4.5V. This range makes them perfect for controlling with an Adafruit Motor Shield, or with an Arduino where you are more likely to have 5 or 9V...

Out of Stock
[Buy Now](https://www.adafruit.com/product/711)
[Related Guides to the Product](https://learn.adafruit.com/products/711/guides)
![DC Toy Hobby Motor ](https://cdn-shop.adafruit.com/640x480/711-06.jpg)

 **Geared/Gearbox DC motors** have a 'gear box' a collection of gears that slow down the motor but increase its strength at the same time. They are good for car wheels, zoetropes, cam followers, or other items where you need strength but not a lot of speed

### DC Gearbox Motor - "TT Motor" - 200RPM - 3 to 6VDC

[DC Gearbox Motor - "TT Motor" - 200RPM - 3 to 6VDC](https://www.adafruit.com/product/3777)
Perhaps you've been assembling a new robot friend, adding&nbsp;a computer for a brain and other fun personality touches. Now the time has come to let it leave the nest and fly on its own wings– err, _wheels!_&nbsp;

These durable (but affordable!) plastic gearbox motors...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3777)
[Related Guides to the Product](https://learn.adafruit.com/products/3777/guides)
![DC Gearbox Motor - TT Motor with two long wires and yellow body](https://cdn-shop.adafruit.com/640x480/3777-00.jpg)

## Why Use Them?

- They're _really_ inexpensive compared to servos
- They are both strong and easy to use
- Perfect when you want something to rotate!

# Hobby Servo (a.k.a. Standard/Micro)
"Hobby" Servos are also sometimes called "Standard" or "Micro" servos, are small boxy motors.

&nbsp;

The size of the 'box' may vary but they _always_ have **three** wires for power and control and the three wires are connected together into one 3-pin plug

![robotics___cnc_155-01.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/602/medium640/robotics___cnc_155-01.jpg?1529416389)

![robotics___cnc_169-03.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/608/medium640/robotics___cnc_169-03.jpg?1529417161)

Servos are a lot different than DC motors because while DC motors turn all the way around, standard **servos only move back and forth about 180 degrees**. (Note there are 'continuous servos' but we'll discuss these later.

![](https://cdn-learn.adafruit.com/assets/assets/000/055/646/medium800thumb/robotics___cnc_ezgif-4-3883462515.jpg?1529422006)

With DC motors you can control **speed** & **direction only!** You can't make the DC motor move to a specific location or move just 15 degrees. It either spins or not

With hobby servos you can control **angle/location** only. Since the servo doesn't turn all the way around, you can be specific about where you want it to move. But they don't spin

**Servos are great for small precision movements.** For example here's two servos (one standard, one micro) that are used to control a robotic eyeball:

![](https://cdn-learn.adafruit.com/assets/assets/000/055/611/medium800thumb/robotics___cnc_eyeballDiagram.jpg?1529418037)

As you can see, you don't need the eyeball to rotate all the way around (that would be way too creepy). Instead, we can have it tilt up-down and left right by using the two servos. By attaching them together we get a full range of 'realistic' eye movements.

Servos also tend to come with **horns** - these are snap on parts with little teeth that come in different shapes and sizes but are often round, X cross or | linear shaped. You can change the horns by simply removing and replacing, but using a screw with make the connection stronger

![robotics___cnc_169-02.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/603/medium640/robotics___cnc_169-02.jpg?1529416483)

![robotics___cnc_155-02.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/605/medium640/robotics___cnc_155-02.jpg?1529416620)

## Why use them?

- They're the best and only way to have precision motion
- Dozens of brands are available, with different prices, strengths, and some range of sizes
- Very easy to use - set the angle you like and you're done!
- Replaceable horns snap on and off

# Continuous Rotation Servos

OK so you know how I just said that servos are good for precision back-and-forth motion only?

Well, I didn't tell you the _whole_ story. There's also another kind of Servo called "Continuous Rotation" which does pretty much what you expect:

### Continuous Rotation Micro Servo

[Continuous Rotation Micro Servo](https://www.adafruit.com/product/2442)
Need to make a _tiny_ robot? This little micro servo rotates 360 degrees fully forward or backward, instead of moving to a single position. You can use any servo code, hardware, or library to control these servos. Good for making simple moving robots. Comes with five horns and...

In Stock
[Buy Now](https://www.adafruit.com/product/2442)
[Related Guides to the Product](https://learn.adafruit.com/products/2442/guides)
![Demo Video of the Continuous Rotation Micro Servo with a "t" shaped propeller connected to the gear and spinning.](https://cdn-shop.adafruit.com/product-videos/640x480/2442-02.jpg)

Instead of moving back-and-forth with precision motion they rotate all the way around like a DC motor

Now you might be wondering - **why on earth are there two different kinds of servos?**

Well, many many years ago, robotics started with just the 'standard' back and forth type. But then some makers realized that they rather liked the small square box of a servo and they modified it so it would rotate all the way around.

**This makes it act _a lot_ like a DC gearbox motor but continuous rotation servos are usually much smaller, and more expensive!**

## Why use them?

- They're smaller than DC gearbox motors, and lighter - for when DC gearbox motors won't fit or are too heavy
- For some small robot cars, they can act as wheel drives
- Some robotics boards don't have DC motor drivers because of the cost or complexity, they just have servo drivers.
- The enclosed box shape and horns may be easier for you to use than a DC motor!

# Stepper Motors
### Small Reduction Stepper Motor - 5VDC 32-Step 1/16 Gearing

[Small Reduction Stepper Motor - 5VDC 32-Step 1/16 Gearing](https://www.adafruit.com/product/858)
This is a great first stepper motor, good for small projects and experimenting with steppers. This uni-polar motor has a built-in mounting plate with two mounting holes. There are only 32 steps (11.25 degree) per revolution, and inside is a 1/16&nbsp;reduction gear set. (Actually it's...

In Stock
[Buy Now](https://www.adafruit.com/product/858)
[Related Guides to the Product](https://learn.adafruit.com/products/858/guides)
![Angled shot of small Reduction Stepper Motor](https://cdn-shop.adafruit.com/640x480/858-04.jpg)

Finally we come to stepper motors. Much like their name implies, they "step" along.

These come with **four** , **five** or **six** wires

![robotics___cnc_324-03.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/639/medium640/robotics___cnc_324-03.jpg?1529420817)

 **Like DC motors, they rotate all the way around.** But they do so very slowly, because of the little steps they have to take

**Like Servos, they have precision motion.** But not the way servos do, where you can set a specific angle. Instead you can rotate forward and back by little steps.

For example, here's an animation of a stepper with a flag on it. As you can see it rotates around at a slow but steady rate and can move forward or backward

&nbsp;

What you _can't_ see in the video is there's 200 "steps per rotation" and the flag is stepping along 200 times. From this distance it looks like a smooth rotation

![robotics___cnc_stepperflag.gif](https://cdn-learn.adafruit.com/assets/assets/000/055/642/medium640thumb/robotics___cnc_stepperflag.jpg?1529420941)

You'll see steppers a lot in precision electronic devices like CD/DVD players, 3D printers, scanners and inkjet printers.

Often times the stepper is connected to a gear or pulley that will turn the rotation of the stepper into linear motion. That linear motion is _very precise._

But that precision means they're slow to rotate. So even though you could put a wheel on a stepper motor, it would be a very very slow robot car. (That said, it would be a very _precise_ moving car, which is sometimes used with drawing robots!)

**There's one catch** - you can _only_ step forward and backwards. **You cannot tell the stepper to move to a particular angle like a servo.** So for example you can rotate a servo 15 degrees clockwise, but you don't know where the stepper is exactly, just that it turned. Sometimes people set up limit switches or sensors to help detect the location of a stepper for this very reason

For example, [this 3D printed camera slider project uses a stepper motor](https://learn.adafruit.com/bluetooth-motorized-camera-slider)

&nbsp;

If you tried to connect a DC gearbox motor to the pulley it would whip back and forth and the speeds would be hard to control!

&nbsp;

The stepper moves the phone along the railing in slow and deliberate steps.

![robotics___cnc_3d_printing_hero-slider-03.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/643/medium640/robotics___cnc_3d_printing_hero-slider-03.jpg?1529421173)

[Likewise the Axidraw use two steppers](https://www.adafruit.com/product/3509) to make an X-Y moving draw-bot

&nbsp;

The movement is very very precise. So much so it can draw intricate patterns with a pen. But it's slow, and complex drawings can take an hour or more!

![robotics___cnc_3509-05.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/644/medium640/robotics___cnc_3509-05.jpg?1529421505)

## **Why use them?**

- They're very precise. Many steppers have 200 or even 500 steps per rotation and you can move one step at a time
- They can 'hold' the current location like servos, but also rotate all the way around like DC motors.

# What about AC and Brushless DC motors?

There's two kinds of motors we won't cover at all here, AC motors and Brush-less DC (BLDC) Motors

[AC motors](https://en.wikipedia.org/wiki/AC_motor) require power from the wall, they're used for big devices like floor-standing fans, sewing machines and washing machines. These motors are _powerful_ and need that 120 or 220 Volts from an outlet. Because they are so powerful an high voltage, you cannot control them from a Crickit like you can DC motors. Instead, look at using a **relay** to switch the motor on or off.

We recommend a enclosed outlet power relay like this one:

### Controllable Four Outlet Power Relay Module version 2

[Controllable Four Outlet Power Relay Module version 2](https://www.adafruit.com/product/2935)
Say goodbye to hazardous high voltage wiring and create the [Internet of Things](https://www.adafruit.com/categories/342) with safe, reliable power control. The **IoT Power Relay** &nbsp;from&nbsp;[Digital...](http://www.digital-loggers.com/iot.html)

In Stock
[Buy Now](https://www.adafruit.com/product/2935)
[Related Guides to the Product](https://learn.adafruit.com/products/2935/guides)
![Controllable Four Outlet Power Relay Module](https://cdn-shop.adafruit.com/640x480/2935-13.jpg)

[Brush-less DC (BLDC) motors](https://en.wikipedia.org/wiki/Brushless_DC_electric_motor) are often used in either high-power portable electronics like electric skateboards or drones. These motors require a more precise timing motor controller than we have on Crickit.

While there might be a future Crickit with BLDC drivers, there isn't one right now! To drive BLDC motors, check the place you purchased the motor and ask if they have a recommended driver.

Both types of motors (AC and BLDC) require a lot more care and effort to use so we recommend them for experts only!

# Make it Move with Crickit

## Use a Continuous DC Motor Now

# Connecting a Continuous DC Motor to Crickit

The Crickit drives up to two DC motors via the **Motor** connections.

Each motor can go forwards or backwards from 0 to 100%.

Let's start with a single motor. Your DC motor will have two wires.

![robotics___cnc_3777-00.jpg](https://cdn-learn.adafruit.com/assets/assets/000/056/961/medium640/robotics___cnc_3777-00.jpg?1530587178)

Connect your two motor wires to the **Motor 1** connectors. For now it does not matter which color wire goes in which **Motor 1** slot.

&nbsp;

The connections are the same for the Crickit for Circuit Playground Express, Crickit Wing for Feather, Crickit for micro:bit, and Crickit HAT.

![robotics___cnc_motor_crickit3.jpg](https://cdn-learn.adafruit.com/assets/assets/000/056/957/medium640/robotics___cnc_motor_crickit3.jpg?1530587081)

![robotics___cnc_circuit_playground_dcmotor.png](https://cdn-learn.adafruit.com/assets/assets/000/056/958/medium640/robotics___cnc_circuit_playground_dcmotor.png?1530587116)

![makecode_microbit-dcmotor_bb.png](https://cdn-learn.adafruit.com/assets/assets/000/061/845/medium640/makecode_microbit-dcmotor_bb.png?1536934752)

![makecode_feather-dcmotor_bb.png](https://cdn-learn.adafruit.com/assets/assets/000/061/846/medium640/makecode_feather-dcmotor_bb.png?1536934939)

![makecode_HAT_Motor_bb_bb.png](https://cdn-learn.adafruit.com/assets/assets/000/068/677/medium640/makecode_HAT_Motor_bb_bb.png?1546631100)

Info: 

Please see the following pages on how to program DC motor movement on Crickit in either Microsoft MakeCode or CircuitPython.

# Make it Move with Crickit

## MakeCode

# MakeCode For Continuous DC Motors

You can [learn the basics of Microsoft MakeCode here](https://learn.adafruit.com/makecode "MakeCode Basics").

[You will need the Crickit block extensions installed. See this guide on doing so for both Circuit Playground Express and micro:bit versions of MakeCode.](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/makecode)

Primary: 

With Crickit support in MakeCode, you should have a green **CRICKIT** block group available. Clicking on that group pops out various blocks for Crickit capabilities including those related to motor control as shown below.

![](https://cdn-learn.adafruit.com/assets/assets/000/056/258/medium800/robotics___cnc_makecode1.png?1530026608)

## Move a Motor Forward
![](https://cdn-learn.adafruit.com/assets/assets/000/056/267/medium800/robotics___cnc_1motor-MakeCode.png?1530027345)

Drag the `crickit run motor` block into the `Forever` loop

- Adjust the speed by changing the percentage.
- Motor will run forever.
- If the motor is going the wrong way, use a negative percentage.

## Stop and Start using Circuit Playground Buttons

You can use the `on button click` event blocks to make quick interactive motor movements:

![](https://cdn-learn.adafruit.com/assets/assets/000/056/268/medium800/robotics___cnc_1motor-button-MakeCode.png?1530027537)

In this example above, one button makes the motor run. The other button will make the motor stop.

## Using the Circuit Playground Slide Switch to Change Motor Direction

The `set motor inverted` block changes the motor direction without having to swap wires. Add the following blocks to utilize the slide switch to change the motor direction.

![](https://cdn-learn.adafruit.com/assets/assets/000/056/269/medium800/robotics___cnc_1motor-switch-MakeCode.png?1530027692)

Info: 

# Make it Move with Crickit

## CircuitPython

# CircuitPython for Continuous DC Motors

You can [learn the basics of CircuitPython with Circuit Playground Express here](https://learn.adafruit.com/circuitpython-made-easy-on-circuit-playground-express "CircuitPython Basics").

[You will need install the special Crickit-optimized CircuitPython version, which will give you all the libraries _already built in!_ See this guide on doing so.](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/circuitpython-code)

With the special Crickit support in CircuitPython, it&nbsp;saves you tons of code and makes it really fast to get started.&nbsp;

[For in-depth information on using DC motors with CircuitPython, see this page](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/circuitpython-dc-motors)

Warning: 

## Move a Motor Forward
```
import time
from adafruit_crickit import crickit

# Create one motor on seesaw motor port #1
motor = crickit.dc_motor_1

# half speed forward
motor.throttle = 0.5

# Wait forever...
while True:
    time.sleep(1)
```

Use the code above to create a single motor on port #1

- Adjust the speed by changing the `motor.throttle` from `-1.0` (backwards full speed), to `1.0` (forward full speed)
- To stop, use `throttle = 0`
- Motor will run forever!
- If the motor is going the wrong way, use a negative number to reverse direction

## Stop and Start using Circuit Playground Buttons

You can use the&nbsp;`adafruit_circuitplayground.express` library to make quick interactive motor projects,[it's got ready-to-go button variables](https://learn.adafruit.com/circuitpython-made-easy-on-circuit-playground-express/buttons)!

```
from digitalio import DigitalInOut, Pull, Direction
from adafruit_crickit import crickit
import board
 
# Two onboard CPX buttons for input (low level saves memory)
button_a = DigitalInOut(board.BUTTON_A)
button_a.direction = Direction.INPUT
button_a.pull = Pull.DOWN

button_b = DigitalInOut(board.BUTTON_B)
button_b.direction = Direction.INPUT
button_b.pull = Pull.DOWN 

# Create one motor on seesaw motor port #1
motor = crickit.dc_motor_1

while True:
    if button_a.value:
        print("Button A pressed, go!")
        motor.throttle = 1.0  # full speed!

    if button_b.value:
        print("Button B pressed, stop!")
        motor.throttle = 0    # stop!
```

In this example above, one button makes the motor run. The other button will make the motor stop.

## Using the Circuit Playground Slide Switch to Change Motor Direction

Unlike MakeCode, we don't have the 'inverted' block, instead, we can keep track of the speed we want for our motor in a variable called `motor_speed`, then when we check the switch we can assign the `throttle` the positive version of that speed, or the negative of it!

```
import time
from digitalio import DigitalInOut, Direction, Pull
from adafruit_crickit import crickit
import board

# Set up slide switch
switch = DigitalInOut(board.SLIDE_SWITCH)
switch.direction = Direction.INPUT
switch.pull = Pull.UP

# Create one motor on seesaw motor port #1
motor = crickit.dc_motor_1

motor_speed = 1.0  # full speed!

while True:
    if switch.value:
        motor.throttle = motor_speed    # positive, forwards!
    else:
        motor.throttle = - motor_speed  # negative means backwards!
    
    # small delay to keep from sending crickit tons of messages
    time.sleep(0.1)
```

Info: 

# Make it Move with Crickit

## Use a Standard Servo Now

The Crickit can drive up to four standard (also called hobby) servo motors via the **Servo** connections block.

![robotics___cnc_circuit_playground_servo.jpg](https://cdn-learn.adafruit.com/assets/assets/000/056/937/medium640/robotics___cnc_circuit_playground_servo.jpg?1530584823)

The four servo block is identical on the Crickit for Circuit Playground Express, Crickit Wing for Feather, and Crickit for micro:bit.

&nbsp;

You can connect up to 4 servos.

&nbsp;

Your servo will have a 3-pin connector with black or brown, red and white or yellow wires.

![robotics___cnc_1servo.png](https://cdn-learn.adafruit.com/assets/assets/000/056/939/medium640/robotics___cnc_1servo.png?1530584877)

![makecode_feather-servos_bb.png](https://cdn-learn.adafruit.com/assets/assets/000/061/847/medium640/makecode_feather-servos_bb.png?1536935694)

![makecode_microbit-servos_bb.png](https://cdn-learn.adafruit.com/assets/assets/000/061/848/medium640/makecode_microbit-servos_bb.png?1536935714)

![makecode_HAT_Servo_bb.png](https://cdn-learn.adafruit.com/assets/assets/000/068/790/medium640/makecode_HAT_Servo_bb.png?1546884220)

Connect the servo to the 3 pins next the number 1. **The light colored wire should be pointing out and is closest to the number '1' marked on the Crickit** , the darkest color wire pointing towards the center of Crickit.

![robotics___cnc_t1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/056/938/medium640/robotics___cnc_t1.jpg?1530584848)

Make sure it presses down and looks like all three wires of the servo are attached to Crickit.

Info: 

Please see the following pages on how to program servos on Crickit in either Microsoft MakeCode or CircuitPython.

# Make it Move with Crickit

## MakeCode

# MakeCode for a Standard/Hobby Servo Motor

You can [learn the basics of Microsoft MakeCode here](https://learn.adafruit.com/makecode "MakeCode Basics").

[You will need the Crickit block extensions installed. See this guide on doing so.](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/makecode)

With Crickit support in MakeCode, you should have a green **CRICKIT** block group available. Clicking on that group pops out various blocks for Crickit capabilities including those related to motor control as shown below.

![](https://cdn-learn.adafruit.com/assets/assets/000/056/292/medium800/robotics___cnc_1servomc.png?1530043840)

Warning: 

## Moving the Servo via Buttons

We want to turn the servo horn on command from one side (0 degrees) to the other (180 degrees).&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/056/293/medium800/robotics___cnc_1buttonservoCapture.png?1530044018)

This program will move a servo to the zero degree point when the Circuit Playground Express button A is pressed. It will move the servo to 180 degrees when button B is pressed.

Danger: 

This trips up everyone the first time they use a servo - while the servos are often talked about in terms of 0 to 180 degree motion, there can be variation from servo to servo. Some metal gear servos only move 90 degrees. Others may need longer 'pulse lengths' and we won't go into that there. **There's nothing wrong with your servo just because it doesn't move a full 180 degrees!** Visit [https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/makecode-servos#precise-pulses](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/makecode-servos#precise-pulses) for more details on how to customize the pulse lengths!

## Moving a Servo in a Slower, Controlled Fashion

The code below creates a stepped movement from 0 to 180 and back again. The timing is variable with the pause blocks. This is a common use in terms of things like wings flapping or other movements.

If you find the movement a bit jerky, you can increase the `for index from 0 to` and set it to `180`&nbsp;then take out the divide by `10` in the `crickit set servo 1 angle to` block. You might have to play with the `pause` time then if you feel the motion is too slow.

## Example for Crickit for Circuit Playground Express and Crickit for Feather
![](https://cdn-learn.adafruit.com/assets/assets/000/056/294/medium800/robotics___cnc_1servo_flap.png?1530044545)

[Click here to open this example in MakeCode](https://makecode.com/_gppJyJ6hcL68)
## Example for Crickit for micro:bit
![](https://cdn-learn.adafruit.com/assets/assets/000/061/849/medium800/makecode_Capture3.jpg?1536936282)

[Open the micro:bit example in MakeCode](https://makecode.microbit.org/_Keh4YagCkfJ6)
# Make it Move with Crickit

## CircuitPython

# CircuitPython for Hobby Servo Motors

You can [learn the basics of CircuitPython with CircuitPlayground Express here](https://learn.adafruit.com/circuitpython-made-easy-on-circuit-playground-express "CircuitPython Basics").

[You will need install the special Crickit-optimized CircuitPython version, which will give you all the libraries _already built in!_ See this guide on doing so.](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/circuitpython-code)

With the special Crickit support in CircuitPython, the **adafruit\_crickit** , **adafruit\_seesaw** and **adafruit\_motor** library is built in, which saves you tons of space and makes it really fast to get started. No extra libraries required!

[For in-depth information on using servo motors with CircuitPython, see this page](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/circuitpython-servos)

Warning: 

## Moving the Servo via Buttons

We want to turn the servo horn on command from one side (0 degrees) to the other (180 degrees).&nbsp;

```
import time
from digitalio import DigitalInOut, Pull, Direction
from adafruit_crickit import crickit
import board
 
# Two onboard CPX buttons for input (low level saves memory)
button_a = DigitalInOut(board.BUTTON_A)
button_a.direction = Direction.INPUT
button_a.pull = Pull.DOWN

button_b = DigitalInOut(board.BUTTON_B)
button_b.direction = Direction.INPUT
button_b.pull = Pull.DOWN 
 
# Create one servo on Crickit's servo port #1
servo = crickit.servo_1
 
while True:
    if button_a.value:
        print("Button A pressed!")
        servo.angle = 180      # about 180 degrees
        time.sleep(0.1)        # give crickit some time to move
 
    if button_b.value:
        print("Button B pressed!")
        servo.angle = 0        # about 0 degrees
        time.sleep(0.1)        # give crickit some time to move
```

This program will move a servo to the zero degree point when the Circuit Playground Express button A is pressed. It will move the servo to 180 degrees when button B is pressed.

Danger: 

This trips up everyone the first time they use a servo - while the servos are often talked about in terms of 0 to 180 degree motion, there can be variation from servo to servo. Some metal gear servos only move 90 degrees. Others may need longer 'pulse lengths' and we won't go into that there. **There's nothing wrong with your servo just because it doesn't move a full 180 degrees!** Visit [https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/circuitpython-servos](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/circuitpython-servos) for more details on how to customize the pulse lengths!

## Moving a Servo in a Slower, Controlled Fashion

The code below creates a stepped movement from 0 to 180 and back again. The timing is variable with short `time.sleep()`s. This is a common use in terms of things like wings flapping or other movements.

```
import time
from adafruit_crickit import crickit

# Create one servo on seesaw servo port #1
servo = crickit.servo_1

while True:
    for angle in range(0, 180, 1):   # from 0 to 180, 1 degree at a time
        servo.angle = angle
        time.sleep(0.01)             # do nothing for a 1/100 second

    for angle in range(180, 0, -1):  # from 180 to 0, -1 deg at a time
        servo.angle = angle
        time.sleep(0.01)             # do nothing for a 1/100 second
```

You can make the code slower by increasing the number in `time.sleep()` to have more delay for every small movement. If you increase the range step from `1` to say `5` or `10`&nbsp;(and the same for the negative movement in the second `for` loop) ,you'll start to see jitter as the servo snaps to each movement creating some momentum that causes a small backwards motion when it stops.

# Make it Move with Crickit

## Use a Continuous Servo Now

# Continuous Servos vs 'Standard' or 'Hobby' Servos

Continuous rotation servo motors are geared motors like a regular servo **but the horn can turn 360 degrees in a circle like a continuous DC motor.**

Standard servos can move only to a specific angle between 0 and 180.

Continuous rotation servos can only change rotation speed, you cannot move the continuous rotation servo to a particular spot or location. **They're really more like continuous DC motors than servos** , but they're still _called_ servos because the shape and wiring is so similar

Continuous servos are usually marked continuous. But otherwise they look like their standard/hobby servo cousins. **Check which one you've got as they look the same!**

&nbsp;

One easy way to check is place the horn on the servo and gently/slowly twist it by hand. If it stops, its a standard servo. If it rotates all the way around, its likely a continuous servo

![robotics___cnc_2442-02a.jpg](https://cdn-learn.adafruit.com/assets/assets/000/056/917/medium640/robotics___cnc_2442-02a.jpg?1530580516)

Control of a continuous servo in code is much like a continuous DC motor in that code tells the motor to run from 0 to 100% of full speed. Negative values indicate reversed motion.

If you use two continuous servos on a robot, often one is run the same speed as the other but one is reversed as the mounting is 180 degrees rotated.

## The Servo Connections on Crickit
The Crickit can drive up to four continuous servo motors via the **Servo** connections block.

![robotics___cnc_circuit_playground_servo.jpg](https://cdn-learn.adafruit.com/assets/assets/000/056/953/medium640/robotics___cnc_circuit_playground_servo.jpg?1530586233)

Connecting a continuous servo is the same for Crickit for Circuit Playground Express, Crickit Wing for Feather, and Crickit for micro:bit.

&nbsp;

You can connect up to 4 servos at the same time.

&nbsp;

Your continuous servo will have a 3-pin connector with black or brown, red and white or yellow wires.

![robotics___cnc_1servo.png](https://cdn-learn.adafruit.com/assets/assets/000/056/950/medium640/robotics___cnc_1servo.png?1530586090)

![makecode_feather-servos_bb.png](https://cdn-learn.adafruit.com/assets/assets/000/061/850/medium640/makecode_feather-servos_bb.png?1536936592)

![makecode_microbit-servos_bb.png](https://cdn-learn.adafruit.com/assets/assets/000/061/851/medium640/makecode_microbit-servos_bb.png?1536936612)

![makecode_HAT_Servo_bb.png](https://cdn-learn.adafruit.com/assets/assets/000/068/680/medium640/makecode_HAT_Servo_bb.png?1546634379)

Connect the servo to the 3 pins next the number 1. **The light colored (white or yellow) wire should be pointing out and is closest to the number '1' marked on the Crickit**, the darkest (brown or black) color wire pointing towards the center of Crickit.

&nbsp;

Make sure it presses down and looks like all three wires of the servo are attached to Crickit.

![robotics___cnc_t1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/056/952/medium640/robotics___cnc_t1.jpg?1530586163)

Info: 

Please see the following pages on how to program continuous servos on Crickit in either Microsoft MakeCode or CircuitPython.

# Make it Move with Crickit

## MakeCode

# MakeCode for a Continuous Servo Motor

You can [learn the basics of Microsoft MakeCode here](https://learn.adafruit.com/makecode "MakeCode Basics").

[You will need the Crickit block extensions installed. See this guide on doing so.](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/makecode)

With Crickit support in MakeCode, you should have a green **CRICKIT** block group available. Clicking on that group pops out various blocks for Crickit capabilities including those related to servo control as shown below.

![](https://cdn-learn.adafruit.com/assets/assets/000/056/301/medium800/robotics___cnc_1servomc.png?1530046303)

Danger: 

For continuous servos, we will only use the middle (second) block called **crickit continuous servo 1 run at 50%**

## Running the Continuous Servo Like a Continuous DC Motor

Here is a simple MakeCode program that will run one servo connected to Servo 1 (as shown at the top right of this page) at full speed (100%):

![](https://cdn-learn.adafruit.com/assets/assets/000/056/302/medium800/robotics___cnc_1cr.png?1530046518)

## Running Two Continuous Servos on a Chassis

For two continuous servos back to back on a robot chassis, run them forward at full speed by running Servo 1 at 100% and Servo 2 at -100% for 2 seconds then stop:

![](https://cdn-learn.adafruit.com/assets/assets/000/056/307/medium800/robotics___cnc_2cr2.png?1530048318)

# Make it Move with Crickit

## CircuitPython

# CircuitPython for Continuous Servo Motors

You can [learn the basics of CircuitPython with Circuit Playground Express here](https://learn.adafruit.com/circuitpython-made-easy-on-circuit-playground-express "CircuitPython Basics").

With the special Crickit support in CircuitPython, it&nbsp;saves you tons of code and makes it really fast to get started.&nbsp;

[For in-depth information on using servo motors with CircuitPython, see this page](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/circuitpython-servos)

Warning: 

## Running the Continuous Servo Like a Continuous DC Motor

Here is a simple CircuitPython program that will run one servo connected to Servo 1 (as shown at the top right of this page) at full speed (100%):

```
import time
from adafruit_crickit import crickit

# Create one continuous servo on crickit servo port #1
servo = crickit.continuous_servo_1

servo.throttle = 1.0

while True:
    time.sleep(0.1)  # do nothing!
```

## Running Two Continuous Servos on a Chassis

For two continuous servos back to back on a robot chassis, run them forward at full speed by running Servo 1 at 100% and Servo 2 at -100% for 2 seconds then stop:

```
import time
from adafruit_crickit import crickit

# Create one continuous servo on crickit servo port #1
left_wheel = crickit.continuous_servo_1
# Create one continuous servo on crickit servo port #2
right_wheel = crickit.continuous_servo_2


while True:
    # Since the wheels are back-to-back
    # they have to have opposite rotation direections!
    left_wheel.throttle = 1.0
    right_wheel.throttle = -1.0

    time.sleep(2)  # move for 2 seconds...
    
    # Then stop both wheels
    left_wheel.throttle = 0
    right_wheel.throttle = 0

    time.sleep(2)  # stop for two seconds...
    # and repeat!
```

# Mismatched Wheel Speeds

Even continuous servos from the same manufacturer and the same type may rotate at slightly different speeds when set to the exact same speed.

There is a small screw setting in the servo body, unlike standard servos (see picture below). Using a small screwdriver, carefully adjust a servo, say one set to throttle equals zero, to have the motor stopped at that speed.

![](https://cdn-learn.adafruit.com/assets/assets/000/057/557/medium800/makecode_cont-servo.jpg?1531400849 A small continuous rotation servo bot with back to back servos. See the motor adjustment screws next to the wires for speed adjustment.)

# Make it Move with Crickit

## Use a Stepper Motor Now

You may have one of two types of stepper motors, unipolar or bipolar. Here is how you wire them up:

A four-wire stepper indicates a bipolar stepper motor.

&nbsp;

Wire the four wires to the **Motor** &nbsp;blocks on the Crickit in the order shown at the left.

&nbsp;

For this type of stepper, none of the wires connect to the central **Motor** terminal marked GND (ground).

![makecode_step-bipolarstepper_bb.png](https://cdn-learn.adafruit.com/assets/assets/000/057/202/medium640/makecode_step-bipolarstepper_bb.png?1530885277)

If you have one of the steppers with a blue plastic end and five rainbow colors, this is a unipolar stepper motor. [They are readily available at reasonable prices](https://www.adafruit.com/product/858). Be sure it is a 5 volt stepper. A common part number on the unit is 28BYJ-48 5VDC.

&nbsp;

The data sheet shows the red wire to 5V but it can also go to GND, the pin between the two **Motor** groups. Be sure the colors are wired in the exact order or it will not step.

![makecode_5_wire_stepper.png](https://cdn-learn.adafruit.com/assets/assets/000/057/222/medium640/makecode_5_wire_stepper.png?1530907218)

If you are connecting a unipolar stepper to the Drive port, use the wiring shown to the left. Follow the color connections carefully. On the **Motor** block, red was connected to GND. On the **Drive** block, red is connected to 5V. All is good with the wiring shown.

![makecode_5_wire_stepper_drive_port.png](https://cdn-learn.adafruit.com/assets/assets/000/057/225/medium640/makecode_5_wire_stepper_drive_port.png?1530907379)

Wiring for the Crickit for Circuit Playground Express, Crickit Wing for Feather, Crickit HAT and Crickit for micro:bit are identical.

![makecode_cpx-stepper-dual_blue-bb.png](https://cdn-learn.adafruit.com/assets/assets/000/061/878/medium640/makecode_cpx-stepper-dual_blue-bb.png?1536972800)

![makecode_feather-stepper-dual_bb.png](https://cdn-learn.adafruit.com/assets/assets/000/061/879/medium640/makecode_feather-stepper-dual_bb.png?1536972911)

![makecode_microbit-stepper-dual_bb.png](https://cdn-learn.adafruit.com/assets/assets/000/061/880/medium640/makecode_microbit-stepper-dual_bb.png?1536973066)

![makecode_HAT_steppers_bb.png](https://cdn-learn.adafruit.com/assets/assets/000/068/681/medium640/makecode_HAT_steppers_bb.png?1546635462)

The Crickit drives up to two stepper motors via the **Motor** and/or the **Drive** connections.&nbsp;

For simplicity, if you have a choice, consider connecting your stepper motor to the **Motor** port&nbsp;connectors. Ensure the colors match the diagram above for the type of stepper you have and it's best to have a 5 volt stepper.&nbsp;

If you want to use CircuitPython, skip down the page to that section.

Warning: 

Please see the following pages on how to program stepper motors on Crickit in either Microsoft MakeCode or CircuitPython.

# Make it Move with Crickit

## MakeCode

# MakeCode

In the **CRICKIT** block group, scroll down until you see the **Stepper** heading and the block `crickit stepper move` block. Be sure **not** to use the `crickit drive stepper move block`, that is for using a unipolar stepper on the **Drive** port shown further down.

![](https://cdn-learn.adafruit.com/assets/assets/000/057/304/medium800/makecode_use_stepper.png?1531151190)

## Move a Motor Port Stepper One Direction Forever

Here is a simple program that tells the stepper to move 20 steps, then waits 10 milliseconds, and repeats forever:

![](https://cdn-learn.adafruit.com/assets/assets/000/061/875/medium800/makecode_motorstepper.jpg?1536971958)

You'll see the motor shaft slowly turning in the "positive" direction. If you use a bit of non-clear tape on the stepper's shaft as a small flag, you can see the rotation better.

The more steps you take at once, the more jerk in the movement but you travel faster. **10 milliseconds is the lowest value to wait between movements**.

The number of steps can be positive or negative, with negative going in the opposite direction from positive, re. `-20` moves 20 steps in the opposite way

Warning: 

## Move the Motor Port Stepper Different Directions With Buttons

An example: Moving a crane wire up and then down. This could also be any movement one way and then the opposite way. You might code this with blocks like these:

![](https://cdn-learn.adafruit.com/assets/assets/000/061/874/medium800/makecode_motorstepper2.jpg?1536971880)

[Open this Example in MakeCode](https://makecode.com/_L6WXvLfjYaxy)
This code works as follows: When you push **Button A** on the Circuit Playground Express, the stepper starts to move in the positive direction. It takes 5 steps, waits 10 milliseconds, then repeats this 120 times for a total of 5 times 120 = 600 steps (3 to 6 revolutions, depending on the stepper) in a time of 120 times 50 milliseconds = 2 seconds.

If you push **Button B** , the same thing happens as in **Button A** but in reverse, because the steps taken are -5 and negative steps moves in the opposite direction.

Once you have the code running, you can change things to suit you. If 3 to 6 revolutions is too little, increase the value `120`. If the speed is too slow, up the steps per movement (in positive and negative direction). If the movement is too fast, you can decrease the steps and increase the `wait` time.

Info: 

## Using a Stepper on the Drive Port in MakeCode

In the **CRICKIT** block group, scroll down until you see the **Stepper** heading and the block `crickit drive stepper move` block.

![](https://cdn-learn.adafruit.com/assets/assets/000/057/305/medium800/makecode_drive_stepper.png?1531151345)

### Move a Drive Port Stepper One Direction Forever

Here is a simple program that tells the stepper to move 20 steps, then waits ten milliseconds, and repeats forever. 10 milliseconds should be the smallest pause between steps to ensure the motor settles before the next movement.

![](https://cdn-learn.adafruit.com/assets/assets/000/061/872/medium800/makecode_drivestepper.jpg?1536971633)

If you want to move the motor in the opposite direction, make the value negative, re. `-20`. The block takes positive and negative values.

## Move a Drive Port Stepper Different Directions With Buttons

An example: Moving a crane wire up and then down. This could also be any movement one way and then the opposite way. You can code this with blocks like these:

![](https://cdn-learn.adafruit.com/assets/assets/000/061/873/medium800/makecode_drivestepper2.jpg?1536971751)

[Open this Example in MakeCode](https://makecode.com/_659HVmfuVLTz)
# Make it Move with Crickit

## CircuitPython

# CircuitPython for Stepper Motors

You can [learn the basics of CircuitPython with Circuit Playground Express here](https://learn.adafruit.com/circuitpython-made-easy-on-circuit-playground-express "CircuitPython Basics").

With the special Crickit support in CircuitPython it&nbsp;saves you tons of code and makes it really fast to get started.&nbsp;

[For in-depth information on using stepper motors with CircuitPython, see this page](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/circuitpython-steppers)

Warning: 

## Running the Stepper Motor Forward and Backwards

Here is a simple CircuitPython program that will run one stepper connected to the **Motor** block (as wired at the top of this page). The stepper is moved in one direction 200 steps, wait a second, and then the opposite direction 200 steps.

10 milliseconds is the least amount of time you should use between steps. If you go much lower, the driver may miss steps. Of course the time can be longer for a slower speed.

```
import time
from adafruit_crickit import crickit
from adafruit_motor import stepper

# Step motor forward for a second and then backward a second &amp; repeat
while True:
    for i in range(400):
    	crickit.stepper_motor.onestep(direction=stepper.FORWARD)
        time.sleep(0.010)  # minimum sleep between steps
    time.sleep(1.0)        # wait a second
    for i in range(400):
        crickit.stepper_motor.onestep(direction=stepper.BACKWARD)
    	time.sleep(0.010)
    time.sleep(1.0)
```

## Running a Stepper Motor Continuously

A stepper can run like a very slow continuous DC motor or continuous servo. The following code runs a stepper at maximum speed in one direction. Change `stepper.FORWARD` to `stepper.BACKWARD` to change the direction of the movement.

```
import time
from adafruit_crickit import crickit
from adafruit_motor import stepper

# Step motor in one direction forever
while True:
    crickit.stepper_motor.onestep(direction=stepper.FORWARD)
    time.sleep(0.010)  # minimum sleep between steps
```

You will note the maximum speed, especially for the blue stepper (which is geared), is very slow!

# Using the Drive Terminals for Unipolar Steppers

The **Drive** terminal block on Crickit can be used to control only unipolar steppers.&nbsp;

Here are the same two code samples as listed above. For Circuit Playground Express with Crickit, instead of using&nbsp;`crickit.stepper_motor`, the code uses `crickit.drive_stepper_motor`.

For a Feather with Crickit, instead of the original `crickit.stepper_motor`, use `crickit.feather_drive_stepper_motor`.

The following uses the changes for Circuit Playground Express - make the name change for Feather noted above if you have a Feather + Crickit.

```
import time
from adafruit_crickit import crickit
from adafruit_motor import stepper

# Step motor forward for a second and then backward a second &amp; repeat
while True:
    for i in range(400):
    	crickit.drive_stepper_motor.onestep(direction=stepper.FORWARD)
        time.sleep(0.010)  # minimum sleep between steps
    time.sleep(1.0)        # wait a second
    for i in range(400):
        crickit.drive_stepper_motor.onestep(direction=stepper.BACKWARD)
    	time.sleep(0.010)
    time.sleep(1.0)
```

And the continuous stepper example for the **Drive** port:

```
import time
from adafruit_crickit import crickit
from adafruit_motor import stepper

# Step motor in one direction forever
while True:
    crickit.drive_stepper_motor.onestep(direction=stepper.FORWARD)
    time.sleep(0.010)  # minimum sleep between steps
```

Have fun integrating a stepper motor into your projects!

# Make it Move with Crickit

## Pick Your Movement Type

# Movement Types

When designing your project, it would benefit you in the design process to think about how you want the project to work, then to pick the appropriate parts which meet your needs.

The following are typical types of movement you might want to make with a motor:

# Spinning Movements

## Forward and backward, moving on the ground

This is a very common movement. Do you want a vehicle to move around a room? An airplane propeller to turn? Let's see how to do this.

![](https://cdn-learn.adafruit.com/assets/assets/000/055/679/medium800thumb/robotics___cnc_3216-09.jpg?1529432477)

It's best to look at&nbsp; how we make other things move and model after that. The most common methods (in order) are:

1. Wheels
2. Tracks (wheels with [connected treads like a tank and Johnny 5 in Short Circuit](https://www.youtube.com/watch?v=POxMp61Ksbk))
3. Friction (a crawling motion)

Most robots needing to roll use continuous DC motors for their speed at an affordable price. Continuous rotation servos can be used - we'll cover that after motors.

Go over the five points for continuous DC motors to decide what kind of motor you want to use.&nbsp;

For **small rolling robots with wheels** , **spinning a platter** , and other **rotational movements that do not require high speed** but do offer ease of use, Adafruit recommends gearbox TT motors. They are easy to mount with screws and brackets, they offer good speed & torque, you can connect a variety of wheels, and they are low cost. The following TT motors are available from Adafruit:

- [Yellow TT Motor](https://www.adafruit.com/product/3777 "https://www.adafruit.com/product/3777") - 200 rotations per minute, 3 to 6 volt DC, plastic gears
- [Blue Bi-metal Motor](https://www.adafruit.com/product/3801 "https://www.adafruit.com/product/3801") - 120 rpm (at 6v), 3 to 6 volts, tougher steel gears but more noisy
- [Blue All-metal Motor](https://www.adafruit.com/product/3802 "https://www.adafruit.com/product/3802") - 120 RPM (at 6v), 3 to 6 volts, toughest gears (also loud)

You pick based on your speed needs and durability. If you are spinning something that will not have anything heavy on it, yellow is fine, but spinning something heavy might be better for the blue versions. Likewise, for a flat terrain, low cost robot, yellow is fine vs. an all terrain Mars rover would benefit from the tougher gear versions.

The nice thing is these motors are similar size - you can start with one and if you find you need something more or less beefy, the others should fit if the length isn't too tight.

Adafruit carries a selection of [wheels for TT motors](https://www.adafruit.com/?q=tt%20motor%20wheel "wheels for TT motors")&nbsp;and other shaft connectors including an adapter for [lego gears](https://www.adafruit.com/product/3810 "lego gear adapter") which is very convenient for many projects.

To the left you can see TT motors attached to one of the [Adafruit robotics chassis](https://www.adafruit.com/product/3796 "Adafruit robotics chassis") as an example of mounting.

&nbsp;

Two TT Motors (yellow) attached to wheels and a chassis. A controller, such as Crickit, can be mounted on the opposite side.

![robotics___cnc_3796-08.jpg](https://cdn-learn.adafruit.com/assets/assets/000/056/918/medium640/robotics___cnc_3796-08.jpg?1530580576)

# Pulling Up or Down

## Like water from a well, a crane or even side to side

Physics, cranes and puzzle rooms offer us ideas for getting motion in many different angles. Something moves and pulls something up or slides something. Here are some pictures of this type of movement:

_Images above credit: Wikipedia CC-SA 3.0 [crane](https://commons.wikimedia.org/wiki/File:Crane_machine_slewing_platform.svg "crane") and public domain [pulley](https://commons.wikimedia.org/wiki/File:Flachriemen.png "pulley")_

**For this type of motion, you will want to consider [a pulley](https://en.wikipedia.org/wiki/Pulley "Pulley").** A pulley can be driven by a motor directly or have a belt or string drive the pulley from somewhere else. **It translates a rotational motion to a pulling motion**

Adafruit carries pulleys for:

- Continuous DC TT Motors: [36mm diameter](https://www.adafruit.com/product/3789 "Pulley")
- Stepper Motors: [Timing Pulleys for GT2 Belts](https://www.adafruit.com/?q=GT2 "Timed Belts")

You can also find different sized pulleys and other similar materials on the Internet. You can use dowels (round rods from craft and wood stores) to make your own pulleys. The time tested favorite is an empty thread spool affixed with something like a nail or screw.

For belts, you can use precision belts for specialized applications. But the easiest items for simple projects are usually around the house or craft store. Using rubber bands or thread are the two favorites.

You want enough slack so things will not break during use but not so loose that the mechanism slips when turning.

# Back and Forth Motion

## Like windshield wipers, flapping wings, a deadbolt or other limited movement motion

This type of motion is where Servo motors shine. **Servos can move to any angle you want within a 180 degree arc.**

For an excellent example of how to use a servo to create motion, [look over this guide on animatronic eyes](https://learn.adafruit.com/crickit-controlled-animatronic-eyeball "Animatronic Eye Guide"). You can see how two servos provide motion in two different directions.&nbsp; Or look at the animation below:

![](https://cdn-learn.adafruit.com/assets/assets/000/056/443/medium800thumb/robotics___cnc_dastels.jpg?1530130916)

You can use a servo where you might consider a motor or pulley but the motion is not very big. Reviewing the different horns that can be attached to servos might help you visualize how the servo motion might map into the motion needed on your project.

Take, for example, a locking mechanism. You might have a servo move something that unlocks from the inside.

# Linear Back & Forth, Push & Pull

Servos go back and forth but they rotate when they do that. If you absolutely need motion that goes back and forth but can move just a short distance (a few millimeters!) a solenoid can work.

A **solenoid** is an alternative to a servo for very short, straight motions. Solenoids use a coil of wire, similar to a motor but fixed, such that metal inside the coil will move in when energized.

**Solenoids use a ton of power, are not very strong, and only move a few millimeters!**

![](https://cdn-learn.adafruit.com/assets/assets/000/055/635/medium800thumb/robotics___cnc_Solenoid_actuator.jpg?1529419398 A solenoid (right, bottom, coppery), moves a mechanical shutter (source: Wikipedia))

Adafruit sells several types of solenoids for such applications, but for use with Crickit, we only have a single solenoid that works at 5V. You can see in the animated GIF below, it doesn't move very far!

### Mini Push-Pull Solenoid - 5V

[Mini Push-Pull Solenoid - 5V](https://www.adafruit.com/product/2776)
Solenoids are basically electromagnets: they are made of a coil of copper wire with an armature (a slug of metal) in the middle. When the coil is energized, the slug is pulled into the center of the coil. This makes the solenoid able to pull (from one end) or push (from the other).

This...

In Stock
[Buy Now](https://www.adafruit.com/product/2776)
[Related Guides to the Product](https://learn.adafruit.com/products/2776/guides)
![Mini Push-Pull Solenoid wired to Trinket, activating back and forth](https://cdn-shop.adafruit.com/product-videos/640x480/2776-07.jpg)

# Precision movements for plotting or printing

OK now're at the hard stuff. You want precision motion, like a drawing robot?

You really need to consider your project if you believe it needs a level of precision. You should ask:

- Will a servo be precise enough?
- Is a stepper motor the only way to accomplish this?

Stepper motors are generally a bit more expensive and controlling them takes different circuits than the other motors discussed. But they can travel a full 360 degrees like continuous motors and servos in very precise steps, both backward and forward.

If a stepper motor provides the motion you are looking for, you should decide how the connections will be made to the shaft. You can directly connect to the shaft, use a pulley system or use a toothed belt system.

For direct connections, you will want to use a piece known as a coupler. These are cylinders with a hole in the middle for the stepper shaft and the item you want to spin.&nbsp; There are tiny set screws on the side to hold things in place.

For belted connections, you will need to consider your use. Adafruit sells a nice selection of belts and pulleys adhering to the GT2 standard. GT2 has more rounded teeth and make for a very secure, reliable system.

![](https://cdn-learn.adafruit.com/assets/assets/000/055/645/medium800/robotics___cnc_3d_printing_hero-slider-04.jpg?1529421522)

# Make it Move with Crickit

## About Continuous DC Motors

## Continuous DC Motors in Detail!

This is the type of motor most people are familiar with in battery-powered toys. A motor body, usually round, drives a mechanical shaft at a certain rate of speed. If you connect something like a wheel or pulley to the motor shaft, the wheel or pulley turns.

Continuous DC motors turn when the electricity in coils makes a magnetic field which is opposed by permanent magnets in inside the case. Contacts (between the yellow and green wires in the diagram below) change the direction of the current every half cycle, ensuring the coils continue to oppose the magnets and maintains motion.

![](https://cdn-learn.adafruit.com/assets/assets/000/055/426/medium800thumb/robotics___cnc_Electric_motor.jpg?1529003515 Motion inside a DC motor (credit: Wikipedia user Wapcaplet, CC-SA-3.0))

Continuous DC motors are **cheap** and **plentiful** - they're available in nearly any size and speed. Often they are customized to the exact needs of a product!

![](https://cdn-learn.adafruit.com/assets/assets/000/055/369/medium800/robotics___cnc_dc.png?1528809740 Examples of continuous DC Motors (ungeared) in various sizes (credit: Adafruit))

Motors have a _body_ (the main bulk of the motor) and a _shaft_&nbsp; (the part in the center that turns). Some motors have a gear attached to power something.

The motors above most likely need a motor mount - a bracket of some sort to hold it in place. Common mounts are aluminum or plastic (3-D printing is good for mounts).

# Geared Motors

Continuous motors are very _fast_ - rotating at thousands of RPM. This is often too fast for a project, so to slow it down we use gears. The gears slow down the motor and at the same time increase its strength ("torque")

When the motor comes with several gears as a package, like the one below, it is called a **Gearbox DC Motor**.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/055/424/medium800/robotics___cnc_3777.jpg?1528980330 Gearbox Motor - this packaging goes by the nickname TT motor (credit: Adafruit))

Geared motors likely turn slower than the actual motor shaft. But due to the gearing action, the motor is able to provide more _torque_ - a stronger turning force - which is great in effectively moving a load.

The yellow motor above, called a TT Motor, is a common size for hobby projects as it is powerful and affordable. TT Motors also are easy to mount due to the body shape and provided mounting holes.

As you can see on the right it uses a fully plastic gearbox. This makes it inexpensive and light.

You can also get TT motors with metal gearboxes. [They look a lot like our yellow all-plastic-gearbox motors](https://www.adafruit.com/product/3777) but these have all of the motor gears machined from steel, so they won't strip as easily, and they're twice as slow (and twice as powerful) given their lower gearbox ratio. The metal gears also mean they're&nbsp;louder when running.

![robotics___cnc_3802-04.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/647/medium640/robotics___cnc_3802-04.jpg?1529422326)

## Picking a Continuous DC Motor

When looking at continuous DC motors (geared and ungeared), you will want to look at the following characteristics:

1. The body size, shape, and weight. What type of _mounting points_&nbsp;(screw holes, brackets) does it have?
2. What type of connection is on the shaft to help connect a wheel, pulley, etc. to the motor?
3. How fast does the motor shaft spin at full speed? How much _torque_ (rotational force) does the motor have?
4. Does my application need the speed & torque that a geared DC motor provides?
5. What voltage does the motor run on and what electrical current does the motor draw when
  1. starting up
  2. running full speed
  3. stalled (if the shaft is grabbed so it cannot rotate)

![](https://cdn-learn.adafruit.com/assets/assets/000/055/432/medium800thumb/robotics___cnc_3766.jpg?1529006418)

## Buying Guide

Here are some motors in the Adafruit Shop which have been hand-picked for various applications you may be looking for:

### Gearbox DC Motors
### DC Gearbox Motor - "TT Motor" - 200RPM - 3 to 6VDC

[DC Gearbox Motor - "TT Motor" - 200RPM - 3 to 6VDC](https://www.adafruit.com/product/3777)
Perhaps you've been assembling a new robot friend, adding&nbsp;a computer for a brain and other fun personality touches. Now the time has come to let it leave the nest and fly on its own wings– err, _wheels!_&nbsp;

These durable (but affordable!) plastic gearbox motors...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3777)
[Related Guides to the Product](https://learn.adafruit.com/products/3777/guides)
![DC Gearbox Motor - TT Motor with two long wires and yellow body](https://cdn-shop.adafruit.com/640x480/3777-00.jpg)

### TT Motor Bi-Metal Gearbox - 1:90 Gear Ratio

[TT Motor Bi-Metal Gearbox - 1:90 Gear Ratio](https://www.adafruit.com/product/3801)
These durable (but affordable!) gearbox motors (also known as 'TT' motors) are an easy, low-cost way to get your projects moving. This is a&nbsp; **TT DC Bi-Metal Gearbox Motor** &nbsp;with a gear ratio of&nbsp; **1:90** about **double** of the...

In Stock
[Buy Now](https://www.adafruit.com/product/3801)
[Related Guides to the Product](https://learn.adafruit.com/products/3801/guides)
![TT Motor with Bi-Metal Gearbox](https://cdn-shop.adafruit.com/640x480/3801-01.jpg)

### TT Motor All-Metal Gearbox - 1:90 Gear Ratio

[TT Motor All-Metal Gearbox - 1:90 Gear Ratio](https://www.adafruit.com/product/3802)
These durable (but affordable!) gearbox motors (also known as 'TT' motors) are an easy, low-cost way to get your projects moving. This is a&nbsp; **TT DC All-Metal Gearbox Motor** &nbsp;with a gear ratio of&nbsp; **1:90** about **double** of the...

In Stock
[Buy Now](https://www.adafruit.com/product/3802)
[Related Guides to the Product](https://learn.adafruit.com/products/3802/guides)
![TT Motor All-Metal Gearbox](https://cdn-shop.adafruit.com/640x480/3802-00.jpg)

### Continuous DC Motor (Ungeared)
### CD DVD Spindle Motor

[CD DVD Spindle Motor](https://www.adafruit.com/product/3882)
What's this? A record player for _ants_?? Not at all! This is a **DVD/CD Spindle Motor** , that thing that's inside a CD or DVD player, that turns the disc around really fast. These motors have some great benefits that make them <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/3882)
[Related Guides to the Product](https://learn.adafruit.com/products/3882/guides)
![Video of a CD DVD Spindle Motor spinning.](https://cdn-shop.adafruit.com/product-videos/640x480/3882-05.jpg)

### DC Toy / Hobby Motor - 130 Size

[DC Toy / Hobby Motor - 130 Size](https://www.adafruit.com/product/711)
These are standard '130 size' DC hobby motors. They come with a wider operating range than most toy motors: from 4.5 to 9VDC instead of 1.5-4.5V. This range makes them perfect for controlling with an Adafruit Motor Shield, or with an Arduino where you are more likely to have 5 or 9V...

Out of Stock
[Buy Now](https://www.adafruit.com/product/711)
[Related Guides to the Product](https://learn.adafruit.com/products/711/guides)
![DC Toy Hobby Motor ](https://cdn-shop.adafruit.com/640x480/711-06.jpg)

### DC Motor in Micro Servo Body

[DC Motor in Micro Servo Body](https://www.adafruit.com/product/2941)
This tiny&nbsp; **DC Motor in Micro Servo Body** is an interesting motor - it's the same size and shape as our micro servo but it _isn't_ a servo. It's more like a DC motor + plastic gear-train in a box. It's not a super powerful motor, it would do well as a...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2941)
[Related Guides to the Product](https://learn.adafruit.com/products/2941/guides)
![DC Motor in Micro Servo Body and 0.1" power cable](https://cdn-shop.adafruit.com/640x480/2941-00.jpg)

## Accessories

The main accessory you should consider is how to hook the part of your project that needs to spin to the shaft of the motor.&nbsp;

For larger shafts (5 mm to 10 mm), Adafruit sells [shaft couplers](https://www.adafruit.com/?q=shaft%20coupler "shaft couplers") that fasten using set screws.

TT Motors have a specific shape to their shaft, making it easier to press fit various parts made specifically for a TT motor shaft. Parts including various types of wheels, pulleys, and shaft adapters make for flexible connections.

TT motors also easily support attachment of special disks that, when used with a sensor, can help encode the position of the shaft.

### Orange and Clear TT Motor Wheel for TT DC Gearbox Motor

[Orange and Clear TT Motor Wheel for TT DC Gearbox Motor](https://www.adafruit.com/product/3766)
Usually when one needs an orange wheel&nbsp;it's a garnish for a cocktail, like a tasty Sidecar. And speaking of cars,&nbsp;this wheel **&nbsp;** is for driving, not drinking!

Need a great drive solution for&nbsp;your little robotic friends?&nbsp;This&nbsp; **Orange...**

In Stock
[Buy Now](https://www.adafruit.com/product/3766)
[Related Guides to the Product](https://learn.adafruit.com/products/3766/guides)
![Orange and Clear TT Motor Wheel for DC Gearbox Motor](https://cdn-shop.adafruit.com/640x480/3766-00.jpg)

### Thin White Wheel for TT DC Gearbox Motors - 65mm Diameter

[Thin White Wheel for TT DC Gearbox Motors - 65mm Diameter](https://www.adafruit.com/product/3763)
We're keepin' it&nbsp;_wheel_ with this one! Plastic gear-box motors (also known as 'TT' motors) are an easy and low cost way to get your projects moving. But we've noticed that there are not a lot of nice TT motor&nbsp;_wheels&nbsp;_to go along with...

In Stock
[Buy Now](https://www.adafruit.com/product/3763)
[Related Guides to the Product](https://learn.adafruit.com/products/3763/guides)
![Thin White Wheel for TT DC Gearbox Motors](https://cdn-shop.adafruit.com/640x480/3763-00.jpg)

### Skinny Wheel for TT DC Gearbox Motors

[Skinny Wheel for TT DC Gearbox Motors](https://www.adafruit.com/product/3757)
Plastic gear-box motors (also known as 'TT' motors) are an easy and low cost way to get your projects moving. But we've noticed that there are not a lot of nice TT motor _wheels_ to go along with them.

This **TT DC Motor Wheel** is solid, but thin, so it...

In Stock
[Buy Now](https://www.adafruit.com/product/3757)
[Related Guides to the Product](https://learn.adafruit.com/products/3757/guides)
![Angled shot of a black, skinny plastic wheel.](https://cdn-shop.adafruit.com/640x480/3757-00.jpg)

### TT Motor Pulley - 36mm Diameter

[TT Motor Pulley - 36mm Diameter](https://www.adafruit.com/product/3789)
Mechanical transmission for the win, this simple plastic pulley can attach to your TT motor to transmit rotation from the motor axle&nbsp;to...somewhere else.

This is a very useful part when you require more than wheels for your robotics project. A belt and pulley solution can be...

In Stock
[Buy Now](https://www.adafruit.com/product/3789)
[Related Guides to the Product](https://learn.adafruit.com/products/3789/guides)
![TT Motor Pulley installed on DC motor](https://cdn-shop.adafruit.com/640x480/3789-03.jpg)

### DC Gearbox "TT" Motor to LEGO® compatible Cross Axle

[DC Gearbox "TT" Motor to LEGO® compatible Cross Axle](https://www.adafruit.com/product/3810)
Who doesn't love LEGO® compatible bricks? Nobody! Except when we accidentally step on them. There are soooo many mechanical&nbsp;things one can make with those ubiquitous bricks, plates, gears, pulleys. Say a [13-meter high London...](https://www.youtube.com/watch?v=kV2LXHvZHZo)

In Stock
[Buy Now](https://www.adafruit.com/product/3810)
[Related Guides to the Product](https://learn.adafruit.com/products/3810/guides)
![Lego Gear installed onto DC Gearbox TT Motor Axle, attached to TT motor](https://cdn-shop.adafruit.com/640x480/3810-03.jpg)

### TT Motor Encoder (Pack of 2)

[TT Motor Encoder (Pack of 2)](https://www.adafruit.com/product/3782)
Plastic gear-box motors (also known as 'TT' motors) are an easy and low cost way to get your projects moving. They're low cost, durable, and easy to use. The trade-off for those low cost hobby motors is that they don't have any way of knowing their speed or location. Basically...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3782)
[Related Guides to the Product](https://learn.adafruit.com/products/3782/guides)
![Pack of 2 TT Motor Encoders](https://cdn-shop.adafruit.com/640x480/3782-00.jpg)

### Snap-on Hub for TT Motor

[Snap-on Hub for TT Motor](https://www.adafruit.com/product/3769)
_Sprockets, wheels, and gears, oh my!_ We really like our DC gear motors (a.k.a "TT Motor") but unless you have a 3D printer it can be a challenge to get something attached to the axle. That's why we've got this **TT Motor Hub** - it snaps onto the end and...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3769)
[Related Guides to the Product](https://learn.adafruit.com/products/3769/guides)
![Snap-on Hub for TT Motor with two flanges](https://cdn-shop.adafruit.com/640x480/3769-00.jpg)

# Make it Move with Crickit

## About Standard Servo Motors

![](https://cdn-learn.adafruit.com/assets/assets/000/055/633/medium800thumb/robotics___cnc_robotics_2829Demo.jpg?1529418677 Several different servos in use (credit: Adafruit))

# Servo Motor (Hobby or Standard)

These specialty motors have electronics, gears, and a motor to turn what is connected to them. Unlike other motors, servos have a limited range of rotation, usually half way around a circle (180 degrees). A servo can be told at what angle to turn to so movements can be controlled by the user.

A servo with an electronic servo controller is great for moving things in a very controlled fashion. Most robot joints along with robot car steering systems use servos. They can also be used to move something in and out a short distance dependent on the type of horn and connection to the horn.

# Servo Sizes

Servos come in different sizes. They are often a "standard size" although when you buy one you should check the dimensions to make sure it is the size you want. Typical names for sizes are standard and micro although other terms like nano, ultra-nano, and giant might be used.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/056/942/medium800/robotics___cnc_155-03.jpg?1530585287 Most servos are about this large, and are called 'standard size' servos)

![](https://cdn-learn.adafruit.com/assets/assets/000/056/941/medium800/robotics___cnc_2201-03.jpg?1530585236 Servos can be as small as a coin!)

# Inside of a Servo
Inside a servo is a continuous DC motor, control electronics, a variable resistor (potentiometer) and gears for the range of motion.

&nbsp;

On the left is a nice photo we took of the internal gear-box of a servo!

&nbsp;

Some servos come with metal gears, which are more rugged, but they may emit a bit more noise.

![robotics___cnc_1143-02.jpg](https://cdn-learn.adafruit.com/assets/assets/000/056/945/medium640/robotics___cnc_1143-02.jpg?1530585719)

The gearbox means a servo is strong, and somewhat slow. It can only move back and forth about 180 degrees. The movement might be more limited on certain servos, perhaps 170 degrees on some, only 90 degrees on another.

![](https://cdn-learn.adafruit.com/assets/assets/000/055/650/medium800/robotics___cnc_servo-pic_angle.png?1529422893)

There are three wires on a standard servo, two for DC power and one for control. A servo requires some other electronics to tell it what angle to turn to.... like a Crickit!

![robotics___cnc_t1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/056/948/medium640/robotics___cnc_t1.jpg?1530585962)

Servos come with various screw on pieces, called _horns_, to help you attach the servo to something else, making connections easier than with Continuous DC motors.

# Horns & Accessories

One of the benefits of the servo form factor in general are the number of accessories available to mount on the shaft. Nearly all servo shafts have grooves so attachments fit in without spinning. The shaft also has a hole at the end to secure attachments.

The attachment items for servos are almost always called _horns_. Horns can come in various shapes to allow users to make various types of connections depending on their project. Most servos you buy will come with two or three horns that fit that specific servo but often you can mix or match other horns and shops have alternatives to the ones in the package.

![robotics___cnc_155-02.jpg](https://cdn-learn.adafruit.com/assets/assets/000/056/946/medium640/robotics___cnc_155-02.jpg?1530585788)

Horns most often have holes in them to help make attachments, often screws or wires.

![robotics___cnc_horns.png](https://cdn-learn.adafruit.com/assets/assets/000/056/921/medium640/robotics___cnc_horns.png?1530580695)

![robotics___cnc_horns.png](https://cdn-learn.adafruit.com/assets/assets/000/056/922/medium640/robotics___cnc_horns.png?1530580717)

There are specialty accessories&nbsp; for continuous rotation servos like wheels. For standard/hobby servos, a wheel would only turn 180 degrees, limiting the usefulness of a wheel.

### Continuous Rotation Servo Wheel

[Continuous Rotation Servo Wheel](https://www.adafruit.com/product/167)
Plastic wheel with a cutout specially designed to allow attachment to our [larger continuous rotation servo](https://www.adafruit.com/product/154). Makes it easy to get your robot rolling. Each wheel comes with a&nbsp;rubber tire that is quite sturdy. To attach, just remove the horn...

In Stock
[Buy Now](https://www.adafruit.com/product/167)
[Related Guides to the Product](https://learn.adafruit.com/products/167/guides)
![Small, black, plastic wheel](https://cdn-shop.adafruit.com/640x480/167-02.jpg)

### Wheel for Micro Continuous Rotation FS90R Servo

[Wheel for Micro Continuous Rotation FS90R Servo](https://www.adafruit.com/product/2744)
We're keepin' it&nbsp;_wheel_ with this one!

Need a great drive solution for&nbsp;your little robotic friends?&nbsp;This black plastic&nbsp; **Micro Continuos Rotation Servo Wheel** &nbsp;is&nbsp;equipped with a silicone...

In Stock
[Buy Now](https://www.adafruit.com/product/2744)
[Related Guides to the Product](https://learn.adafruit.com/products/2744/guides)
![Angled shot of a small, black, plastic micro servo wheel.](https://cdn-shop.adafruit.com/640x480/2744-00.jpg)

As the cable of a servo has a connector on the end, there are extension cables available which extend the connection if your servo is not close to your controller board.

### Servo Extension Cable - 50cm / 19.5" long

[Servo Extension Cable - 50cm / 19.5" long](https://www.adafruit.com/product/973)
Stretch out your servo connections with this flexible servo extension cord. It has a 3 pin shrouded "male" connection to plug your servo into and then, 50cm later, a 3 pin female connection. It even keeps the common red/black/white color coding. A great add-on to our <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/973)
[Related Guides to the Product](https://learn.adafruit.com/products/973/guides)
![Three pin Servo Extension Cable - 50cm / 19.5" long.](https://cdn-shop.adafruit.com/640x480/973-02.jpg)

### Servo Extension Cable - 30cm / 12" long -

[Servo Extension Cable - 30cm / 12" long -](https://www.adafruit.com/product/972)
Stretch out your servo connections with this flexible servo extension cord. It has a 3 pin shrouded "male" connection to plug your servo into and then, 30cm later, a 3 pin female connection. It even keeps the common red/black/white color coding. A great add-on to our <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/972)
[Related Guides to the Product](https://learn.adafruit.com/products/972/guides)
![Three pin Servo Extension Cable - 30cm / 12" long.](https://cdn-shop.adafruit.com/640x480/972-02.jpg)

## Picking a Standard Servo

When looking for standard servo for your project, you will want to keep in mind these questions:

1. What range of motion are you looking for? Most standard servos rotate in about a 180 degree arc but some have a smaller range (older or specialty models).
2. What type of load are you trying to move? Cardboard and paper have different requirements than metal or other heavy loads. Look at the servo _torque_&nbsp;(rotational force) rating to see how much mechanical force the servo can handle safely. If your project needs more force, consider a larger servo or one with metal gears for more durability.
3. How will you control the servo? Most often a servo is hooked to a control circuit to tell the arm what position it should be at or travel to. This requires more circuitry compared to a continuous DC motor. Will you use a microcontroller or a special purpose robotics board like Crickit to use the servo?
4. What are the voltage and current ratings for the servo? Are they compatible with the controller?

## Buying Guide

Here are some hobby servos in the Adafruit Shop which have been hand-picked for various applications you may be looking for:

### Standard servo - TowerPro SG-5010

[Standard servo - TowerPro SG-5010](https://www.adafruit.com/product/155)
This high-torque standard servo can rotate approximately 180 degrees (90 in each direction). You can use any servo code, hardware, or library to control these servos. Good for beginners who want to make stuff move without building a motor controller with feedback & gearbox. Comes with 3...

In Stock
[Buy Now](https://www.adafruit.com/product/155)
[Related Guides to the Product](https://learn.adafruit.com/products/155/guides)
![Standard hobby servo with three pin cable](https://cdn-shop.adafruit.com/640x480/155-01.jpg)

### Micro servo

[Micro servo](https://www.adafruit.com/product/169)
Tiny little servo can rotate approximately 180 degrees (90 in each direction) and works just like the standard kinds you're used to but _smaller_. You can use any servo code, hardware, or library to control these servos. Good for beginners who want to make stuff move without...

In Stock
[Buy Now](https://www.adafruit.com/product/169)
[Related Guides to the Product](https://learn.adafruit.com/products/169/guides)
![Micro servo with three pin cable](https://cdn-shop.adafruit.com/640x480/169-06.jpg)

### Sub-micro Servo - SG51R

[Sub-micro Servo - SG51R](https://www.adafruit.com/product/2201)
This is just about the cutest, tiniest little micro servo we could find, even smaller than the 9-gram micro servos we love so much. &nbsp;It can rotate approximately 180 degrees (90 in each direction) and works just like the standard kind you're used to but&nbsp;_much smaller_....

Out of Stock
[Buy Now](https://www.adafruit.com/product/2201)
[Related Guides to the Product](https://learn.adafruit.com/products/2201/guides)
![Sub-micro Servo with three pin cable ](https://cdn-shop.adafruit.com/640x480/2201-01.jpg)

For high torque applications:

### Standard Size - High Torque - Metal Gear Servo

[Standard Size - High Torque - Metal Gear Servo](https://www.adafruit.com/product/1142)
This high-torque standard servo now comes in a metal-gear flavor, for extra-high torque (10 kg\*cm!) and reliability! It can rotate at least 120 degrees (60 in each direction) with a classic 1.5-2.5ms pulse, but if you can extend your pulses it can go up to about 170 degrees - it varies a bit...

Out of Stock
[Buy Now](https://www.adafruit.com/product/1142)
[Related Guides to the Product](https://learn.adafruit.com/products/1142/guides)
![Standard Size - High Torque - Metal Gear Servo  with three pin cable](https://cdn-shop.adafruit.com/640x480/1142-06.jpg)

### Micro Servo - High Powered, High Torque Metal Gear

[Micro Servo - High Powered, High Torque Metal Gear](https://www.adafruit.com/product/2307)
Add even _more_ power to your robot with this metal-geared servo. The tiny little servo can rotate approximately 180 degrees (~90 in each direction), and works just like the standard kinds you're used to but _smaller_. You can use any servo code, hardware or library to...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2307)
[Related Guides to the Product](https://learn.adafruit.com/products/2307/guides)
![High Powered, High Torque Metal Gear Micro Servo ](https://cdn-shop.adafruit.com/640x480/2307-00.jpg)

### Micro Servo - MG90D High Torque Metal Gear

[Micro Servo - MG90D High Torque Metal Gear](https://www.adafruit.com/product/1143)
Add more power to your robot with this metal-geared MG90D&nbsp;servo. The tiny little servo can rotate approximately 90 degrees (45 in each direction) and works just like the standard kinds you're used to but _smaller_. You can use any servo code, hardware, or library to control...

Out of Stock
[Buy Now](https://www.adafruit.com/product/1143)
[Related Guides to the Product](https://learn.adafruit.com/products/1143/guides)
![High Torque Metal Gear Micro Servo  with three pin cable](https://cdn-shop.adafruit.com/640x480/1143-08.jpg)

Two servos in a pan & tilt configuration:

### Mini Pan-Tilt Kit - Assembled with Micro Servos

[Mini Pan-Tilt Kit - Assembled with Micro Servos](https://www.adafruit.com/product/1967)
This fully-assembled pan-tilt kit is the perfect way to give your project full range&nbsp;motion with two micro servos. The pan-tilt can rotate roughly 180° from side-to-side and can tilt up&downwards around 150°. &nbsp;It also comes fully assembled with two <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/1967)
[Related Guides to the Product](https://learn.adafruit.com/products/1967/guides)
![Assembled Mini Pan-Tilt Kit wired to microcontroller board and moving around](https://cdn-shop.adafruit.com/product-videos/640x480/1967-02.jpg)

# Make it Move with Crickit

## About Continuous Servo Motors

## Continuous Servo Motor

Think of a continuous servo as a hybrid of a continuous DC motor and a standard servo.

A continuous servo can turn around a full 360 degrees like a motor. A continuous servo also has three wires like a standard servo, 2 for power and one for control. The speed of a continuous servo is controllable. Due to the gears, continuous servos generally are slower than a continuous DC motor or a geared motor.

![](https://cdn-learn.adafruit.com/assets/assets/000/055/433/medium800thumb/robotics___cnc_2442-02.jpg?1529007998 A continuous servo can mover 360 degrees like a continuous DC motor (credit: Adafruit))

![](https://cdn-learn.adafruit.com/assets/assets/000/055/371/medium800/robotics___cnc_cr-servo.png?1528814535 Continuous Rotation Servos also come in different sizes and can use servo accessories. (credit: Adafruit))

You can get servo horns in the shape of wheels to build things that roll on the ground.

![](https://cdn-learn.adafruit.com/assets/assets/000/055/434/medium800thumb/robotics___cnc_wheel.jpg?1529008246 Credit: Adafruit)

Servos come in different sizes. They are often a "standard size" although when you buy one you should check the dimensions to make sure it is the size you want. Typical names for sizes are standard and micro.

Servos most often have mounting points so the body can be screwed down for stability. The rectangular shape also helps in mounting compared to round continuous DC motors.

![](https://cdn-learn.adafruit.com/assets/assets/000/056/928/medium800/robotics___cnc_t1.jpg?1530583561 The servo connects to CRICKIT in the Servo group, the first on terminal block 1.)

## Accessories

One of the benefits of the servo form factor in general are the number of accessories available to mount on the shaft. Nearly all servo shafts have grooves so attachments fit in without spinning. The shaft also has a hole at the end to secure attachments.

The attachment items for servos are almost always called _horns_. Horns can come in various shapes to allow users to make various types of connections depending on their project. Most servos you buy will come with two or three horns that fit that specific servo but often you can mix or match other horns and shops have alternatives to the ones in the package. Horns most often have holes in them to help make attachments, often screws or wires.

There are specialty accessories&nbsp; for continuous rotation servos like wheels. The wheels have servo style mounts and can be secured with screws.

As the cable of a servo has a connector on the end, there are extension cables available which extend the connection if your servo is not close to your controller board.

## Picking a Continuous Servo

When looking for continuous rotation servos for your project, you will want to keep in mind these questions:

1. What type of load are you trying to move? Look at the servo _torque_&nbsp;(rotational force) rating to see how much mechanical force the servo can handle safely. If your project needs more force, consider a larger servo or one with metal gears for more durability.
2. How will you control the servo? Most often a servo is hooked to a control circuit to tell the servo what position it should be at or travel to. This requires more circuitry compared to a continuous DC motor. Will you use a microcontroller or a special purpose robotics board like Crickit to use the servo?
3. What are the voltage and current ratings for the servo? Are they compatible with the controller?

## Buying Guide

Here are some continuous rotation servos in the Adafruit Shop which may work for various applications you are planning:

### Continuous Rotation Servo

[Continuous Rotation Servo](https://www.adafruit.com/product/154)
This servo rotates fully forward or backward instead of moving to a position. You can use any servo code, hardware, or library to control these servos. Good for making simple moving robots. Comes with four different horns, as shown.

To control with an Arduino, we suggest connecting...

In Stock
[Buy Now](https://www.adafruit.com/product/154)
[Related Guides to the Product](https://learn.adafruit.com/products/154/guides)
![Continuous Rotation Servo with three pin cable](https://cdn-shop.adafruit.com/640x480/154-07.jpg)

### Continuous Rotation Servo Wheel

[Continuous Rotation Servo Wheel](https://www.adafruit.com/product/167)
Plastic wheel with a cutout specially designed to allow attachment to our [larger continuous rotation servo](https://www.adafruit.com/product/154). Makes it easy to get your robot rolling. Each wheel comes with a&nbsp;rubber tire that is quite sturdy. To attach, just remove the horn...

In Stock
[Buy Now](https://www.adafruit.com/product/167)
[Related Guides to the Product](https://learn.adafruit.com/products/167/guides)
![Small, black, plastic wheel](https://cdn-shop.adafruit.com/640x480/167-02.jpg)

### Continuous Rotation Micro Servo

[Continuous Rotation Micro Servo](https://www.adafruit.com/product/2442)
Need to make a _tiny_ robot? This little micro servo rotates 360 degrees fully forward or backward, instead of moving to a single position. You can use any servo code, hardware, or library to control these servos. Good for making simple moving robots. Comes with five horns and...

In Stock
[Buy Now](https://www.adafruit.com/product/2442)
[Related Guides to the Product](https://learn.adafruit.com/products/2442/guides)
![Demo Video of the Continuous Rotation Micro Servo with a "t" shaped propeller connected to the gear and spinning.](https://cdn-shop.adafruit.com/product-videos/640x480/2442-02.jpg)

### Wheel for Micro Continuous Rotation FS90R Servo

[Wheel for Micro Continuous Rotation FS90R Servo](https://www.adafruit.com/product/2744)
We're keepin' it&nbsp;_wheel_ with this one!

Need a great drive solution for&nbsp;your little robotic friends?&nbsp;This black plastic&nbsp; **Micro Continuos Rotation Servo Wheel** &nbsp;is&nbsp;equipped with a silicone...

In Stock
[Buy Now](https://www.adafruit.com/product/2744)
[Related Guides to the Product](https://learn.adafruit.com/products/2744/guides)
![Angled shot of a small, black, plastic micro servo wheel.](https://cdn-shop.adafruit.com/640x480/2744-00.jpg)

# Make it Move with Crickit

## About Stepper Motors

## Stepper Motor

A stepper motor often looks like a continuous DC motor, coming in round or square shapes. You can tell they are different as a stepper motor has four to eight wires coming out if it. The wires inside form coils which allow the shaft of the motor to turn very precisely.

The wire connections must be made to an electrical circuit specially made for controlling a stepper motor as it will not work by putting DC power on the wires.&nbsp;

As shown below, pulses of electricity are sent to the coils in a timed manner to achieve motion.

![](https://cdn-learn.adafruit.com/assets/assets/000/055/435/medium800thumb/robotics___cnc_StepperMotor.jpg?1529008760 Motion of a stepper motor (credit: Wikipedia Wapcaplet))

Steppers can turn in a full circle like DC motors and continuous servos but they can be more expensive and require electronic controllers to achieve their precise movements. Often the shaft is connected to a belt or gear for moving something.

Examples of steppers being used are with scanners, plotters, 3-D printers, etc.

![](https://cdn-learn.adafruit.com/assets/assets/000/055/636/medium800thumb/robotics___cnc_stepper.jpg?1529420077 Here a stepper motor is being driven with an Adafruit breakout board (credit: Adafruit))

![](https://cdn-learn.adafruit.com/assets/assets/000/055/373/medium800/robotics___cnc_steppers.jpg?1528816407 Different sizes of stepper motors (credit: Adafruit))

## Use of a Stepper with a Belt System

A belted system provides excellent control over moving something. Most plotters, CNC machines, and 3-D Printers use some variation of belts for accuracy.

Adafruit carries the GT2 belt system. There are other systems but GT2 offers advantages [noted by Ladyada in this video](https://www.youtube.com/watch?feature=player_detailpage&v=7g57wRkY7Eo#t=697 "Belts").&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/055/640/medium800/robotics___cnc_FSMSNEMA11-20T.jpg?1529420824 A stepper using a belt and 3-D Printed Mount (credit: MIT license via GitHub user firepick1))

## Steppers Available at Adafruit

Adafruit carries a number of steppers in various sizes. There are also couplers which help attach the stepper shaft to your project.

Info: 

### Small Reduction Stepper Motor - 5VDC 32-Step 1/16 Gearing

[Small Reduction Stepper Motor - 5VDC 32-Step 1/16 Gearing](https://www.adafruit.com/product/858)
This is a great first stepper motor, good for small projects and experimenting with steppers. This uni-polar motor has a built-in mounting plate with two mounting holes. There are only 32 steps (11.25 degree) per revolution, and inside is a 1/16&nbsp;reduction gear set. (Actually it's...

In Stock
[Buy Now](https://www.adafruit.com/product/858)
[Related Guides to the Product](https://learn.adafruit.com/products/858/guides)
![Angled shot of small Reduction Stepper Motor](https://cdn-shop.adafruit.com/640x480/858-04.jpg)

### Aluminum Flex Shaft Coupler - 5mm to 5mm

[Aluminum Flex Shaft Coupler - 5mm to 5mm](https://www.adafruit.com/product/1175)
Connect this to that with a set-screw coupler. These couplers are made of machined aluminum and have a spiral cut that makes them slightly flexible so they can be fit to two shafts even if they are not perfectly co-linear and will help reduce binding effects. The way they're cut, they're a little...

In Stock
[Buy Now](https://www.adafruit.com/product/1175)
[Related Guides to the Product](https://learn.adafruit.com/products/1175/guides)
![Angled close-up of aluminum shaft coupler.](https://cdn-shop.adafruit.com/640x480/1175-03.jpg)

### Aluminum Flex Shaft Coupler - 5mm to 8mm

[Aluminum Flex Shaft Coupler - 5mm to 8mm](https://www.adafruit.com/product/1176)
Connect this to that with a set-screw coupler. These couplers are made of machined aluminum and have a spiral cut that makes them slightly flexible so they can be fit to two shafts even if they are not perfectly co-linear and will help reduce binding effects. The way they're cut,...

In Stock
[Buy Now](https://www.adafruit.com/product/1176)
[Related Guides to the Product](https://learn.adafruit.com/products/1176/guides)
![Close-up of aluminum shaft coupler](https://cdn-shop.adafruit.com/640x480/1176-03.jpg)

# Make it Move with Crickit

## Motors, the Next Step

Now that you have seen a broad representation of motors and the basic code to use them on Crickit, what are the next steps on becoming more proficient? The resources presented on this page provide more in-depth information on various aspects of motors and Crickit.

## More Details on Crickit

The Adafruit Learning System guide&nbsp;[**Introducing Adafruit Crickit** &nbsp;](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/ "Introducing Adafruit Crickit ")provides a very thorough review on what Crickit is and how it can be used in many ways. Feel free to jump to various sections, especially on motors, to find additional information beyond that presented in this guide.

That guide and other guides from Adafruit will be kept up to date on expansion of the Crickit product line and how to use Crickit and various microcontrollers.

## Details on Motor Specifications

On the product page of each motor Adafruit sells, there is information specific to that motor including:

- Dimensions
- Weight
- Operating Current
- Revolutions Per Minute (varies by voltage for Continuous DC motors)
- Current (can vary from still to use to stall depending on type)
- Steps per Revolution (steppers)

Often the product page will recommend various Adafruit products to control that type of motor - this is usually for installations not using a Crickit.

Danger: 

## Motor Usage in the Adafruit Learning System

The [Adafruit Learning System](https://learn.adafruit.com/ "Adafruit Learning System") has project guides for using a wide array of Adafruit products. If you are considering using a type of motor, look for a guide that might use that particular motor or one like it. The code may or may not be in the language you are looking to utilize, Adafruit guides are often written for one of three languages: MakeCode, CircuitPython, or Arduino. But you can glean a lot on how a product was used in one project for building another.

An example: In the Using a Standard Servo Now page, there was demonstration code for a flapping effect. Going to [https://learn.adafruit.com](https://learn.adafruit.com) and doing a search for "flapping" (as "wing pulls up Feather products), the following tutorials have a wing flapping motion to look at:

- [Trash Panda](https://learn.adafruit.com/trash-panda-circuit-python-crickit "Trash Panda")
- [Crickit Powered Minerva Owl Robot](https://learn.adafruit.com/crickit-powered-owl-robot/overview)
- [Cardboard Box for Circuit Playground Express](https://learn.adafruit.com/cardboard-box-for-circuit-playground-express "Blinka Popup")

All of those demonstrate a servo being used to create motion which can be adapted for other use.

It might take a couple of searches in the Adafruit Learning System to find what you are specifically looking for, there are approximately 1,500 guides at the time this was written!

Have fun with your motors!


## Featured Products

### Adafruit CRICKIT for Circuit Playground Express

[Adafruit CRICKIT for Circuit Playground Express](https://www.adafruit.com/product/3093)
Sometimes we wonder if robotics engineers ever watch movies. If they did, they'd know that making robots into servants always ends up in a robot rebellion. Why even go down that path? Here at Adafruit, we believe in making robots our&nbsp; **friends!**

So if you find...

In Stock
[Buy Now](https://www.adafruit.com/product/3093)
[Related Guides to the Product](https://learn.adafruit.com/products/3093/guides)
### Circuit Playground Express

[Circuit Playground Express](https://www.adafruit.com/product/3333)
 **Circuit Playground Express** is the next step towards a perfect introduction to electronics and programming. We've taken the original Circuit Playground Classic and made it even better! Not only did we pack even more sensors in, we also made it even easier to...

In Stock
[Buy Now](https://www.adafruit.com/product/3333)
[Related Guides to the Product](https://learn.adafruit.com/products/3333/guides)
### Adafruit CRICKIT FeatherWing for any Feather

[Adafruit CRICKIT FeatherWing for any Feather](https://www.adafruit.com/product/3343)
Sometimes we wonder if robotics engineers ever watch movies. If they did, they'd know that making robots into servants always ends up in a robot rebellion. Why even go down that path? Here at Adafruit, we believe in making robots our&nbsp; **friends!**

So if you find...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3343)
[Related Guides to the Product](https://learn.adafruit.com/products/3343/guides)
### Adafruit Feather M0 Basic Proto - ATSAMD21 Cortex M0

[Adafruit Feather M0 Basic Proto - ATSAMD21 Cortex M0](https://www.adafruit.com/product/2772)
Feather is the new development board from Adafruit, and like its namesake it is thin, light, and lets you fly! We designed Feather to be a new standard for portable microcontroller cores.

This is the&nbsp; **Feather M0 Basic Proto** ,&nbsp;it has a bunch of prototyping space...

In Stock
[Buy Now](https://www.adafruit.com/product/2772)
[Related Guides to the Product](https://learn.adafruit.com/products/2772/guides)
### Adafruit CRICKIT for micro:bit

[Adafruit CRICKIT for micro:bit](https://www.adafruit.com/product/3928)
Sometimes we wonder if robotics engineers ever watch movies. If they did, they'd know that making robots into servants always ends up in a robot rebellion. Why even go down that path? Here at Adafruit, we believe in making robots our&nbsp; **friends!**

So if you find...

In Stock
[Buy Now](https://www.adafruit.com/product/3928)
[Related Guides to the Product](https://learn.adafruit.com/products/3928/guides)
### BBC micro:bit

[BBC micro:bit](https://www.adafruit.com/product/3530)
The British Invasion is here! No, not music...microcontrollers! New to the USA is the newest and _easiest_ way to learn programming and electronics - the **BBC micro:bit**.

Designed specifically for kids and beginners, the&nbsp; **micro:bit** &nbsp;is a...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/3530)
[Related Guides to the Product](https://learn.adafruit.com/products/3530/guides)
### Adafruit CRICKIT HAT for Raspberry Pi

[Adafruit CRICKIT HAT for Raspberry Pi](https://www.adafruit.com/product/3957)
Sometimes we wonder if robotics engineers ever watch movies. If they did, they'd know that making robots into servants always ends up in a robot rebellion. Why even go down that path? Here at Adafruit, we believe in making robots our&nbsp; **friends!**

So if you find...

In Stock
[Buy Now](https://www.adafruit.com/product/3957)
[Related Guides to the Product](https://learn.adafruit.com/products/3957/guides)
### Raspberry Pi 3 - Model B+ - 1.4GHz Cortex-A53 with 1GB RAM

[Raspberry Pi 3 - Model B+ - 1.4GHz Cortex-A53 with 1GB RAM](https://www.adafruit.com/product/3775)
The Raspberry Pi 3 Model B is the most popular Raspberry Pi computer made, and the Pi Foundation knows you can always make a good thing _better_! And what could make the Pi 3 better? How about a&nbsp;_faster_ processor, 5 GHz WiFi, and updated Ethernet chip with PoE capability?...

In Stock
[Buy Now](https://www.adafruit.com/product/3775)
[Related Guides to the Product](https://learn.adafruit.com/products/3775/guides)

## Related Guides

- [Adafruit Circuit Playground Express](https://learn.adafruit.com/adafruit-circuit-playground-express.md)
- [StarFlower NeoPixel Strand with MakeCode](https://learn.adafruit.com/starflower-neopixel-strand.md)
- [Circuit Playground Express Serial Communications](https://learn.adafruit.com/circuit-playground-express-serial-communications.md)
- [Combo Dial Safe with Circuit Playground Express](https://learn.adafruit.com/combo-dial-safe-with-circuit-playground-express.md)
- [HalloWing Light Paintstick](https://learn.adafruit.com/hallowing-light-paintstick.md)
- [Meeting Time Keeper Stick](https://learn.adafruit.com/meeting-time-keeper-stick-with-cpx.md)
- [Coffee Detonator: The TNT Plunger Grinder](https://learn.adafruit.com/coffee-detonator.md)
- [Automation with Crickit and Capsela](https://learn.adafruit.com/automation-with-crickit-and-capsela.md)
- [Circuit Playground: G is for Ground](https://learn.adafruit.com/circuit-playground-g-is-for-ground.md)
- [Adding an Accelerometer to your FeatherWing Crickit](https://learn.adafruit.com/adding-an-accelerometer-to-you-cricket-featherwing.md)
- [AdaBox 008](https://learn.adafruit.com/adabox008.md)
- [How to Choose a Microcontroller](https://learn.adafruit.com/how-to-choose-a-microcontroller.md)
- [Sparky the Blue Smoke Monster Automaton](https://learn.adafruit.com/sparky-automaton.md)
- [Circuit Playground Digital Input](https://learn.adafruit.com/circuit-playground-digital-input.md)
- [Xenomorph Halloween Candy Bucket](https://learn.adafruit.com/xenomorph-halloween-candy-bucket.md)
- [Make It Sense](https://learn.adafruit.com/make-it-sense.md)
