When I was a kid there were no iPhones, internet, home computers, or Arduinos. Sure, we had TV and radio, but — believe it or not — we had fun with flashlights too. They often came with colored lenses, or we made our own with paper or plastic. Over the years flashlights seemed to lose their fun. These days they’re mostly for practical purposes and they usually only make white light. Even high-end flashlights are pretty much the same thing, just super bright and rugged for inspecting the levee during the hurricane. Bright and rugged is great, but a one-button, small, efficient, vanilla light isn’t much fun, is it? Lets bring the fun back to flashlights …

The HSL Flashlight

In this project we hack an old 6-volt lantern to become our Million Color HSL Flashlight. It’s big and bulky and different. Not quite as bright as some, but it has crazy color that’s so easy to set — just dial your way around the rainbow. Lots of knobs and modes, and you can write code for it too. Build it, turn it on, and experience its endless fun. Heck, if you take some time to make it watertight, you can inspect the levee with it too.

The great thing about HSL is that it’s an intuitive way to select a color. HSL stands for Hue, Saturation, and Lightness. This is like the 360-degree color pickers available in many computer applications. Our flashlight has a knob for each of these HSL components. Hue selects the color by allowing you to dial your way around the rainbow. Saturation selects how deep and rich the colors are: fully desaturated is white, fully saturated is pure color, anywhere in between is just that. Lightness behaves like a dimmer.

Our flashlight also has a 10-position mode switch. This is where the most fun comes in. You can select between 10 modes; check out the video for a demonstration:

  1. White
  2. Manual HSL
  3. Auto Hue: The light rotates automatically through the color spectrum (hue knob controls speed)
  4. Multi-color all-pixel auto-rotate
  5. Multi-color tri-pixel auto-rotate
  6. Cylon (aka Larson Scanner)
  7. Full-color strobe
  8. Alternate pixel multi-color 180-degree color alternation
  9. Half moon multi-color 180-degree color alternation
  10. Alternate pixel pair multi-color 180-degree color alternation




Arduino: It’s a great platform for prototyping your projects. Once I’m ready to build, though, the standard Arduino board is kind of big, its jumper wires provide only fragile connections, and I want to free it up for my next project. Designing a custom board is time-consuming and expensive. The solution for many projects is to use one of the small Arduino boards available. I used the Arduino Pro Mini and it was perfect for this project. It’s inexpensive, very small, and reliable.

NeoPixel NeoPixel: In my search for bright RGB LEDs, I came across the Adafruit NeoPixel family. Two things make them perfect for this project. First, they’re available in different sizes and shapes, including the 12-element ring used in this project; it fits perfectly in the reflector bowl in most old-school 6V lanterns. Second, NeoPixels come with an Arduino library that’s easy to integrate and use for a project like this.

hslflashh6V Lantern: The old-school 6-volt lanterns provide a perfect platform for this project because the reflector bowl and the battery compartment are both huge. Cool old lanterns are fairly easy to find and inexpensive at flea markets or eBay, but you can also buy new ones.