Introduction: LED Pendant From an Old Optical Drive

In this Instructable, I'm going to show you how you can make a one-of-a-kind light-up necklace from the lens assembly of an old optical drive, plus a couple of additional electronic components.

I was inspired to make this for my daughter when I took apart an old CD drive and saw how cool the lens assembly looks. I knew it would make a nice "techy" necklace if I could just find a way to pack a microcontroller and and LED in there. I think the end result is a pretty unique piece of geek chic.

Before embarking on this Instructable, you'll want to make sure you have a working Arduino development environment and can target and program ATtiny AVR microcontrollers. There are a few helpful Instructables on this site to get you going, including this one:

This will also involve some fairly delicate soldering on very small parts, so brush up on your soldering skills.

If you're ready to proceed, check out the list of supplies and let's get going!


One or more old optical drives (preferably a CD drive - a DVD or BluRay drive will also work, but we're not savages).

A surface mount ATtiny85 (8-pin SOIC package).

A zero-insertion force (ZIF) 8-pin SOIC to DIP adapter.

A CR2032 battery.

A CR2032 battery holder (I found the vertical type perfect for this project).

A standard tactile switch.

A surface mount LED (size 5050 works well). Red will work best, but I've also used green and blue.

A soldering iron and solder.

Some wire.

Super glue.

Some tweezers, steady hands, and nerves of steel.

(optional) breadboard and wires for prototyping

(optional) 5mm LED for prototyping

Step 1: Take Apart the CD Drive

An old optical drive is a treasure trove of project parts, but, for now, we're only interested in the lens assembly.

Take apart the CD drive and find the lens assembly. It will be part of the mechanism that reads from the CD. The drive mechanism usually contains a couple of motors to drive the CD and move the lens.

Removing the lens assembly may take a bit of work, but it's not too hard. Strip out as much of the electronics that you can without destroying the structure of the lens assembly. At a minimum, you want to clear the space behind the lens itself. This is the space where our circuit will go.

I love the way these things look, which is what gave me the idea for this project in the first place. So futuristic and techy, it's awesome!

Step 2: Understand / Modify the Program

The ATtiny85 microcontroller will be the brains behind the necklace, but first, it needs to be programmed.

I've attached the program I wrote to run the necklace light show. There are two files: the sketch itself and the file defining the light sequences the pendant will run through. I've tried to comment the code, but it probably still needs some work.

The pendant is controlled by the switch. When the switch is pushed, it causes the ATtiny85 to reset, which it treats as input. One push tells the pendant to rotate to the next LED sequence. Two pushes within a second commands the ATTiny85 to stop shining an LED in your face and just go to sleep. It will also automatically go to sleep after 10 minutes to save the battery.

You can add, change, or remove LED sequences by modifying the sequences.h file. I've tried to make it clear how to add new sequences.

Step 3: Program the ATtiny85

Before moving forward, let's get the program loaded on the ATtiny85. You'll need programming hardware capable of working with an ATtiny85 configure and ready to go. Complete instructions are outside the scope of this Instructable, but I'll again point you here:

Unless your programming hardware supports the SOIC package, you'll also need your 8-pin SOIC to 8-pin DIP adapter. I can't remember where I purchased mine, but a quick search for "8 pin soic to dip adapter zif" should get you where you need to go.

The programming itself is pretty straight-forward:

  • Download the two attached files (LED_pendant.ino and sequences.h) into your Arduino sketch folder, in a folder named "LED_pendant" and open the project in the Arduino IDE.
  • Configure the Arduino IDE for the ATtiny85 and your programmer of choice.
  • Make sure the IDE is set to configure the ATtiny85 to use its 8MHz internal clock.
  • Use the 8-pin SOIC adapter to plug your ATtiny85 into your programmer.
  • Burn the bootloader to the chip. Don't forget this, or your chip clock speed will be too slow and your light sequences won't run correctly (voice of experience? yes).
  • Finally, upload the program to your chip.

Step 4: Breadboard Your Circuit (optional)

It's always a good idea to breadboard a circuit before you get out the solder and make it official. It's an especially good idea in this case, since you won't be able to reprogram the ATtiny85 if you realize you made a mistake (again, this is the voice of experience talking).

Your SOIC to DIP adapter should allow you to plug your ATtiny85 directly to your breadboard. Once you've made the connections shown in the wiring and breadboard diagram, the LED should light up. The sequence should change with a single button press, and the LED should turn off after a double press.

If it works, you're ready to proceed!

Step 5: Prepare to Build the Circuit

The attached circuit diagram shows how simple this circuit really is. The difficulty comes because everything is so small.

To save on space, we're going to connect our components together without using a circuit board. Instead, everything will be held together with solder, glue, and love.

Start by carefully bending the pins of the ATtiny85 down around the "belly" of the chip.They don't have to bend too far, they just need to be tucked out of the way a little bit.

Step 6: Glue the LED to the ATtiny85

Add a drop of superglue to the belly (underside) of the ATtiny85. This will hold the LED in place.

Take some time to double-check the orientation of the LED in relation to the chip because you only get one shot at this. It takes a bit of thinking to figure out how to position it, but there's no going back. Make sure the positive pin of the LED is close to in 8 of the chip and the negative pin of the LED is close to pin 5.

Use your tweezers to get the LED in position and try not to glue yourself to the chip (that voice of experience again)!

You might notice that I've used an RGB LED here, because that's all I had. I ended up just using the green portion. Might be an interesting challenge to try to use all three colors...

Step 7: Glue the Tactile Switch to the ATtiny85

The tactile switch will be glued to the other side of the ATtiny85 to provide input.

It is connected between the RESET pin and ground so that the chip gets reset whenever the switch is pressed. The program uses these resets to change the LED sequence or to power itself down when commanded.

A standard tactile switch has four pins, which are really two pairs of connected pins. I've tried to point out the connected pairs in the attached photo.

First, remove two UNCONNECTED pins from one side of the switch, as shown. You can cut them off, but it's easier just to bend them back and forth until they come off.

Before proceeding, verify the orientation of your ATtiny85. The two remaining pins will need to be positioned close to pins 1 and 4 of the microcontroller. Use a drop of glue to secure the switch to the top of the ATTin85 (the opposite side from the LED).

Congratulations! You're holding circuit sandwich that will be the brains behind the necklace!

Step 8: Solder the Circuit

With everything glued together in a happy little bundle, you're ready to solder the LED and switch to the ATtiny85. This is the most difficult part of the project, since everything's so small.

Everything should be lined up. Solder connections as shown in the diagram. Helping hands might be useful here.

The positive pin of the LED should be soldered to pin 8 of the ATtiny85 (be careful not to overheat the LED!).

The negative pin of the LED should be soldered to pin 5 of the ATtiny85.

The pins of the switch should be soldered to pins 1 and 4 of the ATtiny85. They should be easy, as they'll be pretty close to each other.

Solder power wires to pins 4 and 8 of the ATtiny85. Leave these long so they can be trimmed to length when we attach the battery holder.

With the power wires connected, manually connect your circuit to a battery to make sure it's working.

Step 9: Glue the Circuit to the Lens Assembly

Take some time to work out how the circuit will fit in the lens assembly. It's a tiny circuit, but space is still cramped.

I was able to trim away some metal and plastic to make room for the circuit and wires.

Now, just glue the circuit into place with the LED facing into the lens assembly and the switch pointing out. If there is not enough material for the super glue to make a good connection, try a more gel-like glue, or, if you're careful, hot glue might work as well.

Still with me so far? Good! We're almost done.

Step 10: Connect the Battery Holder

Solder the power wires to the battery holder (again, make sure to pay attention to orientation here!)

At this point, you should have a fully-functional pendant. Put a battery in and let 'er shine!

You can leave the battery holder dangling, which will work if you're careful with it, or attach it more securely with super glue or hot glue.

Step 11: Enjoy!

Attach this to a necklace and it makes a perfect gift for that special geek in your life.

The battery life of this should be very good. The LED doesn't use a tremendous amount of power and the pendant itself goes to sleep after about 10 minutes.

I would love to see your makes. Please post them if you make one of your own!

Pocket-Sized Speed Challenge

Participated in the
Pocket-Sized Speed Challenge