Category Archives: Contests

Scary Smart Gothic Lantern

This post captures my entry into the Adafruit Extra Credit / Circuit Playground contest of 2017. I made a fun, interactive ‘Scary Smart’ Gothic Lantern which I will describe in this post.

Intro Video (Showing Two Completed ‘Scary Smart’ Gothic Lanterns):

I bought the Adafruit CircuitPlayground Developer Edition when it first came out and gave it a try — it was a fun little board and was something I’d tinker with on a long flight and recommend to friends starting out, but I didn’t have a solid use for it, in terms of a project as by the time I got it I had progressed in my electronics/maker projects to the point where I was designing my own boards etc. Then I saw the folks at Adafruit post about building this great looking Gothic Lantern and added a small enclosure to house a circuit playground to light it up and it really resonated with me.

Lantern running Flickering Candle Demonstration
Lantern running Flickering Candle Demonstration

Once I built the lantern and enclosure I decided to build a lid for that electronics enclosure as I didn’t like seeing some light showing through from the space between the enclosure and the base of the lantern. My lid fits snugly into the electronics enclosure and blocks any light from coming out of the base.

3D Printing Details:

I printed my lantern from Polymaker PolyLite PLA (Black and White). I used M4 x 30mm flat head machine screws and nuts (Qty 4 each) to attach the electronics enclosure and lid to the base of the lantern.

I found the lid (via how the lantern model was designed) to be a bit too loose for my liking so I added a piece of black electrical tape to the male pins on the top of the lantern and it did a great job filling space and adding friction so the lid stays on the lantern if you want to hang it.


All the models used can be found on Thingiverse:

Gothic Lantern

Circuit Playground Electronics Enclosure

Lid for Circuit Playground (I designed and shared this part out)

Looks even better in the dark
Looks even better in the dark

To take things a step further from just the build I decided to write a series of animation/demoes for the lantern to add some fun interactivity to the project and to use as many of the sensors as I could work into a lantern project.

Demo Video:

The above video walks through all of the animations and using the accelerometer to navigate them. (Details below)


You can find all of my source code for this project on GitHub here:


Two candles
Two candles


The animations/demoes can be advanced by using the X-axis accelerometer which is in line with the USB port. By quickly shaking the lamp in that direction the system will go dark for 2s and then cycle into the next demo. If the demo supports alternative modes a quick shake in the Y-axis will cycle through the modes. (The code also supports using the on board buttons to do the same navigation, but when the lantern is assembled the accelerometer is a lot more fun to use)

  • Flickering Candle — custom modified algorithm to simulate what to me looks like a fairly realistic approximation of a candle. (Flickers, goes dark in places etc.
    • Alternative Modes (Y-Axis) — Can cycle through several alternative colors of flicker
    • Hardware Used — NeoPixels
  • Bug Zapper — simulates an old fashioned electric bug zapper, complete with strobing flashes and satisfying bug zapping sound
    • Alternative Modes (Y-Axis) — None
    • Hardware Used — NeoPizxels and Piezo Buzzer/Speaker
  • VU Meter — like an old stereo this system will light up green, then yellow then red to represent the amount of sound it is hearing, and slowly fade back down to green if things get quiet again. All pixels light up the same color — works great for a room with lots of music playing
    • Alternative Modes (y-Axis) — None
    • Hardware Used: NeoPixels, Microphone
  • Rainbow Cycle — looping animation of rainbow colors swirling around (on video it looks white, but in person is perceptible)
    • Alternative Modes (y-Axis) — Loop speed can be varied
    • Hardware Used: NeoPixels
  • Temperature — Cycles through an animation of Blue -> Cyan -> Green -> Yellow -> Orange -> Red (simulating the range of colors used to represent the temperature in this demo), then strobes white 3 times and then shows the ‘color’ of the current temperature reading. (Blues are cold, Green room temp (68F +/- 4 degrees), Yellow a bit warmer, Orange getting warm and Red is HOT.
    • Alternative Modes (y-Axis) — None
    • Hardware Used: NeoPixels, Thermometer
  • Lamp — default is an animation that quickly cycles through several pre-selected colors. If you use an alternative mode you can keep a given color on for as long as you like
    • Alternative Modes (y-Axis) — Solid colors then back to demo cycling of colors
    • Hardware Used: NeoPixels
Two different animations running
Two different animations running

It was a lot of fun to build this project. If you build one of your own, please leave me a comment or share a make on Thingiverse or similar.

-Bill Rainford