Animated Eye Upgrade

Upgrade this Haunted Candy Bowl with an Adafruit HalloWing M4! Use the touch pads to change the side lit NeoPixel animations! Customize the animated eyes and trick out your candy bowl to win this year's Halloween!

Magic Touch

Touch the pads on the HalloWing M4 to change the NeoPixel animations. Featured animations include a beating heart, fading gradients and rainbows!

The Haunted Candy Bowl

This project uses the Animated Haunted Candy Bowl from Hyde and Eek Boutique. It lights up, speaks phrases and features a mechanical eye that moves side to side. 

Eye Candy Bowl

For the retail price you get a pretty nice case that looks pretty cool and has a decent quality – This beats hours of 3D printing. Plus, it's already designed for a Cyclops! We just couldn't resist adding the HalloWing M4 to this thing. The "eye" puns aren't too bad either.

Project Goals

A few points we wanted to hit when making this project.

  • Fit the HalloWing M4 into the eye socket of the candy bowl using a 3D printed mount.
  • Use the animated eyes and capacitive (cap) touch pads to animate the HalloWing M4's side lit NeoPixel LEDs.
  • Use the existing slide switch to turn off/on the circuit.
  • Make the USB port accessible for reprogramming.

Setup HalloWing M4 with Animated Eyes

Use the link below to launch the learn guide to get your HalloWing M4 setup with the M4 eyes code. Setup is fast and easy, so once that is done come back here and continue!


Here's a list of the parts used in this project:

Angled shot of Adafruit HalloWing M4 Express.
This is Hallowing..this is Hallowing... Hallowing! Hallowing!  Following up on 2018's
Convex Plastic Lens with Edge
The eyes have it! Add this little lens to make a big expression with our Spooky Eyes demo for microcontrollers or Raspberry Pi. These are plastic lenses, with brilliant clarity and a...
Lithium Ion Battery Pack with two round cells 3.7V 4400mAh with JST PH connector
Need a big battery for your project? This lithium-ion pack is made of 2 balanced 2200mAh cells for a total of 4400mA capacity! The cells are connected in parallel and spot-welded to a...
Front shot of JST-PH Battery Extension Cable.
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...
Black Nylon Screw and Stand-off Set with M2.5 Threads, kit box
Totaling 380 pieces, this M2.5 Screw Set is a must-have for your workstation. You'll have enough screws, nuts, and hex standoffs to fuel your maker...

Configure The Eye

Once you have gone through the HalloWing M4 quick start guide, you'll have the default "blue hazel" eye loaded and displaying. Feel free to customize the settings or graphics! Reference the HalloWing M4 learn guide to explore all the options.

Quick Start

  • Plug in your HalloWing M4 via a known good data+power USB cable.
  • Double press the reset button and wait for the NeoPixels to turn green.
  • The HALLOM4BOOT drive should show up on your computer. 
  • Download the UF2 file below and drop it onto the root of the HALLOM4BOOT drive. 

Touch Input

Use the touch pads to change the NeoPixel animations. There are four different programmed NeoPixel animations. Halloween color gradients, beating heart, breath, and rainbow. These will loop and repeat automatically. 

Building from Source

This project uses a build of the M4 eyes from the Adafruit Learning System GitHub repository (repo). For advanced customization, use the link below to open the section of the Learn guide that walks through setting up Arduino and uploading the code.

Get the code working on the HalloWing M4 before installing into the candy bowl.

Author Credits: Give shout out to Jonathan Sampson and Ladyada for writing the code for this project.

Candy Bowl

We'll remove the eye mechanism, two motors and the candy bowl. Decide if you'd like to use the built-in sound effects. There's plenty of space inside the base for other components such as more LEDs!

Bottom Screws

Flip the bowl over and look on the bottom of the base. Notice there's a removable door for accessing the battery. Find the four screws, one on each corner.

Remove Bottom

Use a screw driver to remove the four screws. The battery door is secured with a single machine screw. The slide switch features two modes with the "off" state being the middle. Save the four bottom screws. Locate the small gap and use a tool with a thin and flat tip to pry open the bottom plate. Separate the bottom panel from the base by pushing out on the edges. 

Gut The Inside

With the bottom panel removed, start gutting out the motors by removing screws. If you like to remove the internal LEDs, you can use flush cutters to remove hot glue and pull out the LED bulbs.

Removing Bowl

The white candy bowl is secured to the base with three machine screws. Use a screw driver to unfasten and remove them. Save the candy bowl and screws for later. We'll reinstall them after the HalloWing M4 has been installed.

Removing Eye Mech

The eye mechanism is secured with two machine screws. The eye mechanism uses a piece of string to pull the eye lids back. Untie the string and remove any of the mounting bits and screws.

Eyes and Motors

The HalloWing M4 doesn't quite fit inside the eye mechanism, so we won't not be using it in this project. We can save these components for future projects!

Gutted Base

With all of the components, mounting bits and hardware screws removed, base is now ready for installing the HalloWing M4. 

Bottom Components

The bottom base plate has a circuit board, IR sensor, speaker, slide switch and battery holder. There was also a 2-pin JST connector for the "try me" button switch. I swapped out the existing wiring for silicone-cover stranded wires, just for organizational purposes (totally optional). The slide switch is the only component we'll be using with the HalloWing M4. This allows a convenient way to turn off/on the HalloWing M4.

Paper Template

Don't have access to a 3D printer? No problem! Print out a paper template and use it to make your own PCB mount out of foam core, cardboard or a sheet of plastic, dealers choice!

PDF Vector Artwork

Download the PDF and print it out on paper. This was designed to fit on a 8.5in x 11in sheet of paper. The dimensions of the mount are noted for checking if the scaling is correct after the print.

Foam Core Board

For this project we cut the shape out of foam core board. I suggest adhering the paper template over the work piece first (glue stick). Insert the tip of the blade to make several incisions and follow the outline. Cutting curves can be tricky so take your time! A rotary tool with a drill bit can be used to create the mounting holes.

Take caution and be careful when using knifes and operating power tools! For best safety, young makers ought to have adult supervision.

PCB Mount Screws

Use the following hardware for mounting the HalloWing M4 to the mount. Insert the nylon screw through one of the mounting holes through the top. Hold in place and install standoff by fastening onto screw thread.

  • 4 x M2.5 x 8mm female to female standoffs
  • 4x M2.5 x 4mm screws

Test Fitting

Follow the tear down section before test fitting the cut piece into the base of the candy bowl. It should have a snug fit when press fitting it through the eye hole. 

Cut Pieces

I made several cut pieces before getting the right shape and fitting. Like stated above, cutting curves can be rather tricky!  A few attempts makes for good practice. For this small part, cutting pieces by hand beats dealing with 3D printers or laser cutters.

Lens Holder

The lens holder requires a bit more precision to fit the lens. If you don't have a 3D printer, you can purchase the acrylic lens holder from the shop. Longer screws may be needed to pass through acrylic, pcb and standoffs.

Clear Acrylic Lens Holder + Hardware Kit for HalloWing
Here is the perfect kit for mounting a convex lens (glass or plastic) to your
In Stock

3D Parts

STL files for 3D printing are oriented to print "as-is" on FDM style machines. Original design source may be downloaded using the links below.

Slicing Parts

The bowl has a 1.5mm thick shell and it can be printed without any support material.

  • PLA filament 220c extruder
  • 0.2 layer height
  • 10% gyroid infill
  • 60mm/s print speed
  • 60c heated bed

PCB Mount

The PCB mount features four mounting holes that are 3.5mm(0.14in) in diameter. The center hole has a diameter of 18mm (0.7in)

Design Source Files

The project assembly was designed in Fusion 360. This can be downloaded in different formats like STEP, SAT and more. Electronic components like Adafruit's board, displays, connectors and more can be downloaded from our Adafruit CAD parts GitHub Repo.

Lens Holder

You'll need the following hardware to install the lens holder. These are sourced from the M2.5 nylon standoff kit.

  • 4x M2.5 x 8mm female to female standoffs
  • 4x M2.5 x 4mm screws

Install Standoffs

Insert the M2.5 screw into one of the mounting tabs. While holding in place, fasten a standoff onto the thread of the screw.

Lens Holder

We'll need 2x M2.5 x 4mm screws to secure the lens holder to the PCB. Notice the orientation of the mounting tabs and the mounting holes on the HalloWing M4.

Installing Lens Holder

Place the plastic lens over the display. Lay the lens holder over the lens with the standoffs facing down. Line up the standoffs with the mounting holes on the HalloWing M4 PCB.

Installed Screws

Notice we only have two screws installed. If screws are installed in the bottom holes, the PCB won't sit flush with the mount. Two screws are sufficient for keeping the lens secured in place.

Installed Lens Holder

Fasten the screws tightly.

Flush Lens

8mm tall standoffs have just the right height for the lens holder. 

PCB Mount Screws

The PCB mount needs the following hardware for installing.

  • 4 x M2.5 x 8mm female to female standoffs
  • 4x M2.5 x 4mm screws

Installing Standoffs

Insert the nylon screw through one of the mounting holes through the top. Hold in place and install standoff by fastening onto screw thread.

Installed Standoffs

Tightly fasten the remaining screws and standoffs.

PCB Mount

The hole in the center of the mount can be used for passing wires and cabling through to connect to the HalloWing M4.

Install PCB Mount

Press fit the mount through the eye socket from the inside of the base.

Installed Mount

The 3D printed PCB mount features a tapered flange that prevents it from falling out. Optionally hot glue it in place for extra security.

Install Battery for HalloWing M4

Find an empty spot on the bottom base for the battery. I used mounting putty to secure the battery. Other options are hot glue and double-sided foam tape. Plug in the 2-pin JST extension cable.

On/Off Switch Wires

If you'd like to use the existing switch, you can wire it up to the EN (enable) and GND (ground) pins on the back of the HalloWing M4 socket headers. Use right-angled male header pins for a low-profile fit. The length of wire is about 8 inches.

Slide Switch Wiring

The built-in slide switch features two sets of pins. Use the available pins to connect the EN and GND pins on the HalloWing M4. Using the middle pin and the one next. The middle position of the switch is the OFF state. the LIGHT state will turn the HalloWing M4 ON


Thread Wires

Pass the battery and switch cables through the center hole of the PCB mount. Pull out a good amount of slack for better handling of the wires.

Connect Switch Wire

Insert the two header pins from the slide switch to the EN and GND pins on the back header sockets of the HalloWing M4.

Connect Battery Wire

Plug in the JST extension cable to the battery port on the back of the HalloWing M4. You may need to remove the screw, it slightly blocks access to the battery JST port.

TURN ON the built-in slide switch on the back of the HalloWing M4. It must be on the ON position in order for the circuit to work.

Installing HalloWing M4

Place the HalloWing M4 PCB over the four standoffs on the PCB mount. Line up the mounting holes with the standoffs.


Secure HalloWing M4

Use two M2.5 x 4mm screws to secure the HalloWing M4 PCB to the standoffs.

Accessible USB Port

The micro USB port is accessible for recharging the battery and reprogramming the HalloWing M4. 

Reinstall Candy Bowl

Use the three existing screws to reinstall the candy bowl back onto the base.

Reinstall Bottom Panel

Fit the bottom panel back onto the base. Make sure to orient the bottom so the IR sensor is lined up with the small hole in base. Insert and fasten the four existing screws to secure the bottom panel to the base.

On/Off Slide Switch

The LIGHT position will turn the HalloWing M4 on. The middle position will turn off the HalloWing M4.

Touch Test

Touch the four pads on the HalloWing M4 to change the NeoPixel animations. Don't forget to reinstall the candy bowl! 

Final Assembly

And there you have it! A creep tricked out haunted candy bowl with sweet RGB LEDs and animated eye!

Going Beyond

There's lots of opportunity to go beyond the scope of this project. The stock candy bowl features a built-in speaker and IR sensor. These could be wired into the headers on the back of the HalloWing M4. If you have experience programming, check out the M4 eyes code on Github. There's also plenty of room inside the base for extra goodies such as NeoPixel LED strips.

This guide was first published on Oct 14, 2019. It was last updated on Mar 08, 2024.