# Circuit Playground Yoyo

## Overview

https://www.youtube.com/watch?v=CDZkRf4xXTg

![](https://cdn-learn.adafruit.com/assets/assets/000/035/649/medium800/circuit_playground_hero-rainbow.jpg?1473535275)

## 3D Printed NeoPixel Yoyo

This project is a derivative of [Morgan Stewart's Circuit Playground Yoyo](http://www.thingiverse.com/thing:1695697)&nbsp;(Watch her demo it on [Adafruit's Show & Tell](https://youtu.be/aDKLPmWq1QU?t=2m27s)). In this remix, we'll encase a single Circuit Playground board and a lipo battery in 3D printed parts&nbsp;to make a yoyo. The NeoPixel LEDs can shine through the cover, making cool glowy effects. Most of the yoyo parts are 3D printed, and no hardware (machine screws, hex nuts, etc) are required. They feature threads that allow the pieces to be twisted together.

![](https://cdn-learn.adafruit.com/assets/assets/000/035/648/medium800/circuit_playground_hero-covers.jpg?1473535252)

## History of the Yo-Yo

From Wikipedia:

> A **yo-yo** (also spelled **yoyo** ) is a [toy](https://en.wikipedia.org/wiki/Toy "Toy") which in its simplest form is an object consisting of an [axle](https://en.wikipedia.org/wiki/Axle "Axle") connected to two disks, and a length of string looped around the axle, similar to a slender[spool](https://en.wiktionary.org/wiki/spool "wikt:spool"). It is played by holding the free end of the string known as the handle (usually by inserting one finger into a [slip knot](https://en.wikipedia.org/wiki/Slip_knot "Slip knot")) allowing gravity or the force of a throw to spin the yo-yo and unwind the string (similar to how a [pullstring](https://en.wikipedia.org/wiki/Pullstring "Pullstring") works), then allowing the yo-yo to wind itself back to one's hand, exploiting its spin (and the associated [rotational energy](https://en.wikipedia.org/wiki/Rotational_energy "Rotational energy")). This is often called "yo-yoing". First made popular in the 1920s, yo-yoing remains a popular pastime of many generations and cultures. It was first invented in [ancient Greece](https://en.wikipedia.org/wiki/Ancient_Greece "Ancient Greece").

![](https://cdn-learn.adafruit.com/assets/assets/000/035/651/medium800/circuit_playground_hero-rainbow-2.jpg?1473535323)

## Expectations&nbsp;

This is a fun project but in not&nbsp;intended to replace a professional yoyo. Because a yoyo&nbsp;relies on perfect balanced weight, it can be challenging to evenly distribute the weight two both sides - That being said, it can be done. I personally was able to get it to sleep&nbsp;for about 2-3 seconds which allows enough time to do tricks like&nbsp;_Rock The Baby._

![](https://cdn-learn.adafruit.com/assets/assets/000/035/268/medium800/circuit_playground_components.jpg?1472650724)

## Parts

We'll need just a few parts to build this project, most of which are available in the Adafruit shop. You'll need to source a yoyo string. Everything else is 3D printed.

- [Circuit Playground](https://adafruit.com/products/3000)
- [350mAh Lipo Battery](https://www.adafruit.com/products/2750)
- [Slide Switch](https://www.adafruit.com/products/805)
- [JST Extension Cable](https://www.adafruit.com/products/1131)

## Tools and Supplies

Here are some tools and supplies that you'll need access to complete this project. If you don't have access to a 3D printer, you can send the STL files to [3DHubs.com](https://3dhubs.com/)

- [3D Printer](https://www.adafruit.com/categories/245) + [Filament](https://adafruit.com/products/2080)
- [Othermill](https://adafruit.com/products/2323) + Acrylic (optional)
- Yoyo String
- [Wire Stripers](https://www.adafruit.com/products/527)
- [Heat Shrink](https://www.adafruit.com/products/1649)
- [Soldering Iron](https://www.adafruit.com/categories/84) + [Solder](https://www.adafruit.com/categories/84)

![](https://cdn-learn.adafruit.com/assets/assets/000/035/650/medium800/circuit_playground_hero-pink.jpg?1473535308)

![](https://cdn-learn.adafruit.com/assets/assets/000/035/666/medium800thumb/circuit_playground_yoyo-spin-throw.jpg?1473539885)

# Circuit Playground Yoyo

## 3D Printing

![](https://cdn-learn.adafruit.com/assets/assets/000/035/269/medium800/circuit_playground_3d-parts.jpg?1472651032)

## 3D Printed Parts

Below is a list of the parts necessary for building the yoyo. It's composed of&nbsp;five printed pieces, with a translucent cover (ideally acrylic). The parts are optmized to 3D print without any support material and is small enough to fit on most FDM machines.

[Download STLs from Thingiverse](http://www.thingiverse.com/thing:1766385)
[Download STL from Pinshape](https://pinshape.com/items/26012-3d-printed-circuit-playground-neopixel-yoyo)
[YouMagine](https://www.youmagine.com/designs/circuit-playground-neopixel-yoyo)
## Slice Settings

Below are some recommended slice settings. We used simplify3D to slice these parts and generate the gcode. These parts were printed on a Micro&nbsp;M3D&nbsp;using a .4mm nozzle and 1.75mm filament.

- .15mm layer height
- 220C extruder / PrintInZ Skin
- 20% infill
- 4&nbsp;top/bottom layers
- 2 shells / parameters
- 40mm/s printing speed

## Top Covers

The twisty top&nbsp;for **cp-yoyo-side-a.stl** was designed for a separate cover piece. This can be 3D printed, milled, lasered, or cut out of any type of material that can diffuse the NeoPixel LEDs.

## Acrylic Cover

I&nbsp;milled the **cp-yoyo-cover.stl** part out of [2 colored acrylic sheet](https://www.inventables.com/technologies/black-on-bright-white-laserable-acrylic-sheet)&nbsp;using the Othermil desktop CNC. The toolpaths were&nbsp;generated in Autodesk Fusion 360 using CAM tools. If you'd like to generate your own GCODE, you can grab the source by downloading the fusion 360 archieve below.

## Remix Design

You can download the source files in a varitey of file formats such as, STEP, SAT, IGS, SketchUp, DXF and others.

[Download Source](http://a360.co/2ctqUyH)
# Circuit Playground Yoyo

## Wiring Switch

![](https://cdn-learn.adafruit.com/assets/assets/000/035/270/medium800/circuit_playground_JST-battery-switch.jpg?1472651287)

## Parts for Slide Switch

To make it easy to turn on/off the circuit, we'll need to build a JST slide switch adapter. The Circuit Playground board doesn't have an onboard power switch, so we'll build one using a slide switch and JST extension cable. The battery in this project can either be a 105mAh battery or a 350mAh battery, which ever you prefer.&nbsp;

## Cut to Size

The JST extension is about 500mm in length, so we'll need to cut it down to size. Here's a good length to start with:

- 80mm JST Female connector end
- 150mm JST Male connector end

![circuit_playground_jst-trimmed-80mm-150mm.jpg](https://cdn-learn.adafruit.com/assets/assets/000/035/321/medium640/circuit_playground_jst-trimmed-80mm-150mm.jpg?1472755545)

## Strip & Tin Wires

Next, we'll pull the ends part and remove about 5mm of insulation from each wire. Then, we can tin the exposed strands of wire by applying a bit of solder. I recommend using a pair of Helping Third Hands to help&nbsp;keep the wires in place while soldering.

![circuit_playground_tin-wires.jpg](https://cdn-learn.adafruit.com/assets/assets/000/035/271/medium640/circuit_playground_tin-wires.jpg?1472652140)

![circuit_playground_tinning-wire.jpg](https://cdn-learn.adafruit.com/assets/assets/000/035/272/medium640/circuit_playground_tinning-wire.jpg?1472652204)

## Wire Slide Switch

Now we can solder the power/voltage wires from the two JST wires to the slie switch. First, we need to snip off one of the legs&nbsp;from the slide switch (either the left or right, not the middle leg). Then, we can tin the two remaining&nbsp;legs by apply a small amount of solder to them. This will make it easier to attach the wires. Solder the two red power/voltage wires from the JST connectors to the slide switch.

![circuit_playground_switch-wire-solder.jpg](https://cdn-learn.adafruit.com/assets/assets/000/035/275/medium640/circuit_playground_switch-wire-solder.jpg?1472652407)

![circuit_playground_tin-switch.jpg](https://cdn-learn.adafruit.com/assets/assets/000/035/277/medium640/circuit_playground_tin-switch.jpg?1472652433)

## Connect Ground Wires

We should now be left with two ground wires from the JST extension cable. Cut a small piece of heat shrink tubing and slip it through one of the ground wires - this will insulate the exposed wires. Then, solder the two ground wires together. Now you can slide the piece of&nbsp;tubing over the exposed wire and apply some heat to shrink it in place (I use the edge of the soldering iron, but not the tip!).

![circuit_playground_solder-ground-jst.jpg](https://cdn-learn.adafruit.com/assets/assets/000/035/279/medium640/circuit_playground_solder-ground-jst.jpg?1472652568)

![circuit_playground_heat-shrink-ground-jst.jpg](https://cdn-learn.adafruit.com/assets/assets/000/035/280/medium640/circuit_playground_heat-shrink-ground-jst.jpg?1472652585)

## Finished Slide Switch JST Adapter

OK, now we have our slide switch JST adapter! Wooho! Now we easily remove our lipo battery whenever we need to recharge it.

![circuit_playground_completed-JST.jpg](https://cdn-learn.adafruit.com/assets/assets/000/035/281/medium640/circuit_playground_completed-JST.jpg?1472652762)

## Strain Relief Wire From&nbsp;Lipo Battery

I found that this project can wear out the wire from the Lipo battery. In some cases, I mananged to completely rip the wire from the battery, which is BAD! So, to prevent that from happening, we can apply a dab of hot glue to the solder joins on the end of the lipo battery.

![circuit_playground_hotglue-battery-wire.jpg](https://cdn-learn.adafruit.com/assets/assets/000/035/287/medium640/circuit_playground_hotglue-battery-wire.jpg?1472654279)

![](https://cdn-learn.adafruit.com/assets/assets/000/035/282/medium800/circuit_playground_testing-jst-switch.jpg?1472652808)

## Test Circuit

Now it's time to test our circuit! Go ahead and plug in the male JST connetor from the lipo battery to the female JST connector on the slide switch adapter. Then, connect the male JST connector from the slide switch adapter to the female JST connector on the Circuit Playground board.&nbsp;

Flip the switch on and should you see the NeoPixel LEDs light up (make sure the on board switch is on the + symbol).

# Circuit Playground Yoyo

## YoYo Cover

## Glue Cover to Top

The&nbsp;cp-yoyo-cover.stl part will have a loose fit when placing it over the **cp-yoyo-top-a.stl** part, so you'll need to use some adhesives to perminanently bond them tgoether. I used super glue, but anything similar should be fine.

![circuit_playground_prep-tops.jpg](https://cdn-learn.adafruit.com/assets/assets/000/035/283/medium640/circuit_playground_prep-tops.jpg?1472653026)

![circuit_playground_glue-acrylic-top.jpg](https://cdn-learn.adafruit.com/assets/assets/000/035/284/medium640/circuit_playground_glue-acrylic-top.jpg?1472654010)

## Different Acrylic Colors

I tried out two different colored sheets&nbsp;of Acrylic sheet. The [black on&nbsp;white colored acrylic](https://www.inventables.com/technologies/black-on-bright-white-laserable-acrylic-sheet)&nbsp;is from Inventables. The other is [florescent pink acrylic](https://www.amazon.com/12-24-Acrylic-Plexiglass-fluorescent/dp/B010GQPP0M) from amazon. Both are 1/8" thick.

![circuit_playground_duo-acrylic-top-done.jpg](https://cdn-learn.adafruit.com/assets/assets/000/035/285/medium640/circuit_playground_duo-acrylic-top-done.jpg?1472654194)

![circuit_playground_clear-acrylic-top-done.jpg](https://cdn-learn.adafruit.com/assets/assets/000/035/286/medium640/circuit_playground_clear-acrylic-top-done.jpg?1472654209)

## 3D Printed Cover

You can totally 3D print the **cp-yoyo-cover.stl** part. In order to get decent diffusion to allow the NeoPixel LED ligh to shine through, you'll need to use a light colored filament, such as natural white,&nbsp;transculent or glow-in-the-dark.

# Circuit Playground Yoyo

## Assembly

![](https://cdn-learn.adafruit.com/assets/assets/000/035/652/medium800thumb/circuit_playground_install-axle.jpg?1473536596)

## Install Axle

Insert **cp-yoyo-axle****.stl **into&nbsp;** cp-yoyo-a-side.stl**&nbsp;with the thread going in first. Press until hex side mates with coupler.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/035/653/medium800thumb/circuit_playground_sides-align-ports.jpg?1473537099)

## Align Side Ports

Insert **cp-yoyo-b-side.stl** onto **cp-yoyo-axle.stl**. Hold **cp-yoyo-axle.stl** while twisting&nbsp; **cp-yoyo-b-side.stl** tighten and reorient until ports of both sides are lined up.

![](https://cdn-learn.adafruit.com/assets/assets/000/035/654/medium800thumb/circuit_playground_glue-axle-side-a.jpg?1473537354)

## Glue Axle to Side A

Hold **cp-yoyo-axle.stl** in place while applying super glue to the hex side. Hold together until glue full sets.

![](https://cdn-learn.adafruit.com/assets/assets/000/035/655/medium800thumb/circuit_playground_install-string.jpg?1473537619)

## Install Yoyo String

Untwist the end of the yoyo string and place it over the axle. The&nbsp;loop should slip into a grove on the center of the axle.

![](https://cdn-learn.adafruit.com/assets/assets/000/035/656/medium800thumb/circuit_playground_jst-thread-connect-cp.jpg?1473537814)

## Install JST Connect Circuit Playground

Insert the male JST connector and thread it into **cp-yoyo-b-side.stl**. Then, thread it through the&nbsp; **cp-yoyo-axle.stl** piece and pull it through **cp-yoyo-a-side.stl**.

![](https://cdn-learn.adafruit.com/assets/assets/000/035/657/medium800thumb/circuit_playground_install-cp.jpg?1473537985)

## Install Circuit Playground

Orient USB port of circuit playground with hole on **cp-yoyo-a-side.stl**. Then, lay circuit playground PCB onto the standoffs and press down until pegs snap into pins.

![](https://cdn-learn.adafruit.com/assets/assets/000/035/658/medium800thumb/circuit_playground_twist-sides.jpg?1473538158)

## Twist Yoyo Halves

Insert axle from Side A and twist it onto Side B. Tighten both halves together.

![](https://cdn-learn.adafruit.com/assets/assets/000/035/660/medium800thumb/circuit_playground_install-switch.jpg?1473538404)

## Connect Battery & Install Switch

Plug in the male JST connector from lipo battery into female JST connector. Insert slide switch into clips on the side of **cp-yoyo-b-side.stl**.

![](https://cdn-learn.adafruit.com/assets/assets/000/035/661/medium800thumb/circuit_playground_mount-battery-close.jpg?1473538486)

## Mount Battery

Use a piece of mounting tack and stick it on the back of the lipo battery. Stick the lipo battery to the surface of **cp-yoyo-top-b.stl**. Press down on battery to secure it in place. Twist **cp-yoyo-top-b.stl** &nbsp;onto **cp-yoyo-b-side.stl** until fully tightened.

![](https://cdn-learn.adafruit.com/assets/assets/000/035/663/medium800thumb/circuit_playground_twist-cover.jpg?1473538724)

## Install Cover

Twist **cp-yoyo-top-a.stl** onto&nbsp; **cp-yoyo-a-side.stl** until fully tightened.

![](https://cdn-learn.adafruit.com/assets/assets/000/035/664/medium800thumb/circuit_playground_windup-string.jpg?1473538850)

## Wind up Yoyo String

Place finger over gap between halves and partially wind up the string. Remove your finger and then wind up the whole string. Now it's ready for a test spin!

![](https://cdn-learn.adafruit.com/assets/assets/000/035/665/medium800thumb/circuit_playground_yoyo-throw.jpg?1473539108)

## Do Some Tricks!

I was able to get the yoyo to sleep for about 4 seconds until it came to rest. This should give you enough time to do some basic tricks like _walk the dog_ or even&nbsp;_rock the cradle_.

You can load up any NeoPixel sketch to make cool designs, [try out this Kaleidescope code](../../../../circuit-playground-kaleidoscope) for some motion-activated lights!


## Featured Products

### Circuit Playground Classic

[Circuit Playground Classic](https://www.adafruit.com/product/3000)
Would you like to learn electronics, with an all-in-one board that has sensors and LEDs built in? **Circuit Playground** is here - and it's the best way to practice programming on real hardware with no soldering or sewing required!

This is the **Classic**...

In Stock
[Buy Now](https://www.adafruit.com/product/3000)
[Related Guides to the Product](https://learn.adafruit.com/products/3000/guides)
### Lithium Ion Polymer Battery - 3.7V 350mAh

[Lithium Ion Polymer Battery - 3.7V 350mAh](https://www.adafruit.com/product/2750)
Lithium-ion polymer (also known as 'lipo' or 'lipoly') batteries are thin, light, and powerful. The output ranges from 4.2V when completely charged to 3.7V. This battery has a capacity of 350mAh for a total of about 1.3 Wh. If you need a larger (or smaller!) battery, <a...></a...>

Out of Stock
[Buy Now](https://www.adafruit.com/product/2750)
[Related Guides to the Product](https://learn.adafruit.com/products/2750/guides)
### Breadboard-friendly SPDT Slide Switch

[Breadboard-friendly SPDT Slide Switch](https://www.adafruit.com/product/805)
These nice switches are perfect for use with breadboard and perfboard projects. They have 0.1" spacing and snap in nicely into a solderless breadboard. They're easy to switch no matter what size fingers you have, but not so easy that they'll get flipped by accident. Work great as...

In Stock
[Buy Now](https://www.adafruit.com/product/805)
[Related Guides to the Product](https://learn.adafruit.com/products/805/guides)
### JST-PH Battery Extension Cable - 500mm

[JST-PH Battery Extension Cable - 500mm](https://www.adafruit.com/product/1131)
By popular demand, we now have a handy extension cord for all of our JST PH-terminated battery packs (such as our LiIon/LiPoly and 3xAAA holders). One end has a JST-PH compatible socket, and the other end has a matching plug. Between the two, 500mm of color coded wire. Handy for wearable...

In Stock
[Buy Now](https://www.adafruit.com/product/1131)
[Related Guides to the Product](https://learn.adafruit.com/products/1131/guides)
### Micro 3D Printer - Black - Retail Edition

[Micro 3D Printer - Black - Retail Edition](https://www.adafruit.com/product/2933)
The magic of 3D printing is now more affordable and accessible than ever! Meet The **Micro 3D Printer** by [M3D](https://printm3d.com/), the first truly consumer 3D printer. Sporting a compact design, user-friendly software, and replaceable print beds and nozzles,...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/2933)
[Related Guides to the Product](https://learn.adafruit.com/products/2933/guides)
### Filament for 3D Printers in Various Colors and Types

[Filament for 3D Printers in Various Colors and Types](https://www.adafruit.com/product/2080)
Having a 3D printer without filament is sort of like having a regular printer without paper or ink. &nbsp;And while a lot of printers come with some filament there's a good chance you've been printing up a storm and need something new. &nbsp;That's why we've started carrying a...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2080)
[Related Guides to the Product](https://learn.adafruit.com/products/2080/guides)
### Hakko Professional Quality 20-30 AWG Wire Strippers

[Hakko Professional Quality 20-30 AWG Wire Strippers](https://www.adafruit.com/product/527)
These are the finest wire strippers we have used, and if you have to do a lot of wiring, you will agree! They have soft rounded grips - very comfortable to use, and precision ground notches that do a perfect job every time. No more yanking or twisting to strip wires cleanly and quickly.<br...></br...>

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

## Related Guides

- [Introducing Circuit Playground](https://learn.adafruit.com/introducing-circuit-playground.md)
- [Fidget Spinner Tachometer](https://learn.adafruit.com/fidget-spinner-tachometer.md)
- [Circuit Playground Lesson #0](https://learn.adafruit.com/circuit-playground-lesson-number-0.md)
- [Sipping Power With NeoPixels](https://learn.adafruit.com/sipping-power-with-neopixels.md)
- [Adalight for Circuit Playground](https://learn.adafruit.com/adalight-for-circuit-playground.md)
- [Glowing Smokey Skull ](https://learn.adafruit.com/glowing-smokey-skull.md)
- [Case for Circuit Playground](https://learn.adafruit.com/case-for-circuit-playground.md)
- [Mystery Box: The Freefall Deck](https://learn.adafruit.com/mystery-box-freefall-deck.md)
- [Circuit Playground D6 Dice](https://learn.adafruit.com/circuit-playground-d6-dice.md)
- [Circuit Playground's Motion Sensor](https://learn.adafruit.com/circuit-playgrounds-motion-sensor.md)
- [Glowing Beehive Hairdo Wig](https://learn.adafruit.com/glowing-beehive-hairdo-wig.md)
- [Circuit Playground Class Scheduler](https://learn.adafruit.com/circuit-playground-class-scheduler.md)
- [Dotstar LED and Glass Pebble Floor](https://learn.adafruit.com/neopixel-and-glass-pebble-floor.md)
- [Circuit Playground Analog Input](https://learn.adafruit.com/circuit-playground-analog-input.md)
- [Circuit Playground PZ-1: Pizza Box DJ Controller](https://learn.adafruit.com/circuit-playground-pizza-box-dj-controller.md)
