Programmable Pumpkin Light





Introduction: Programmable Pumpkin Light

This Instructable is for making a programmable Pumpkin light with an ATTiny microcontroller. This was designed as a learning demo to introduce anyone (age 8+) into electronics and programming microcontrollers using the Arduino IDE.

Leaning Objectives:

  1. Understanding what an Input is, and what an Output is for a microcontroller.
  2. Understanding how a microcontroller Output can control an LED.
  3. Understanding how a Button Input can be read by the microntroller.

Parts Needed:

  1. 1 Mini Bread Board
  2. 1 ATTiny85
  3. 1 3V coin cell battery
  4. 1 coin cell battery holder
  5. 2 33 Ohm resistors (Orange, Orange, Red)
  6. 1 10 k Ohm resistor
  7. 1 RGB LED
  8. 1 sliding switch
  9. 1 push button
  10. 8 wires

Tools Needed:

  1. A Computer with the Arduino Software
  2. An AVR programer (We used Sparkfuns Tiny AVR Prorgrammer but if you already have an Arduino you can follow these instructions to program the ATTiny85 with your arduino)

Step 1: Circuit Diagram

This is the circuit diagram for the Pumpkin LED controller. The LED is controlled by pins 2(red), 1(green), and 0(blue).

The ATTiny turns on the LEDs by pulling the programmed pin down to ground. This is done with the following line of code for the red LED

digitalWrite (redPin, ON);

The button connected to pin 3 of the ATTiny tells the ATTiny when to switch the mode of the LED.

Step 2: Putting the Components on Your Breadboard

The next few steps will instruct you on how to wire up your breadboard. It is IMPORTANT that you wire your board up exactly as shown in the pictures, otherwise your pumpkin light might not work. Please ask for help from a volunteer if you are unsure of anything.

note: the bread board rows on either side of the center-line are connected

Step 3: Put the Push Button on Your Breadboard

Insert the Push Button into the red circled spaces on your bread board

Step 4: Put the RGB LED on Your Breadboar

Put the RGB LED in to the circled spaces on your bread board. It is important to put them in the board exactly as shown here. The long leg should go in the 5th hole from the top.

Step 5: Put the Battery on Your Breadboard

Place the Battery on your board in the circled holes. It must go on the 2nd row from the bottom of your board.

Step 6: Add the Sliding Switch to Your Bread Board

Add the sliding switch as shown in the photo

Step 7: Add the ATTiny85 Microcontroller to Your Bread Board

*Be very careful to not break the legs on your ATTiny microcontroller. It is also important to add it with the little dot in the upper left corner (circled in white) as show on the photo. Don't push the microcontroller all the way in since we will be removing it to program it later.

Step 8: Wire the Red LED to Pin 2 of the ATTiny85

Put a wire in the holes shown in the photo.

Note* The color of the wire does not matter, but it is helpful to use different collors to make it easier to see what is connected.

Step 9: Wire the Green LED to Pin 1 of the ATTiny85

Wire the pin as shown in the picture

Step 10: Wire the Blue LED to Pin 0 of the ATTiny85

Add the wire connecting the Blue LED leg to pin 0 of the ATTiny as shown in the picture

Step 11: Wire the ATTiny + Pin to Power

Step 12: Connect the 33 Ohm Resistor Fromt the LED + Leg to Power

The resistor with the Orange, Orange, Black, bands is the 33 Ohm resistor.

Step 13: Connect Add a 33 Ohm Resitor Between Power and the Button

The resistor with the Orange, Orange, Black bands is the 33 Ohm resistor.

Step 14: Wire the Slide Swith to +3V

To make this step easier you can remove your battery cell holder to put the wire in the correct holes.

Step 15: Wire the (-) Pin of the ATTiny to Ground

Step 16: Add a 10K Resistor Betweent Button and Ground

Add the 10 K ohm resistor (Brown, Black, Orange) between the ground and the button.

Step 17: Wire the Bottom Leg of the Button to Pin 3 on Your ATTiny

Step 18: Develop Your CODE

  1. Download the code
  2. Edit the code

This is a STATE driven code. Meaning that the STATE (which are typed in CAPS in the code eg RED_STATE).

To add a state you must declare it at the top of the code, and update the number of states.

Then you can modify the Switch case to include your new STATE.

Step 19: Configure the Arduino IDE to Program the ATTiny

  1. >Tools > Board select the ATTiny85 1 MHz clock
  2. >Tools>Programmer> USBtinyISP

Step 20: Program the ATTiny and Connect Your Bread Board to the AVR Programer

  1. Remove the ATTiny from your bread board and put it in the AVR Programmer. Your must plug it into the board with the little dot in the upper left corner as shown in the first picture.
  2. Take 3 wires and connect pins 2,1,0 on the programmer to the corresponding pins on your bread board. See photos for details.
  3. Take one wire wire and connect pins (-) on the programmer to the corresponding ground on your bread board. See photos for details.
  4. load the Arduino code on to the ATTiny by selecting the upload arrow in your Arduino IDE (If you get an error that when uploading the code see the previous step)

Step 21: DONE!

If your code is working as you want it too. Remove the flexible wires from your bread boar and place the ATTiny programmer in your bread board .

BEFORE you light up your Pumpkin, place the circuit in a plastic bag to protect it from shorting if any pumpkin goop falls on it.



  • Oil Contest

    Oil Contest
  • Water Contest

    Water Contest
  • Clocks Contest

    Clocks Contest

2 Discussions

Team Z

2 years ago

Haha, best grumpy cat pumpkin xD

Should try this with a real big one.