Courtesy of Adafruit
Guide by Ruiz Brothers
In this project we'll build an interactive cardboard fireplace with LEDs and a motorized Grinch!
A Circuit Playground Express will drive an LED strip and a servo controlled paper Grinch cutout. Hidden under a rug, a simple switch triggers the servo when stepped on. So the Grinch looks like he's hiding when someone steps on the rug, sneaky!
Build a fire using paper towel tubes and other packaging material. Use a NeoPixel LED strip to create animated lighting effects!
All of the electronics are easy to put together and no soldering is required! The neopixel strip and motor connect to the Circuit Playground with alligator clips, so it easy to assemble and change the theme of the fireplace!
There's resources in these guides that go beyond what's covered in this tutorial. MakeCode guide is all about setting up your Circuit Playground Express board. TheCircuit Playground Express introduction guide walks you through all of the pinouts, sensors and everything you need to know.
This provides a visual reference for wiring of the components. They aren't true to scale, just meant to be used as reference. The NeoPixel strip features alligator clips that connect directly to the pads on the Circuit Playground Express.
The 3xAAA battery pack can supply ~4.5V which is suffice to power the Circuit Playground Express and 30 count NeoPixel strip. The battery plugs directs into the JST connector.
The following connections are setup for the program in MakeCode. The data input from the NeoPixel can be switched to any available pins (except for A0 but OK on A1-A7 ) on the Circuit Playground.
MakeCode for Circuit Playground Express
MakeCode is this programming editor that runs in the Google Chrome web browser. It’s has an intuitive interface that’s both block based and text editor.
It works with Adafruit's Circuit Playground Express so you can make interactive projects with the on-board sensors and components. You can drag & drop blocks to make interactive programs using lights and sounds without having to solder or learning a new syntax.
You can alternatively upload code directly to the Circuit Playground Express with WebUSB, see the steps to do so here.
Setup Circuit Playground Express for MakeCode
To get started, we'll need to head over to the Adafruit MakeCode website and follow the steps below.
Upload and Test Code
Once you have your CPX setup with the MakeCode UF2, try testing it out by uploading the code to the board. Click the link below to open up the program in MakeCode. Click on the pink edit icon near the top of the title to open the code. This will create a project in MakeCode and allow you to edit, modify and upload the code to the board.
Makecode can also pair with your Circuit Playground Express through a chrome web browser by following this page in our MakeCode guide.
With WebUSB, the code edit will upload directly to the Circuit Playground Express without the need to drag and drop file onto it!
What If I Don't Have A 3D Printer?
Not to worry! You can use a 3D printing service such as 3DHubs or MakeXYZ to have a local 3D printer operator 3D print and ship you parts to you. This is a great way to get your parts 3D printed by local makers. You could also try checking out your local Library or search for a Maker Space.
3D Printed Parts
Parts are designed to be 3D printed with FDM based machines. STL files are oriented to print "as is". Parts require tight tolerances that might need adjusting slice setting. Reference the suggested settings below.
Design Source Files
The enclosure assembly was designed in Fusion 360. This can be downloaded in different formats like STEP, SAT and more. Electronic components like the board, displays, connectors, and more can be downloaded from our Fusion 360 CAD parts github repo.
Use these settings as reference. Values listed were used in Ultimaker's CURA 3.X slicing software.
There are many resource to 2d/3d print a Grinch figure. We used a vinyl cutter to create each colored layer and then glued the pieces to make a light weight cutout using techniques from our How To Use Cutting Machine guide.
The cutout then attaches to a cardboard arm which is in turn attached to a servo horn.
We took the structure design and combined it with the foam board design as shown on the Craftylumberjacks blog.
The fireplace size can vary based on the room available to display. Ours measures in at 30x10x 38in (760x970x250mm) which is small enough to fit the Grinch head (9x7in / 230x180mm), Circuit Playground Express, servo and battery pack.
CPX Mounting Template
We can easily glue the Circuit Playground Express to the inside of our fireplace, but we wanted to make our easy to reinstall for future use.
Our 3D Printed mounts are compatible with the popular cardboard connector Makedo Screw. You can also 3D Print a custom size to fit different cardboard thicknesses.
First, we'll need to create a base that can support the 3d printed mount. Measure, cut, and glue together two rectangular strips 5x1.5in (130x40mm) long. We'll lay the 3d printed mount on top and trace the holes on the cardboard.
Use a pointed tool to create the mounting holes for the mount and "tap" the cardboard with two makedo screws.
After the rectangular base parts dry, we'll move on to cutting two standoff squares.
Measure, cut and glue two pieces of cardboard 1.5x1.5in (3x3mm) long. "tap" to create the mount holes.
Finally we'll glue the two standoff squares to the main rectangular base and then attach the 3d printed mount with Circuit Playground mounted on top.
A strip of cardboard will attach a servo horn on one end and our Grinch figure on the other end.
Measure a cardboard piece 6.5x2in (150mmx50mm) long. Use the included screws and single armed horn to attach to the end of the cardboard arm as shown.
Servo Mount Template
We'll follow the same steps to build our cardboard base for our 3d printed servo mount.
Cut a two pieces of cardboard 3x2in (50x75mm) long and glue together.
Lay the 3d printed servo mount on top of the base and trace the mounting holes. Use a pointed tool to create the mounting holes for the makedo screws.
Now we can test our rotation values. Mount the servo to the printed mount and test the rotation. We'll want to make sure there is enough room inside the fireplace for the arm to rotate freely.
Take note of the optimal position to glue the base to the inside of the fireplace. We used a high temperature glue gun to carefully attach the base to the inside of the fireplace.
Next we'll move on to building the switch that will activate the servo. The switch is made up of two cardboard pieces with tinfoil attached to both sides. Two small squares are sandwiched between the large pieces to keep the two tinfoil back from touching. Once pressure is applied, the two tinfoil pieces touch to activate the servo.
If you plan to use a thicker, heavier rug, we recommend building a switch with multiple layers as shown in this guide: https://learn.adafruit.com/diy-wireless-ddr-dance-pad-bluefruit-ez-key/make-sandwich
For our fireplace, we cut the two pieces of cardboard down to 15x11in (380x280mm) in size.
We'll add a slight bend to each cardboard piece. This will help form the pieces and keep them apart from each other.
To attach the tinfoil parts, cut both pieces down to small squares (5x6in or 150x130mm) and use double stick tape to adhere them to the larger cardboard parts. Next you can cut a long thin strip to create a trace or use thin cooper foil tape as shown in the pictures.
Complete the switch by attaching long alligator clip wires to the ends of the cooper foil tape.
Align the two cardboard pieces on top of each other and test the switch by applying pressure.
Finally, we'll set up our scene and arrange the wires to hide around the side of the fireplace as shown in the pictures.
To cover our switch, we laid a light weight fur rug on top.
To finish up the design, we'll cut cardboard tubes for our fake logs and then insert a NeoPixel strip. Add cuts to the cardboard tubes to make it appear like glowing ember!