Add Lights and Spooky Music to Your Jack-O-Lantern - No Soldering or Programming (Unless You Want To)




About: I am a teacher who sometimes makes videos.

Have the scariest Jack-O-Lantern on your street by adding glowing lights and spooky music! This is also a great way to try out Arduino and programmable electronics because the entire project can be completed without writing code or soldering - although the opportunity is there for those looking to make it their own.

Watch the video for more details:

What you need:

  • Pumpkin
  • Breadboard and Jumper wires
  • LED Strip
  • Speaker - can use most speakers it you can access the terminals, but here is another that works:
  • Power - any cheap cell phone power bank (I got mine from target), or a wall wart that has a voltage rating between 7v and 12v that will fit the arduino's connector. Here is a power bank that would work: 5v power bank


  • Wax paper
  • Rubber bands
  • Paper clips

For version without soldering:

For soldered version:

Disclaimer: All items linked above are through affiliate links.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Carve the Pumpkin

Hollow out and carve your pumpkin - the spookier the better! Make sure to have openings for eyes and mouth so you are able to see light from LEDS.

Step 2: Assemble the Eyes

Cut two pieces off the LED strip that have two pixels each. These will be for the eyes of the pumpkin - you can use more if you like to make them brighter.

Take one of the connectors, and cut the end off. Strip the insulation off each of the three wires. Wrap the exposed wire around the end of a jumper wire, and hot glue (or solder) in place.

Take one of the two pixel strips and slide it under the prongs on the connector, making sure the arrows are pointing away from the jumper wires, and snap connector into place. Add a connector to the other side, and snap into place as well. On the remaining side, attach the other two pixel strip, making sure the arrows are pointing the same way they are with the first.

Step 3: Assemble the Candle

Cut an LED strip with four pixels. This will be for the candle in the pumpkin - you can use more if you like to make it brighter.

As before, take one of the connectors, and cut the end off. Strip the insulation off each of the three wires. Wrap the exposed wire around the end of a jumper wire, and hot glue (or solder) in place. Slide the contacts of the LED strip under the prongs on the connector, making sure the arrows are pointing away from the jumper wires, and snap connector into place.

Step 4: Prep the Speaker

Take two jumper wires and connect them to the speaker using hot glue. To get this to work, I bent the end of the jumper wire and held it in place until the hot glue had completely solidified.

Step 5: Build the Circuit

Wire Arduino Uno boards to the breadboard. It is important that they both 5v pins are connected to the same rail, and the ground pins for both are also connected to the same rail. This way, both boards will be powered regardless of which board is connected to the power supply.

For each LED strip, connect the positive wire to the positive/5v rail, and the negative wire to the negative/ground rail. Connect the candle LED strip to pin 6, and the LED strip for the eyes to pin 8 on one of the Arduino boards.

Connect one wire from the speaker to the negative/ground rail, and connect the other wire to pin 9 on the other Arduino board.

Note: Two Arduino boards are needed, because the library needed to control the LED strips is not compatible with the code required to play a tone on the Arduino board. You can sort of make it work, but everything gets slowed down, and the sound is choppy.

Step 6: OPTIONAL: Solder Eyes/Candle/LED Instead of Gluing

I made a soldered version using two Arduino nanos. I cut off the two pins on the end of each board so that I could fit them together on the breadboard. From here, everything is very much the same. I used three strand wire to help keep it a little neater.

The circuit is assembled in a similar fashion, and is perhaps a bit simpler to put together once everything is soldered together.

NOTE: I soldered jumper wires to the ends to make them easy to connect to the breadboard. You can bypass the breadboard altogether and solder all the parts to a prototyping board to make the circuit a little more durable.

Step 7: Program the Boards

Open up the Arduino IDE on the desktop, or go to the editor, and connect the Arduino with the LED strips to your computer. Upload the code linked below. No edits or interaction with the code is necessary unless you want to try changing the speeds, etc. If you did use more than 4 LEDs for either part, you will need to change the numbers in the code to reflect the amount you are using in line 5 for the candle, and in line 8 for the eyes. You can also connect the LED strips to a different pin on the Arduino, by changing the numbers on lines 5 and 12.

code for lights + candle

Next, connect the Arduino with the speaker to your computer, and run the code below - as before, no modifications are necessary. If you are interested in changing the speed (line 14), or the song, you can do so fairly simply here. All you need is to find the list of notes (line 16) and replace them with the notes in the song you want to create. Next change the value of the variable that contains the number of notes to reflect the new length of the song (line 2), and change the frequencies to match the notes you used (lines 2-13).

code for song

Step 8: Troubleshooting

At this point, when the boards are plugged in, you should see the lights from the LEDS, and the hear the tone from the speaker. If something isn't working as expected, here are some good places to start:

  • Check that all the connections are good
  • Make sure both Arduino boards are connected to the same positive and same ground rail
  • Check to make sure each of the components are wired correctly - positive/negative in the right spot, and connected to the pin that the code thinks it is attached at.
  • Make sure all the code was copied into a fresh empty sketch, and nothing was accidentally deleted or added.

Step 9: Put It Into the Pumpkin!!!

To power the circuit, you can use a AC - DC converter rated between 7 and 12v, or and cell phone external battery with a usb port.

I used a rubber band to hold the Arduino boards and the breadboard together, and placed them in a plastic bag to keep them from getting pumpkin all over them.

I also wrapped some wax paper around the LEDs for the lights to diffuse them.

I put the whole set up inside the pumpkin, and cut some paper clips in half, and folded them so they could act as staples to hold the LEDs in place.

All that is left to do is plug it in and enjoy!!!

Thank you for reading. If you are interested in seeing future projects, please subscribe to my Youtube channel: More Than The Sum

Halloween Contest 2017

Participated in the
Halloween Contest 2017

Hand Tools Only Contest 2017

Participated in the
Hand Tools Only Contest 2017

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    6 Discussions


    1 year ago

    Nice, I learned about the connector for the strips...that will make life much nicer :-) Wondering why you thought that you couldn't do this with just one UNO (?) I modified your code just slightly, and added TimeAction to it - I have all three things going on.... I only have long strips that I'm not ready to cut (other project) - but can make a video if you want. My modified code can be found here (if you are interested)

    4 replies
    More Than the Sumkd8bxp

    Reply 1 year ago

    Thanks for sharing. I had written a few different versions, and I have never heard of the TimedAction library and that will be fun to play with. I tried it out, and ran into the same problem I had with the other versions I wrote. The speaker clicks/skips while its playing. Here is a quick video I took of it: From what I understand, the neopixel library (I have not investigated other libraries) periodically disables interrupts, which the tone() function must be using: I even tried writing a version without the tone function, using micros() for timing, but the loop took to long to run, and all the frequencies ended up too low lol.

    kd8bxpMore Than the Sum

    Reply 1 year ago


    thanks for the answer I kind of hear it - I guess my ears can't pick it up so much.

    Here is a video of mine - OF course it's not a pumpkin :-) and you'll just have to over look the long neopixel strips.

    What I found kind of interesting is the "candle" flicker syncs to the music - it's kind of weird how it did that, and totally unexpected.

    There are a few other libraries that can do "multi-tasks" with a UNO TimedAction is one of the easier ones to understand what it's doing and how to do it. It's a fun library to play with, and really expands what you can do with a couple of simple changes to the code.


    Reply 1 year ago

    Hi again, I tried a few things, and I hear what you are saying with the extra little "hissing" and distortions. I thought maybe two strips where causing a problem - I modified the code to use only one strip. But still no luck - in fact it may have been worse, or it may have been because I can hear it now.

    I can post the single strip version if you'd like.

    I like the project, I did learn a few things - no solder and glue is very interesting, and the clips for the led strips both are very handy things to know.

    Thanks - LeRoy

    More Than the Sumkd8bxp

    Reply 1 year ago

    Thanks for taking the time to look into it! I am glad you were able to learn something from the instructable! My hope is to encourage more people to try out electronics bc hot glue is so accessible, and does good enough for quite a few applications.


    1 year ago

    I love the look of this and the music gave me the giggles! That's awesome :)