High-power LED mountain bike light

In preparation for the 2006 Sydney 24 Hour, I wanted new mountain bike lights. Last year's light was a 20W halogen globe and two packs of ten AA cells. This was nice and bright, but the battery packs got rather hot and only lasted about 40 minutes each.

This year, I raced solo. Recharging two battery packs per lap wouldn't cut it. My plan was to spend about an hour per lap - each lap was 10km - and sleep for an hour or two when I charged the batteries. So I was aiming for 3-4 hours battery life at about the same brightness as a the 20W halogen.

The new system weighs 715 grams and lasts for about four hours at 9 watts of output. Charging the batteries takes under two hours.

[block:block=3]

The whole lighting system: The head unit is on the left, battery pack at the bottom, and bottle with the controller on the right. The bottle also holds the battery pack.The whole lighting system: The head unit is on the left, battery pack at the bottom, and bottle with the controller on the right. The bottle also holds the battery pack.

I designed this light around Cree XLamp 3 7090 LEDs because there was a local distributor that had them significantly cheaper than the Luxeon parts. A 3021 BuckPuck was used for regulation, and a new bottle-cage battery for power.

I was quite pleased with the outcome, and got a number of positive comments during the race. I had absolutely no problems with it during the race, and got better than expected battery life.

Unlike most LED lights, the regulator and control circuitry are located in the bottle with the battery. This makes the mechanical design easier. The regulator will compensate for any losses in the wiring.

The 'low power' switch disables two of the three LEDs. Again, the regulator compensates automatically. I thought this would be good only for the commuting use case until I realised that many off-road trails only need weak lighting too. Having the switch on the handlebar means that it's easy to switch between low and high power mid-trail, saving battery life.

The LEDs around the regulator were originally meant for debugging. One is on when the regulator has power; the other is on when the main light is on. I used high-intensity blue and green LEDs, which look rather eerie at night. They work well as an emergency light for situations like mid-trail repairs. They use a trivial amount of power compared with the main light.

The bottle at maximum eerinessThe bottle at maximum eeriness

Head unit

The head unit is constructed around a small diecast aluminium case. The power socket and brightness switch are mounted on the sides. The LEDs are bolted to the back surface and use the case as a heatsink. The wiring is contained within the case and can be weather-sealed, although I didn't bother. With the exception of the lenses (see below), the whole assembly is extremely robust.

The case that I chose measures 51x51x32mm - just big enough to fit the LEDs on the back. Larger cases are excessively heavy - this one was about 60 grams.

Assembly was remarkably LEGO-like. I guess this is what happens when I have plans before I begin construction! I drilled holes in the case to accomodate the mounting bracket, power socket, switch, LEDs and power wires.

The Cree XLamps: I also bought some PCBs which make the Cree LEDs mechanically similar to Luxeon StarsThe Cree XLamps: I also bought some PCBs which make the Cree LEDs mechanically similar to Luxeon Stars

The Cree LEDs soldered to their PCBsThe Cree LEDs soldered to their PCBs

The Cree LEDs don't come with a mounting PCB by default. Soldering them to their mounting PCBs turned out to be difficult - the PCBs soak up most of the heat from the soldering iron (as you'd hope). So they came out pretty messy. Spread lots of heatsink goop under the mounting PCB before bolting them down. The case isn't perfectly flat, and the bolts do a good job of squeezing out the excess. I also used some insulating washers underneath the bolts since they run close to the PCB pads.

The back of Luxeon Star LEDs is not electrically neutral. If you use them instead of the Cree XLamps, you need to insulate the back of the LED from the aluminium case somehow.

My drilling wasn't perfectly accurate, so I was concerned about the centre bolt being able to hold in all three LEDs. To compensate, I put in a large washer that would have plenty of overlap. To avoid shorting the LED contacts, I used the insulating washers off an old computer motherboard.

The LEDs mounted on the caseThe LEDs mounted on the case

I completed the external wiring. This should be pretty solid - moreso once it gets covered in hot glue. At this point, the LEDs can be tested. A current-limited power supply is extremely useful for this, especially since the LEDs are rather painful to look at at full power.

LED wiringLED wiring

Testing the LEDsTesting the LEDs

At this point, I tested to see how hot the case would get while running. After half an hour the case was hot and the power through the LEDs had increased measurably, but everything was still within acceptable limits. The LEDs are rated up to 85 degrees Celcius. In a normal operating environment where is plenty of airflow and the operating temperature is lower, I expected no trouble at all. Actual use showed that the case only got warm, which was quite pleasant!

Lenses hot-glued to the caseLenses hot-glued to the case

Mounting the lenses turned out to be tricky. They're made to fit precisely over the LEDs, which meant that they didn't fit my LEDs once they'd been hand-soldered to their carrier boards. They also clipped the mounting screws. I wound up cutting a lot of plastic out of the back of the lenses so that they'd actually fit over the LEDs.

I got the lenses mounted in a near-ideal position, but in use there was a lot of light being lost out of the side of the lens case. The focusing was also pretty lousy - I'd ordered six degree lenses, and I was observing more like a 30 degree beam. I'm not convinced that the lens design matches the LED design. The Fraen lenses from my original light were definitely more efficient, even when poorly mounted. The beam was also far tighter.

I wound up hot-gluing the lenses to everything else. This was my biggest concern with the whole design - that the lenses could come loose after a collision or crash. The lenses don't have any obvious mounting mechanism. I think they're designed to friction-fit inside a purpose-built case. As it turns out, they're surprisingly solid. The lenses got a fair beating in shipping and during the race (two crashes; I went through a lot of painkillers). They remain firmly attached to this day.

I also took the opportunity to cover the external wiring in hot glue; this adds a bit of stability and weatherproofing.

All that is left is to complete the internal wiring and bolt the case together.

Battery and regulator

The bottle contains both the battery pack and the regulator board. It provides a safe environment for the batteries and regulator without weighing too much.

The regulator board sits on a layer of bubble wrap. The battery sits on top of another layer of bubble wrap on top of this. The battery is at the top, so it can be removed easily (theoretically!) for charging or replacement.

The bottle is a 'White Stuff Bottle' from ProBikeKit. It's a bit too tall for this application; the battery sits right at the top and makes it top-heavy. I've had no problems with it coming loose, however.

The design of the bottleThe design of the bottle

The regulator board was assembled on Veroboard (again). I drilled a hole to allow access to the adjustment potentiometer on the BuckPuck. The Power and Active LEDs point out to the sides, using the bottle itself as a diffuser. This worked out really well - it gives off a noticeable glow and uses an insignificant amount of power. I also drilled some holes and cable-tied the cables (battery and LED) to the board to provide some extra mechanical stability.

The power switch mounts in a hole drilled in the bottle. I was surprised at how well this worked - the bottle is made of very soft plastic, but it's more than strong enough to support the switch. The softness actually worked to my advantage, since the switch is mounted low enough to hit the bottle cage (oops!) You should mount it fairly high to avoid this problem. The LED power cable is routed out of a hole drilled in the bottle; the socket needs to be soldered on after the bottle is assembled.

I bought a 1000mA BuckPuck, and the Cree LEDs require 700mA (oops again!) I used the calibration pot to fix this. It's very sensitive and fiddly, and so I'd recommend buying the correct BuckPuck if you have the option. The BuckPuck datasheet contains instructions on how to calibrate the drive current.

The regulator board: Note the load resistor soldered in where the LED connector would normally be. This allows the LED current to be calibrated.The regulator board: Note the load resistor soldered in where the LED connector would normally be. This allows the LED current to be calibrated.

The battery is thirteen NiMH cells, soldered in series. Tagged cells make this a lot easier, but the tags can be a bit brittle. Thirteen cells gives just enough voltage to run the three LEDs - the Cree LEDs have a 4.5V forward voltage drop, instead of 3.5V for the Luxeons. It also happens to be the absolute maximum that would fit in the bottle - once the rim of the bottle is trimmed back a bit.

The battery packThe battery pack

I soldered the tags of the cells together and wrapped the lot in duct tape. I found that the best thing to do with the tags was to bend them so that there was plenty of slack between the cells. Once they're duct-taped, they're pretty secure, but you don't want a big bump to break the solder joints. I also made sure that the cable was taped down securely - it'd be easy to yank the cable and break tags off the cells otherwise. I used two-pin Molex connectors for the battery; they're secure and handle high currents well. Under extremely high currents (like a short circuit or halogen lamp power-on) they tend to weld together and become difficult to separate.

The assembled bottle: Note the LED power cable, power switch, and battery Molex connector inside the bottle.The assembled bottle: Note the LED power cable, power switch, and battery Molex connector inside the bottle.

Note that there's no fuse in this circuit. You should probably have one in series with the battery pack. NiMH cells are more than capable of causing a fire if mistreated; in three years of the Sydney 24 Hour race, I'm aware of three separate battery packs being destroyed through mistreatment (not mine!) I didn't put a fuse in in, mostly out of laziness. I've had a waterproof fuse holder hanging around for three generations of bike lights and haven't bothered with it yet...

The charger

The charger uses a MAX713 fast-charge controller. Maxim IC were awesome and sent me two free samples. I promptly blew one up.

The charger is based on the reference design for the MAX713. The same design will work for between one and 16 cells if you modify the PGM pin straps. The MAX712 is preferred for NiMH cells - it'll cut off the charge a bit earlier and stop the cells heating up so much. The MAX713 cuts off the charge a little later than is preferred for NiMH cells.

I powered the charger from a 24V switchmode supply, originally designed as a laptop power supply replacement. It needs to be a pretty beefy power supply - if the voltage drops below a certain threshold, the MAX713 will lose track of where in the charge process it is, and you could overcharge your cells.

You also can't charge the cells too slowly with the MAX713. C/2 is the recommended minimum rate for NiMH cells. I presume that at lower rates, the cell voltage changes too slowly for the chip to detect.

I couldn't get the 2N6109 transistor specified in the reference design, so I used an MJE2955 instead. It worked fine.

The transistor needs a reasonable heatsink. The datasheet outlines the worst-case conditions, and my heatsink is very much not capable of handling them. So long as you don't run the cells completely flat, you can get away with something smaller. My one gets a bit hot, but at the same time, the transistor is pretty heat-tolerant. Cover the back with thermal grease, bolt it down solidly, and you should be fine. You must use insulating hardware on the transistor casing, as it is live.

My charger was built on the night before the 2005 Sydney 24 Hour, and as such looks quite nasty. I covered it with duct tape during the race to make it look a little less dodgy, and so far, no-one has complained.

My nasty chargerMy nasty charger

Performance

I'm pretty happy with how the light worked out. I got through the 24 hour race, and that was my original aim. It ran happily for four night laps with about 50 minutes of use per lap. I charged the batteries and slept for a few hours, then ran it for another two laps. I had no problems at all, despite two crashes in the night. Even the lenses stayed firmly attached.

I made a mid-race adjustment: a piece of cardboard taped to the top of the head unit. It stops the light from the side of the lenses from messing up my night vision.

My main dissatisfaction with the light is in the lens quality. For what was nominally a six-degree lens, the beam was very loose. To compare this, I photographed each light pointing at my bedroom wall with the same exposure time:

This mountain bike light is on the left, the commute light is on the right. The mountain bike light uses three six-degree Polymer Optics lenses. The commute light uses a single Fraen narrow lens. As you can see, the intensity is about the same, but the Polymer Optics lenses aren't nearly as tight - certainly not what I'd expect from a six degree lens.

There are a few explanations for this. I had some trouble mounting the lenses because I didn't use a PCB, but I got them pretty well aligned in the end. The lenses could simply be junk - but I doubt that they'd be that bad. My current best theory is that my supplier gave me the wrong ones. They also shipped very very late, sent the order to the wrong address, and didn't respond to emails. I won't be ordering from them again...

The fuzzy beam actually works well for mountain biking, since low-speed vision is pretty important (technical trails and the like). I still wanted a nice tight beam for long-distance vision, though. The 24 hour track has an awesome downhill section at the end.

Where to from here? I want lighter and brighter - something I could use in the city. I'd like to not use a bottle cage (for Audax rides) and to be able to use a really small battery (for commuting or club rides) or a really large battery (for Audax, endurance MTB or adventure racing). I'm thinking Lithium Ion batteries and Luxeon K2's, when they become available. Stay tuned!