The best tools to make your project dreams come true

Login or Signup


By Maker.io Staff

Build a Grinch Fireplace Triggered with a Homemade Switch

Courtesy of Adafruit

Overview

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!

 

Figure-1

 

Figure-2

NeoPixel Fire

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!

Figure-3

Prerequisite Guides

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.

Parts

Figure-4

Circuit Diagram

Figure-5

Circuit Diagram

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.

Power Pack

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.

Wired Connections

Servo

  • Orange signal wire connect from the Servo to A1 on Circuit Playground Express.
  • Brown ground wire connects from the Servo to GND on Circuit Playground Express.
  • Red power wire connects from the Servo to VOUT on the Circuit Playground Express.

NeoPixel Strip

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.

  • GND from NeoPixel strip to GND on Circuit Playground Express.
  • DIN from NeoPixel strip to A7 on Circuit Playground Express.
  • 5V from NeoPixel strip to 3V on Circuit Playground Express.

Foot Switch

  • A2 on the Circuit Playground Express connects to one of the cardboard squares.
  • A3 on the Circuit Playground Express connects to the other cardboard square.

Code

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.

  1. Plug in your Circuit Playground Express with a USB Cable.
  2. Press the RESET button. Green light means you're ready to MakeCode.
  3. Download the UF2 file and drop it onto CPLAYBOOT.

Figure-6

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.

circuitplayground-grinch.uf2

WebUSB

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!

Figure-7

Edit in MakeCode

3D Printing

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.

Figure-8

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.

Download STLs

Edit Makedo Servo Mount

Edit Makedo Screw

Edit Makedo CPX mount

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.

Download Adafruit CAD Parts

Figure-9

Slice Settings

Use these settings as reference. Values listed were used in Ultimaker's CURA 3.X slicing software.

  • 0.2mm Layer Height / 0.4mm nozzle
  • 0.38mm Line Width (inner & outer widths)
  • 60mm/s printing speed
  • 20% infill

Figure-10

Grinch Cutout

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.

Assemble

Figure-11

Fireplace Construction

We used lots of inspirations for the design of the cardboard fireplace from HGTV Handmade, were karenkavett shows how to build a sturdy fireplace made from a tv box.

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.

Figure-12

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.

Figure-13

Build standoffs

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.

Figure-14

Servo Arm

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.

Figure-15

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.

Figure-16

Test Rotation

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.

Mount Assembly

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.

Figure-17a

Figure-17

Build Switch

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.

Figure-18

Test Switch

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.

Figure-19

NeoPixel Strip

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!

Key Parts and Components

Add all Digi-Key Parts to Cart
  • 1528-2280-ND
  • 1528-1083-ND
  • 1528-2595-ND
  • 1528-1151-ND
  • 1528-2145-ND
  • 1528-1794-ND
  • 243-1324-ND