Introduction: EPIC 3 Story Light-Up Gingerbread Castle With Neopixels + Arduino

Building gingerbread houses is the classic holiday activity, but I always seem to be too busy during the winter season - I made up for all those years I missed by making my gingerbread house castle as big as I possibly could.

This year, now that I had some extra LED lights and tech supplies on hand, I decided to spice it up a little bit. No, it's not technically a gingerbread house, but 'giant graham cracker castle' just doesn't have the same ring to it. Nothing, though, stands up to this combination of food and tech, a towering castle to conquer all others!

Some of the main features:

  • 3 stories tall (about 2 feet)
  • Hexagonal tower, tall main house, and two mini side houses
  • Uses Neopixels, powered by Arduino Uno
  • LED strips located in each layer light up all the windows
  • Lavishly decorated with fake 'snow' covering the grounds and walls

Supplies

Kitchen ingredients:

Tech supplies:

  • 3x Neopixel RGB/RGBW sticks of 8
  • Arduino(any of them will work)
  • 7x M-M Jumpers or spare ~22 AWG wire
  • Spare USB cable of any type that you're willing to cut up
  • 300-500 Ohm Resistor, Breadboard, M-M jumper (optional, but recommended)
  • Soldering Iron + Lead-free Solder
  • Wire Stripper

Step 1: Do's and Don'ts

Before we start, you need to know a couple things:


Do...

  • use graham crackers, not gingerbread. These are more structurally stable and won't decompose quickly or attract critters.
  • buy a lot of crackers and hot glue. I used about four boxes and 10-15 sticks of glue, but more can't hurt.
  • handle your electronics carefully. Ground yourself by touching metal before handling the Neopixels/Arduino, and take your time soldering.
  • place the graham crackers carefully. The hot glue stuff is surprisingly strong.
  • be creative. Feel free to follow me step by step or invent your own design.


Don't...

  • try to use frosting to stick the crackers together. Not strong enough.
  • try to remove a cracker after the glue has dried. This won't work and might destroy your house.
  • accidentally break any of the crackers in half. This just wastes them.
  • forget to clean up often! This project gets messy!

Step 2: Preparation

Let's get started!

Fire up your hot glue gun.

While you're waiting for it to heat up, cut your cardboard box or sheet to your preferred dimensions. I used 18 by 12 inches.

Head to the Arduino website to download the latest version of the Arduino IDE (1.8.19) for your computer. Follow the instructions to install and setup.

Throughout this Instructable, I'll be referring to a few different parts of the house. Click on the diagram above to see what they mean.

Step 3: First Floor

The basic frame of the house is a 2 by 4 rectangle of crackers, placed vertically. If you're confused, see the 3D model above (I didn't take enough pictures).

Use a pencil to trace out on the box where you'd like to place the cracker, then line it with a generous amount of hot glue.

Carefully stick the cracker in place, and finish the perimeter with nine more. Add hot glue in the spots where any two crackers touch. Take your time and make sure everything is as straight as possible. If it's not a perfect rectangle, the second and third layers will be harder to build.


You can also add on the front door or the main tower now, which is shaped like half a hexagon. Use three full graham crackers.

When you're finished, roof off the entire floor with a layer of crackers: four for the main frame, and you'll need to cut a half hexagon out with a knife.


  • IMPORTANT NOTE: Throughout the entire build, the smooth side of the crackers that have no perforations should face outwards at all times.

Step 4: Second Floor

The frame for the second floor is just like the first: ten crackers in a 4 by 2 rectangle. Remember to place these as straight as possible.

For the front tower, place three trapezoid-shaped pieces on top of the first layer. This will involve a lot of trial and error. Remember that you can always cut bigger than you need to and shave down later, but cutting too small is irreversible!

Instead of being the size of one cracker, each piece in the front tower will 'shrink' to the size of 1/4 cracker. Cut three of these to form a smaller half-hexagon - there may already be perforations on the cracker to help you do this cleanly.

Roof off the entire floor with another layer of crackers. For the main tower, I purposely cut the half-hexagon a little bit bigger in order to make a decorative ledge.

Now that the first floor is hardened, you can cut windows with the serrated knife. Slowly shave away edges to make two rectangular holes. Make sure they're symmetrical on both sides.


At this point, it's time to make the two side houses. You can make them as tall or short as you want to, but mine were about 5". You'll need to cut and glue in five pieces to your preferred size: two front/back walls, two front/back roofs, and one side-facing door.

Once the glue dries, you can cut windows in the side houses as well.

Step 5: Third Floor

Glue crackers around the perimeter to make the last layer of the frame.

The size of each piece in the front tower is 1/2 cracker, the long way.

Cut windows in the second floor that are identical to the first ones. If you'd like, you can also cut some in the main tower.

Roof off the whole thing with one last horizontal layer.

Step 6: Roofing + Last Layers

Next, you'll need to extend the main tower a bit more, except that it will become a full hexagon instead of a half-hexagon.

Glue six pieces together, each the size of 1/4 graham cracker, just like the second floor.

Cut out a hexagonal roof for the tower, then another layer of six pieces. Cover it up one more time with another hexagon.

Glue two crackers together at an angle on top of the third layer to form the sloped roof of the house. Trace, cut, and glue a triangle to fill in the hole on the side made by the roof, and repeat this on the other side.


There are still lots of holes in the roof, so fill in the back with two more crackers. As you can see from the fourth picture, I layered mine just to give the back some decoration, but feel free to adjust however you'd like.

To fill in the holes in the front of the roof, you'll need to cut specially-shaped pieces to curve around the tower. Again, this will involve trial and error.


Lastly, top off the tower with six equally-sized triangles. It may be useful to cut one, then trace the rest to make sure that they're the same size.

If you're getting confused, please refer to the pictures above to get an idea of what the finished product should look like!

Step 7: Trim

Before you start decorating, shave any edges that stick out with a serrated knife. Make sure everything looks polished and neat.

If you want to, slightly rounded corners on the roof look great.

Clean up and put the castle away for now.

Step 8: Soldering the Neopixels

Neopixels are a special type of RGB LED that are simple to control with Arduino. All you need to do is provide a 5 volt power source, ground, and a signal wire. Multiple sticks are really easy to connect together.

The back of the stick should have 3 solder pads on each side: 5V, GND, and an input (IN) or output (OUT).

Note: some Neopixels have multiple ground pads. It doesn't matter which one you use.

To chain the first two Neopixels together, just solder all the pads on the output side of the first to the input side of the second. GND connects to GND, 5V to 5V, and data in to data out. If you don't have lots of spare wire, you can use jumper cables.

To connect the third stick, connect all the outputs on the second to the inputs on the third.


The Arduino doesn't have enough power to light up everything, so using a separate 5V power source is best. Cut your old USB cord and strip it.

Locate the red (5V) and black (GND) wires and strip these two. Then, solder them correspondingly onto the input side of the first Neopixel stick.

Then, solder one end of your spare wire or jumper cable onto the data in pad. Plug the other end into pin #6 of your Arduino.

Optional, but recommended: Adafruit's guidelines for Neopixels suggest to place a 300-500 Ohm resistor between the Arduino pin and the input pad. Use a breadboard or just solder it on.

Be extremely careful and make your solder connections neat, otherwise you could completely fry your Neopixels!

Step 9: Programming the Arduino

Plug your Arduino and the Neopixels into separate USB ports on your computer, then fire up the Arduino IDE software that you installed earlier.

Head to Tools > Manage Libraries, then search for 'Adafruit Neopixel'. Select and install the latest version.

Make sure the correct type of Arduino is selected in Tools > Board. Open the code attached below, then press Upload.

If everything worked, then you should see some holiday lights flashing!

Note: you may need to change some of the setup variables in the code below if you have a different type of Neopixels or if you include more lights.

Step 10: Lights + Decoration!

Cut three vertical holes, one in the back of each layer, to place the Neopixel sticks in. Then, hot glue each in place so that the lights face towards the front. When you plug everything in, the lights will softly shine through the windows and glue between the graham crackers.

One of the middle windows was directly in front of the light, so I filled it up with hot glue so it wouldn't be too bright.

Now for the fun part - decoration! Microwave your icing bottle for a few seconds to soften, then create patterns on the roof, windows, walls, and/or door.

  • I used a fish scale-like pattern on the roof.
  • Line the perimeter of the windows with icing.
  • You can even make it look like snow and icicles are covering the house by dripping the icing everywhere!

Use small candies to give it some more color or small detail.

Step 11: Nice Job!

Hey, you finished the castle! Post any questions, comments, or photos of what you've made below.

Thank you so much for reading, and happy holidays!

Winter Fun Challenge

Second Prize in the
Winter Fun Challenge