Sunday, January 29, 2012

Petzl Zoom LED Conversion: The Final Chapter

I have written a few times about my long-running project to convert my old Petzl Zoom incandescent headlamp over to a high output LED light source. This past weekend I used some spare boards to convert my brothers headlamp and did a better job documenting the process, so I thought I would write a final blog post on the subject that consolidates all of the information.

Anyone who spent time climbing or backpacking in the 1990s will be familiar with the once-ubiquitous Petzl Zoom headlamp (pictured below), which used an incandescent bulb and a 4.5V MN1203 alkaline battery.

These have disappeared with the advent of much smaller LED-based headlamps such as the Petzl Tikka, but I had a couple of them kicking around and thought it might be fun to overhaul them to have high-output LEDs and rechargeable batteries. For a light source I chose the Cree XLamp MC-E, which is an array of 4 high-output white LEDs in a single package. It is a "lighting class" LED, meaning that it is normally used for interior lighting. Some people might read that and think "overkill", but to me that reads "perfect". The Cree XLamp is pictured below, where you can see the 4 separate dies.

The maximum current for the LED array is 700mA, which corresponds to a total power of 9.5W and a total light output of 700 lumens. In laymens term, this will suck down a lot of power and will be stinkin' bright. Molto bene! So, having sorted out the light source, the next step was to find an appropriate power source. I wanted something rechargeable so the original MN1203 battery was out. I still wanted to house it in the same battery compartment which narrowed things down a little, but luckily I was able to find a 5000 mAh lithium polymer battery with an identical outline to the MN1203 (though it was considerably thinner, and about 2 ounces lighter). Here is the original battery in the case:

And here is the old MN1203 side-by-side with the new LiPo battery:

The next step was to design the circuit. The schematic is pictured below, the key components are two National Semiconductor LM3410 LED drivers to push a constant current through the LEDs (each driver handles two LEDs, they overheat if one is used to drive all four), a Microchip MCP73833 to handle the battery charging, and an AVR ATTiny13 to run the show.

I iterated a few times on the design to arrive at the one pictured above (thermal modeling isn't one of my strong suits, so findings like the single LED driver overheating didn't occur until I built the circuit). The main PCB layout is shown below:

A secondary PCB was also designed to mount the quad LED array; as will be seen in the assembly sequence the main PCB is housed in the battery enclosure while the LED PCB is housed in the front bulb housing. The first reason for this is heat dissipation: both the LED and the LED drivers generate a considerable amount of heat, so having them separate leads to fewer thermal problems. The second is because I wanted to have a flashing red LED on the back of the headlamp since I will be using it for running outside in the dark, and I want people coming from behind to see me in addition to seeing where I am heading. Having the main PCB in the battery enclosure meant that I could mount the flashing red LED on it and have it protrude through the case. The PCBs were fabricated by the good folks at DorkbotPDX.

Now that the design has been explained, let's start building it up! The first step was to replace the bulb in the front unit with the LED array. Here is a shot of the bulb in the housing:

The reflective lens unit unscrews, leaving the bulb and its mounting exposed:

A little bit of surgery easily excised those parts, leaving me with an empty housing:

Now I needed to put something back in there. That something was the LED PCB that I had built, with the board outline sized to fit snugly in the circular housing. Here is a shot of that PCB, you can see the LED mounted in the middle. The exposed square of copper is an array of vias, to allow for better thermal dissipation from the LED array which has a thermal connection underneath the body.

The board has a matching exposed square of copper on the back, onto which I placed a heatsink to further improve the thermal dissipation (9.5W is a lot of heat for a small space!). Here is the heatsink on the backside, with the wires connected that will run back to the battery enclosure at the back of the headlamp:

The next step was to thread the wires through the front housing and slot it into place:

Next up was to swap out the battery, and perform surgery on its enclosure to allow the switches, red LED, and charging connector to be installed. The rear enclosure with the new battery fitted in is shown below:

Here is a shot of the back of the battery enclosure. At the top is a mini-USB connector to supply 5V for charging the battery (the data lines are unused), and below that is the red LED (it looks white, but when illuminated it puts out red light). On the right is a push button switch to turn the unit on and off, and on the left is a momentary tactile switch that is used to adjust the brightness of the front LED (through the ATTiny13 PWM'ing the enable pins on the LED drivers) and to turn the flashing rear LED off. This is done by holding it down for a few seconds, which causes it to cycle through the different modes.

Okay, now for the main PCB, this is pictured below with some temporary connections for testing:

The header on the bottom is for programming the MCU (using the freely available AVRdude and an Arduino running ArduinoISP as the programmer), and the big blocks on the upper part of the board are the inductors for the boost converter circuits of the LED drivers (they need to step the 3.7V battery voltage up to about 6.8V to drive two white LEDs in series). Next up was to place the main PCB in the enclosure and wire it up to the LEDs, the switches, and the battery:

With that completed, the final step was to close everything up and hold my breath while I hit the power switch:

We have lift-off! To give you an idea of how much brighter it is, I placed the revamped headlamp next to another old one with the original incandescent bulb equivalent of a brand new MN1203 battery (a power supply set to 4.5V hooked up to the battery terminals), turned out the lights, and took some photos:

Can you guess which is which? Definitely a little brighter! I also made a few videos showing some of the functionality of the converted headlamp (for example, when it is charging the rear red LED pulses slowly and then switches to steady illumination once the charging is complete), they are linked to below. First, the pulsing behavior when plugged into the 5 V adapter and charging:

Second, here is one demonstrating the different modes and how they are accessed using the single button:

And finally, a brightness comparison to a Petzl Tikka 2 with fresh batteries:

Okay, I think that is everything. I promise there will be no further posts on the Petzl Zoom conversion (unless maybe one blows up resulting in a good story), all future head lamp posts will concern the fully custom headlamp that I am working on with my brother Trev (hopefully I can finally write the firmware for that now I am all done with this stuff).