I work remotely, and my "office" is a windowless dungeon room in the basement with deeply mediocre lighting. I've had this setup for years, it's ultimately fine. But recently, as the days started getting shorter, I wondered if I could do better.

Unsurprisingly, the answer is yes. As it turns out, money can be exchanged for many things. Some of those things are very, very bright lamps. But unless you're planning on using your lamp to torture someone, "bright" isn't the only quality that matters.

A lamp that doesn't totally suck to be around should also make the room look good, or if that's a lost cause, at least reflect how it actually looks. This is normally measured by a "Color Rendering Index", or CRI. Lights with a CRI above 90 or so are generally pretty good. In practice, high-CRI lights better represent the red-end of the spectrum, which lower-CRI lights can lack.

The sun at mid-day is about 100,000 lux,[1] which is a lot. The sun can do this by being a very large fusion reactor. We'll have to set our sights a bit lower. The main players I've come across in this space are Brighter and Rhythm, which shake out something like this:

BrighterRhythm
Lumens60,00060,000
CRI95+90+
Color Temp2200K - 6500K2700K
Cost$1,499[2]$2,400

Damn, those are some expensive lamps! There are cheaper bright lamps, like this one from Honeywell, but it's a fraction (~1/4th) as bright and a bigger fraction (3/5ths) as expensive. I also looked into LED grow lights and studio spotlights, but none of them quite scratched the exact set of features I care about:

  • No IoT nonsense (Brighter is "smart-home enabled")
  • Variable color temperature (Rhythm is fixed at 2700K)
  • At least 40,000 lumens
  • Not $1,500+ dollars (I'm cheap)
  • Can be repaired if broken

Wouldn't it be cool if we could spend $500 dollars and maybe many dozen hours of our time and maybe another $500 in equipment and have the exact lamp we want??

I think so! Anyway, that's how we got here, with me standing at my workbench, surrounded by fans and heatsinks and thermocouples and wires, periodically being blinded by some very bright LEDs I'm testing out.

My very messy workbench, showing a thermocouple, a breadboard covered in wires, a microcontroller off to the side, and some leads going into a large aluminum heatsink, which has a PC fan behind it. The heatsink has an LED mounted to the center of it with tape.

Is this a lamp? No, not really.
Is it a fire hazard? Almost certainly.

A shot of the LED lit, with the rest of the room dark.

Unsurprisingly, it's hard to take pictures of very bright LEDs.

The Plan

In case it wasn't clear from the above pictures, I don't actually know what I'm doing. I theoretically should, as I have a degree in an electrical engineering-adjacent field, but that was a long time ago and I sold my soul to software immediately after graduating and never looked back. Gun to my head, I'm not sure I could get Ohm's law right, and I'm a sure goner for anything more advanced than that. But I'm going to give this my darndest, and we'll see what I can learn (or re-learn!) along the way.

Looking at the commercially available lamps above, they've taken different approaches. The Brighter lamp uses a bunch of small LEDs, and it looks like the Rhythm lamp uses four big ones. My design is somewhere in the middle, with 12 LEDs total, six warm (2700K) + six cool (6500K) LEDs. At brightest, I plan to run them at about ~35 W each, where they can put out about 3,500 lumens. 12 x 3,500 = 42,000 lumens, which is almost in the ballpark of the real lamps.[3]

After spending far too much time staring at LED datasheets, I opted for the Bridgelux Gen 7 V18 Thrive, as it had all the things I was looking for:

  • Good energy efficiency
  • Has different color temperatures available
  • High (95+) CRI

I originally looked for packages that had both warm + cool LEDs on the same board, but that was too limiting in terms of what I could find in stock + specifications. Also, the industry calls them "COBs", which I think stands for "Chip On Board".

Aside from that, the rest of the components aren't particularly interesting:

  • An ESP32S2-packing microcontroller[4]
    • Runs a simple firmware written in Rust/Embassy
    • Input GPIOs read thermistors + fan speed + knobs
    • Output GPIOs tell fans how fast to run and control the dimmer on the power supplies
    • Will also give me super dumb IoT-like functionality if I want
  • Two knob potentiometers to control brightness + color temp
  • Some number of Noctua fans (these ones)
  • Some amount of aluminum heatsink
  • Two MEAN WELL XLG-240-L-AB LED driver power supplies
    • These support constant current up to 342V and have a max output of 239.4W. Each LED wants ~35V,[5] so I can run a string of ~6 LEDs at ~1 amp. 35 V * 1 amp * 6 LEDs = 210 W
    • The LEDs shouldn't noticeably flicker, which can happen with some power supply schemes

And some other power components, since the microcontroller wants ~3.3V and the fans want 12V.

In terms of cost, the most expensive parts are the LEDs ($150-$250, not sure yet) and the power supplies (~$100 total), and maybe another $200-$300 for everything else: heatsinks, fans, other electronics, PCB fabrication, etc.

The Design

Lol I'm an engineer not an interior designer, there is no design.

It's going to be ~two blocks of aluminum heatsink with a bunch of LEDs strapped onto one side and some PC fans on the other, elevated off the ground somehow. That'll be connected up to two power supplies rubber-banded together and a bare PCB with some knobs on it. I don't plan to put a glass/plastic diffuser in front of the LEDs, I'll just bounce the light off the walls and ceiling to diffuse it.

Where are we at?

I'm writing this whole post while sitting in a room illuminated entirely by a single test LED.[6] I have a thermocouple sitting next to me, which I periodically record measurements from, and a terminal spitting out data from the firmware, e.g.:

pots_mV=[1,708] temp_dC=[Some(250), Some(241)] rpm=Some([765]) fans=[429, 429]
pots_mV=[2,718] temp_dC=[Some(250), Some(241)] rpm=Some([780]) fans=[430, 430]
pots_mV=[2,718] temp_dC=[Some(250), Some(241)] rpm=Some([780]) fans=[431, 431]
pots_mV=[0,706] temp_dC=[Some(250), Some(241)] rpm=Some([764]) fans=[429, 429]
pots_mV=[5,713] temp_dC=[Some(252), Some(241)] rpm=Some([765]) fans=[430, 430]

The idea is to try and understand the thermals, so I know how many fans I'll need and how large the heatsink needs to be. To do that, I've been measuring temps, from both the LED case and the heatsink, at various fan speeds + wattages. From there, I should be able to do some yet-unknown math to understand what the final shape of this "lamp" will look like.

What's next?

I have a draft of the firmware, and of the PCB that will hold the microcontroller and supply 12V to the fans. The next steps are something like:

  • Do the mystic thermal math
  • Figure out how I want to lay out the LEDs on the heatsink(s)
  • Order the power supplies and other remaining components for the full-scale build
  • Finish the PCB design and get it fabricated
  • Figure out what the whole assembly will look like
    • I.e. how do we elevate it off the ground for airflow

I don't plan on commercializing this, but at some point I'll clean up all the various artifacts and open source them for whoever wants to burn their own house down make a very bright, and very janky lamp.

  1. There's a technical distinction between lumens and lux, which is basically if you're measuring total light emitted, or how much hits a given area. I'm going to ignore it for the purpose of these posts. ↩

  2. Currently selling for $1,199, but I have no idea how long they intend to keep that price for, so I'm just quoting the full price. ↩

  3. It's actually a bit more complicated than this, because I want the brightness to stay constant while I sweep the color temp, which means that all twelve LEDs won't be running at full-blast simultaneously. It'll either be one of the two banks running at full-blast for the "coldest" or "warmest" color temps, or both running at ~half for the midpoint. If that's not bright enough, I can run the full bank brighter, at the cost of color temps available at the ends of the range. ↩

  4. Specifically, a Wemos/LOLIN S2 mini. No particular reason, I just bought like five of these at one point, so they're what I use. ↩

  5. As I recently learned, LEDs are diodes, and expect a constant current. So the voltage moves around a bit depending on temp + current, this is just an estimate. ↩

  6. These are very bright LEDs. Each ~20mm LED produces about as much light as five normal light bulbs. Don't look at them directly, it is almost certainly bad for you. ↩