# Automatic Cat Treat Dispenser

## Overview

# How smart is your cat?

This treat dispenser is an easy way to feed and entertain your cat when you're not at home. The box is triggered by a pad that detects a change in capacitance when touched. This makes it very sensitive to little paws, and can be easily repositioned it to make it easier or more challenging for your cat to trigger.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/061/003/medium800thumb/makecode_Untitled2_720.2018-09-02_12_15_21.jpg?1536177545)

This project uses readily accessible household materials and a handful of electronics to create an interactive toy that your cat (or dog) will enjoy. This treat dispenser can be a good way to exercise your kitty's brain or as a proxy measure of their [feline IQ](https://en.wikipedia.org/wiki/Cat_intelligence).&nbsp;

# Recommended electronics
### Part: Circuit Playground Express
quantity: 1
Circuit Playground Express is the perfect introduction to electronics and programming
[Circuit Playground Express](https://www.adafruit.com/product/3333)

### Part: 3xAA holder with DC jack
quantity: 1
Battery holder 3xAA batteries with 2.1mm DC jack
[3xAA holder with DC jack](https://www.adafruit.com/product/3842)

### Part: USB cable - A/MicroB - 3ft
quantity: 1
Standard A to micro-B USB cable
[USB cable - A/MicroB - 3ft](https://www.adafruit.com/product/592)

### Part: CRICKIT for Circuit Playground Express
quantity: 1
Creative Robotics and Interactive Construction Kit is an add-on to our popular Circuit Playground Express
[CRICKIT for Circuit Playground Express](https://www.adafruit.com/product/3093)

Info: 

### Part: Alkaline AA batteries - 3 pack
quantity: 1
These batteries are good quality at a good price, and work fantastic with any of the kits or projects that use AAs
[Alkaline AA batteries - 3 pack](https://www.adafruit.com/product/3521)

### Part: Micro servo
quantity: 1
This little servo can rotate approximately 180 degrees (90 in each direction). Works just like standard servos you're used to, but smaller.
[Micro servo](https://www.adafruit.com/product/169)

### Part: Flex PCB Material - Pyralux - 6" by 6" Square
quantity: 1
1 oz of copper bonded to a sheet of polyamide for strength and flexibility. This material can be creased and bent and won't crack as easily as copper tape.
[Flex PCB Material - Pyralux - 6" by 6" Square](https://www.adafruit.com/product/1894)

Info: 

# Household materials

In addition to these electronics, you should also grab:

- Scrap cardboard boxed
- A paper towel tube
- A paperclip
- Scissors
- Box cutter
- [Hot glue gun](https://www.amazon.com/gp/product/B006IY359K/ref=oh_aui_search_detailpage?ie=UTF8&psc=1)
- [Double sided foam tape](https://www.amazon.com/dp/B003W0R4PE/ref=cm_sw_r_tw_dp_U_x_Y2SGBb4DV10TX)
- Pliers

![](https://cdn-learn.adafruit.com/assets/assets/000/060/982/medium800thumb/makecode_hero.jpg?1536170901)

Read on to learn how to build your own!

# Automatic Cat Treat Dispenser

## Build the Chute

The first step is to insert your tube into your box. This will require cutting two ellipsoid-shaped holes in the box so that the tube is held at an angle.

Squeeze your tube slightly into an oval, trace this outline on the top of your box.

&nbsp;

Cut out this hole in the top.

&nbsp;

Insert tube at an angle and trace out a much longer oval in the bottom of the box.

&nbsp;

Cut out the oval.

Widen and lengthen holes as necessary. It may take a couple revisions to get the length and width of the second hole correct.&nbsp;

![makecode_IMG_6936.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/871/medium640/makecode_IMG_6936.jpg?1536079950)

![makecode_IMG_6937.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/872/medium640/makecode_IMG_6937.jpg?1536079960)

![makecode_IMG_6938.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/873/medium640/makecode_IMG_6938.jpg?1536079971)

![makecode_IMG_6939.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/874/medium640/makecode_IMG_6939.jpg?1536079983)

Push tube through both holes. The fit should be tight, but not so tight that it bends the cardboard tube or distorts the box dramatically.

![](https://cdn-learn.adafruit.com/assets/assets/000/060/795/medium800/makecode_IMG_6940.jpg?1535901558)

If you don't have an X-acto knife or similar, the 3D printed handle pictured in this guide can be found on&nbsp;[Thingiverse](https://www.thingiverse.com/thing:17551)&nbsp;and pairs well with standard utility knife blades to make an excellent hobby knife.

# Automatic Cat Treat Dispenser

## Add a Gate

# Create an opening

&nbsp;

Mark a slit where the gate will go. This should be parallel to the face of the box and **extend only halfway through the tube**.

&nbsp;

Cut out area for gate using a box cutter.

&nbsp;

Test the fit of the gate material, should be loose.&nbsp;

![makecode_IMG_6942.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/875/medium640/makecode_IMG_6942.jpg?1536080066)

![makecode_IMG_6952.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/876/medium640/makecode_IMG_6952.jpg?1536080082)

![makecode_IMG_6986.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/877/medium640/makecode_IMG_6986.jpg?1536080097)

![makecode_IMG_6953.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/878/medium640/makecode_IMG_6953.jpg?1536080114)

# Create the Gate

&nbsp;

On a scrap piece of cardboard, trace the **top edge** of the gate. This is a mirror image of the curvature on the inside of the tube! We will use this as a guide to create a door that sits flush inside the tube.

&nbsp;

Cut out the "U" shape you traced. This is your guide.

&nbsp;

Trace shape onto a long piece of cardboard. Extend the lines further down the piece of cardboard. This is the outline of your gate.

&nbsp;

Cut out the gate and poke a small hole in the top edge.&nbsp;&nbsp;

![makecode_IMG_6987.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/879/medium640/makecode_IMG_6987.jpg?1536080826)

![makecode_IMG_6988.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/880/medium640/makecode_IMG_6988.jpg?1536080889)

![makecode_IMG_6992.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/881/medium640/makecode_IMG_6992.jpg?1536080973)

![makecode_IMG_6994.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/882/medium640/makecode_IMG_6994.jpg?1536081011)

# Attach the Arm

Find a paper clip and unbend it so it's a straight(ish) piece of wire.

&nbsp;

Use pliers to bend one end over and hook this into the hole in the top of the gate.

&nbsp;

Crimp paper clip in place so it hold onto the cardboard tight.&nbsp;

&nbsp;

Insert gate into opening in tube. Test that it slides easily up and down.

![makecode_IMG_6993.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/883/medium640/makecode_IMG_6993.jpg?1536081072)

![makecode_IMG_6995.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/884/medium640/makecode_IMG_6995.jpg?1536082632)

![makecode_IMG_6996.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/885/medium640/makecode_IMG_6996.jpg?1536082783)

![makecode_IMG_6997.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/886/medium640/makecode_IMG_6997.jpg?1536082803)

![makecode_IMG_6999.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/888/medium640/makecode_IMG_6999.jpg?1536081887)

Check that when the gate is closed it leaves **no gaps** between itself and the tube that treats might slip through.

![](https://cdn-learn.adafruit.com/assets/assets/000/060/889/medium800/makecode_IMG_6998.jpg?1536081908)

# Automatic Cat Treat Dispenser

## Add Electronics

Now for the fun stuff. Let's add some electronics to this contraption!

# Mount Servo Motor

&nbsp;

Mark placement of motor with a pencil.

&nbsp;

Use hot glue to stick the motor in place.

&nbsp;

Bend paper clip at point where it will connect to servo arm.

&nbsp;

Trim excess off paper clip.

![makecode_IMG_7001.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/890/medium640/makecode_IMG_7001.jpg?1536081970)

![makecode_IMG_7004.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/891/medium640/makecode_IMG_7004.jpg?1536082850)

![makecode_IMG_7008.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/892/medium640/makecode_IMG_7008.jpg?1536082859)

![makecode_IMG_7011.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/893/medium640/makecode_IMG_7011.jpg?1536082112)

Poke the end of the paper clip through the servo arm. Our gate is now motorized!

![](https://cdn-learn.adafruit.com/assets/assets/000/060/901/medium800/makecode_IMG_7147.jpg?1536082703)

# Connect to CRICKIT

Connect **servo to Servo port 1** and **alligator clip to Touch pad 1**. The other end of the alligator clip will connect to your capacitive touch pad which can be placed anywhere outside the box.

Now is also a good time to connect your battery pack which will power the servo motor.

![](https://cdn-learn.adafruit.com/assets/assets/000/060/993/medium800/makecode_cat-feeder_bb.png?1536173893)

# Capacitive trigger

Cut out a small section from the sheet of Pyralux PCB material (or other conductive substance). This will be the trigger for the servo motor.

![](https://cdn-learn.adafruit.com/assets/assets/000/060/987/medium800/makecode_IMG_7174.jpg?1536172793)

Info: 

Clip the other end of the alligator clip to the copper Pyralux. This trigger can be placed anywhere on the outside of the box.

When the cat touches this pad, it will change the capacitance of the pad. As it is connected to the Crickit via a wire with alligator clips, the change in capacitance will register on the Crickit capacitive touch input.

![](https://cdn-learn.adafruit.com/assets/assets/000/060/986/medium800/makecode_IMG_7177.jpg?1536172757)

# Add a tray (Optional)
If you'd like to add a tray to catch treats as they're dispensed, a large shipping tube or something similar works well.

&nbsp;

Cut tube down the middle.

&nbsp;

Using hot glue, stick one half of tube to bottom of box.

![makecode_IMG_6832.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/897/medium640/makecode_IMG_6832.jpg?1536083022)

![makecode_IMG_6833.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/898/medium640/makecode_IMG_6833.jpg?1536083059)

![makecode_IMG_7005.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/899/medium640/makecode_IMG_7005.jpg?1536083440)

![makecode_IMG_7007.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/900/medium640/makecode_IMG_7007.jpg?1536082623)

# Automatic Cat Treat Dispenser

## MakeCode

Now it's time to upload some code! For this we will be using&nbsp; **Microsoft MakeCode for Adafruit** , a web-based code editor. It provides a block editor, similar to Scratch or Code.org, and also a JavaScript editor for more advanced users.

If you haven't used MakeCode before,&nbsp;[this guide is a good place to start](https://learn.adafruit.com/makecode/downloading-and-flashing?embeds=allow).

# Getting into Bootloader Mode

To make your board work with MakeCode we need to put it into "bootloader mode". All that's required to do this is to&nbsp; **connect the board to your computer** &nbsp;with a micro USB cable and&nbsp; **click the small reset button** &nbsp;in the center of the board.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/060/980/medium800thumb/makecode_circuit_playground_projects_CPX_bootloader_mode.jpg?1536168135)

Now we're ready for MakeCode!

Click [this link](https://makecode.adafruit.com/96306-16030-88538-02778) or the button below to enter the portal to interact with the code for this project.

https://makecode.adafruit.com/96306-16030-88538-02778

# How to upload code

To upload code, connect you Circuit Playground Express to your computer using the micro USB cable, click the&nbsp; **Download** &nbsp;button to download the **&nbsp;.uf2 file** &nbsp;to your computer, and&nbsp; **drag 'n drop it onto the CPLAYBOOT** &nbsp;drive.&nbsp;

The drive will automatically eject itself. (Your computer may give you a "failed to eject drive correctly" error, you can ignore this.) The code is now on your Circuit Playground Express and ready to run!

# What does this code do?

This sketch in MakeCode uses CRICKIT's capacitive touch sensing abilities to trigger the servo motor.

In the&nbsp;`on start`&nbsp;block we can see that there are two startup commands to set the volume level (not too loud) and lower the servo to ensure the gate starts in the closed position.&nbsp;

In the&nbsp;`forever`&nbsp;block there is an&nbsp;`if`&nbsp;statement, which says:

- If the value of&nbsp;`crickit read touch 1`&nbsp;rises to between `700` and `1000`
- Then play a sound (in this case "`ba ding`") and raise the gate for `200ms` before lowering it back down

If you'd like to play with this code, click " **Edit**" and a new window will open in which you can create your own version.

![](https://cdn-learn.adafruit.com/assets/assets/000/060/979/medium800/makecode_Screen_Shot_2018-09-05_at_1.20.42_PM.png?1536168092)

Info: 

Before creating your final assembly it's a good idea to test that your circuit works.

Capacitive touch is read as a value between 0 and 1023. You can increase or decrease the capacitive touch 'window' as necessary to get the sensitivity level you need (for example from between&nbsp;`>700 and <1000` to between `>850 and <950`).&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/062/222/medium800thumb/makecode_test_code.jpg?1537477793)

If CRICKIT stops responding to touch altogether a single press of the little reset button will restart the whole thing and bring it back to life again.

Once you're satisfied that your box is working, place CRICKIT and battery pack inside and hold in place with double sided foam tape.

![](https://cdn-learn.adafruit.com/assets/assets/000/060/985/medium800/makecode_IMG_7172.jpg?1536171633)

The touch pad can be attached anywhere on the outside of the box where your cat is likely to paw at it (the bottom of the chute is a good place to start). Attach using double sided tape.

![](https://cdn-learn.adafruit.com/assets/assets/000/060/988/medium800/makecode_IMG_7179.jpg?1536173329)

# Automatic Cat Treat Dispenser

## CircuitPython

If you feel more comfortable coding with CircuitPython rather than MakeCode, this page is for you.

The benefits of using [CircuitPython for capacitive touch](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit?view=all#circuitpython-touch) in this case are that it's less likely to freeze (requiring restart), allows greater complexity in any reward scheme you'd like to set up, and allows you to play any sound you want in combination with a treat being dispensed.

# Getting Familiar

CircuitPython is a programming language based on Python, one of the fastest growing programming languages in the world. It is specifically designed to simplify experimenting and learning to code on low-cost microcontroller boards.

CircuitPython is easiest to use within the Mu Editor. If you haven't previously used Mu,&nbsp;[this guide will get you started](https://learn.adafruit.com/welcome-to-circuitpython/installing-mu-editor).

If you haven't used Circuit Playground Express with CRICKIT before, make sure you've updated it with the latest&nbsp;special 'seesaw' version of the CPX firmware.&nbsp;[This guide will show you how](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/circuitpython-code).

# Copy that code!

To start, copy and paste the code below into your Mu editor.

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Cat_Treat_Dispenser/code.py

![](https://cdn-learn.adafruit.com/assets/assets/000/061/028/medium800/makecode_Screen_Shot_2018-09-06_at_9.48.16_AM.png?1536241892)

# Uploading

Make sure you've connected the Circuit Playground Express to your computer and have Mu open and connected to your board.

![](https://cdn-learn.adafruit.com/assets/assets/000/061/027/medium800/makecode_Screen_Shot_2018-09-06_at_9.47.58_AM_copy.png?1536241881)

Once the code is copied into Mu, press the&nbsp; **Save** &nbsp;button - your code should be saved to the&nbsp; **CIRCUITPY** &nbsp;disk drive (which appears when the Circuit Playground Express is plugged into your computer) as&nbsp;`code.py`.

![](https://cdn-learn.adafruit.com/assets/assets/000/061/014/medium800/makecode_code_on_circuitpy.png?1536190054)

You may also include a WAV file to play when capacitive touch is triggered. Name this file "activate.wav" in your CIRCUITPY drive for it to be recognized by the code.

If you want to create and use your own wav files,&nbsp;[see this guide](https://learn.adafruit.com/microcontroller-compatible-audio-file-conversion "wav file guide")&nbsp;to ensure they are formatted for playing on CRICKIT.

# Troubleshooting

**Problem** : My Circuit Playground Express isn't recognized by Mu!

**Solution** : Make sure your board is set up with CircuitPython, which has the Circuit Playground Express show up as a flash drive named&nbsp; **CIRCUITPY** &nbsp;when you connect the CPX to your computer. If it is showing up as&nbsp; **CPLAYBOOT** &nbsp;on your computer, you can&nbsp;[follow the steps in this guide](https://learn.adafruit.com/adafruit-circuit-playground-express/circuitpython-quickstart)&nbsp;to ensure CircuitPython is loaded and you see the&nbsp; **CIRCUITPY** &nbsp;drive.

&nbsp;

**Problem** : My servo isn't moving!

**Solution** : Check that the switch on **&nbsp;** CRICKIT is set to "ON".

&nbsp;

**Problem** : My servo still isn't moving!&nbsp;

**Solution** : Make sure you've updated your Circuit Playground Express with the latest&nbsp;special 'seesaw' version of the CPX firmware.&nbsp;[This guide will show you how](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/circuitpython-code).

# Automatic Cat Treat Dispenser

## Train your cat!

Now it's time to introduce your cat to this mysterious new box. The sound of the servo motor may be startling at first, but becomes normalized over time.

![](https://cdn-learn.adafruit.com/assets/assets/000/060/981/medium800thumb/makecode_Untitled2_720.2018-09-02_12_15_21.jpg?1536170801)

Many [different designs](https://twitter.com/kpimmel/status/1020788801424142337) for treat dispensers can be found on the internet, but all rely on the same principle of positive reinforcement, part of a larger branch of psychology known as [Operant Conditioning](https://en.wikipedia.org/wiki/Operant_conditioning).&nbsp;

The science of Operant Conditioning can produce dramatic changes in animal behavior by leveraging different reinforcing stimuli. This project, more than simply a fun way to occupy your pet, can also be used to powerfully influence your animal's behavior.

For ideas on other ways to put your treat dispensing box to use, projects like Josh Klein's [crow vending machine](http://www.josh.is/crow-machine/), or Karen Pryor's book _Don’t Shoot The Dog: The New Art of Teaching and Training_ provide fascinating examples of the potential power of positive reinforcement.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/060/917/medium800thumb/makecode_Diptic_4.2018-09-04_18_27_01.jpg?1536100273)

# Exploring further

If you enjoy this project and want to continue exploring you can find lots more [MakeCode projects](https://learn.adafruit.com/category/makecode) and&nbsp;[CircuitPython projects](https://learn.adafruit.com/category/micropython-slash-circuitpython)&nbsp;on the Adafruit Learning System.


## 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)
### 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

In Stock
[Buy Now](https://www.adafruit.com/product/592)
[Related Guides to the Product](https://learn.adafruit.com/products/592/guides)
### Alkaline AA batteries (LR6) - 3 pack

[Alkaline AA batteries (LR6) - 3 pack](https://www.adafruit.com/product/3521)
Battery power for your portable project! These batteries are good quality at a good price, and work fantastic with any of the kits or projects in the shop that use AAs. This is a pack of **3 AA batteries**.  
  
These batteries are Alkaline (MnO2) chemistry, with a voltage...

In Stock
[Buy Now](https://www.adafruit.com/product/3521)
[Related Guides to the Product](https://learn.adafruit.com/products/3521/guides)
### 3 x AA Battery Holder with 2.1mm Plug

[3 x AA Battery Holder with 2.1mm Plug](https://www.adafruit.com/product/3842)
Here's another addition to our growing family of&nbsp;[AA battery holders](https://www.adafruit.com/category/563).&nbsp;A&nbsp;holder for three (3) AA batteries! It's got&nbsp;an 8" long power cable with a 2.1mm DC jack at the end, and, oh yes, it's in classy...

In Stock
[Buy Now](https://www.adafruit.com/product/3842)
[Related Guides to the Product](https://learn.adafruit.com/products/3842/guides)
### Small Alligator Clip Test Lead (set of 12)

[Small Alligator Clip Test Lead (set of 12)](https://www.adafruit.com/product/1008)
Connect this to that without soldering using these handy mini alligator clip test leads. 15" cables with alligator clip on each end, color coded. You get 12 pieces in 6 colors. Strong and grippy, these always come in handy! We often use these in conjunction with a multimeter so we...

Out of Stock
[Buy Now](https://www.adafruit.com/product/1008)
[Related Guides to the Product](https://learn.adafruit.com/products/1008/guides)
### 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...

Out of Stock
[Buy Now](https://www.adafruit.com/product/169)
[Related Guides to the Product](https://learn.adafruit.com/products/169/guides)
### Flex PCB Material - 6" by 6" Square

[Flex PCB Material - 6" by 6" Square](https://www.adafruit.com/product/1894)
Finally, the conductive material you've known you wanted but never knew you could have, its a sheet of flex PCB material! This is the stuff used to make flexible circuits, but raw and unetched. You can treat it just like 1 oz copper clad, etch it with ferric chloride (or other PCB etching...

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

## Related Guides

- [Adafruit Circuit Playground Express](https://learn.adafruit.com/adafruit-circuit-playground-express.md)
- [Rose's Shield - Steven Universe](https://learn.adafruit.com/rose-s-shield-steven-universe.md)
- [Cam Follower Automaton](https://learn.adafruit.com/cam-follower-automaton.md)
- [UART Communication Between Two CircuitPython Boards](https://learn.adafruit.com/uart-communication-between-two-circuitpython-boards.md)
- [Ping Pong Ball Launcher](https://learn.adafruit.com/ping-pong-ball-launcher-with-cpx.md)
- [Simple and Beautiful NeoPixel Holiday Lights](https://learn.adafruit.com/simple-beautiful-color-changing-light-strand.md)
- [Dance-Reactive Tutu Sparkle Skirt](https://learn.adafruit.com/dance-reactive-tutu-sparkle-skirt.md)
- [Machine Learning with Marshmallows and Tiny Sorter](https://learn.adafruit.com/machine-learning-with-marshmallows-and-tiny-sorter.md)
- [Circuit Playground Express Laser Tag](https://learn.adafruit.com/circuit-playground-express-laser-tag.md)
- [Crickit Powered Minerva Owl Robot](https://learn.adafruit.com/crickit-powered-owl-robot.md)
- [Introducing Adafruit Crickit #MakeRobotFriend](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit.md)
- [SpaceX Helmet](https://learn.adafruit.com/spacex-helmet.md)
- [Using EduBlocks with Circuit Playground Express](https://learn.adafruit.com/using-edublocks-with-circuit-playground-express.md)
- [Make It Glow With Crickit](https://learn.adafruit.com/make-it-glow-with-crickit.md)
- [Installing CircuitPython on SAMD21 Boards](https://learn.adafruit.com/installing-circuitpython-on-samd21-boards.md)
- [Crickit Powered Maker Ice Cream Truck!](https://learn.adafruit.com/crickit-maker-ice-cream-truck.md)
