🌈 ESP32-S3 Rainbow: ZX Spectrum Emulator Board! Get it on Crowd Supply →
View All Posts
20 min read
Want to keep up to date with the latest posts and videos? Subscribe to the newsletter
HELP SUPPORT MY WORK: If you're feeling flush then please stop by Patreon Or you can make a one off donation via ko-fi
#CIRCUIT ANALYSIS #DIY #ELECTRONIC HACKING #HACK #LED LIGHTS #LIGHT BULB #MICROCONTROLLER #PHILIP'S HUE #REVERSE ENGINEERING

I’ve got a bunch of Philip’s Hue Color light bulbs, so I thought it might be fun to take one apart and do a bit of hacking.

If you’re here from Hacker News - watch the video - it’s really good! (Even if I do say so myself)

Disassembling the Hue Light Bulb

First, we need to open up the light bulb. Using a spudger, carefully pry the plastic diffuser away from the base, working around the stubborn silicon sealant. I got slightly bored and once I’d made a gap shoved a screwdriver in there to pry it off.

Spudger
Spudger

Next, remove the inner diffuser and the aluminum PCB with the LEDs on it. You might need to remove some surrounding plastic and metal for this.

LED PCB
LED PCB

To pop off the base of the light bulb I squashed it in a vice until the plastic cracked - you may want to find a less destructive method.

Inside the Hue Light Bulb

The power board and the logic board are separate components, they separate quite easily even when covered in the potting compound. Once they are separate you can attack each on in turn. Removing the potting compound from the power board is pretty easy. For the logic board there’s a plastic surround and the potting compound can be pretty difficult to get off - it’s easy to lose or damage some of the small ICs.

Lost Components
Lost Components

But after a bit of work you’ll end up with these three PCBS:

PCBs
PCBs

The Power Board

There’s nothing too exciting about this - it takes in the mains voltage, runs it through a bridge rectifier and then there’s a switch mode power supply generating 5V along with a hight voltage (probably around 24V) for driving the LEDs.

POWER Board
POWER Board

LED PCB

The LED PCB has an 8-pin socket labeled A to H. B and C were pretty straightforward - they just connect to the thermistor. The other pins were slightly confusing, but by connecting the power supply through a resistor and trying different combinations, we can determine which pins that control the various LED colors.

LED PCB
LED PCB

This gives us the slightly confusing schematic below - but don’t worry all will become clear:

LED Schematic
LED Schematic

The Logic Board

The logic board has 5 P-Channel MOSFETs, buzzing out the source and drain of these we end up with this much more sensible schematic.

Each set of LEDs can be bypassed by turning on the MOSFETs - it’s pretty clever.

LED Schematic Improved
LED Schematic Improved

The board uses an AP8802 step-down constant current LED driver, capable of supplying up to 1A. It’s configured to supply around 0.5A to the LEDs. What’s very clever with the way the LEDs and MOSFETs are laid out is that we only need one LED driver chip for all the LEDs - this is a relatively expensive component compared to the jelly bean MOSFETs, transistors and other components.

AP8802
AP8802

The MCU on the logic board is an Atmel SAM R21, a 32-bit ARM Cortex M0+ processor with a 2.4GHz ISM band transceiver for Zigbee communication. It has 256KB of Flash and 32KB of SRAM and runs at 48MHz.

Atmel SAM R21
Atmel SAM R21

The transmitter on this uses a PCB antenna with a bunch of capacitors and inductors to tune it to the right frequency.

Does it still work? And some more reverse engineering

It does! If we solder some power cables on and provide it with 5V the light bulb shows up in the Hue app on my phone. It we connect 24V to the LED supply then they light up. We can control the colors from the Hue app - though since I lost one of the ICs we don’t get perfect colors.

It Works
It Works

With the board we can work out what signals are coming from the MCU. These resistors here are connected directly to the MCU and go through this set of ICs to drive the PMOS FETs. The schematic is something like this - we have a level shifter followed by a push-pull driver connected to the gate of the MOSFET.

LED Driver
LED Driver

Probing the resistors while changing the color in the Hue app we work out the signals for each of the colors and for the white LEDs.

Probing
Probing

The last thing I checked was the control input of the AP8802 - I wasn’t sure if this was being used to control the overall brightnesss, but it turns out that this is just left floating and is only pulled low when the light is fully turned off.

Hijacking the signals

With the R,G,B and white signals worked out we can now solder some wires to the MCU side of the resistors and connect them to a breadboard. By driving LEDs at low power directly from the MCU we can create various colors and control the brightness.

Wires
Wires

That works pretty well, we can control the LEDs without any problems. All three colors work and the two whites also work - though I’m suspicious that the “warm white” LEDs may be used for yellow.

Breadboard
Breadboard

I also tried out my old Moonlamp - it’s the first electronics project I posted to YouTube.

It’s got a RGB LED with a common annode. Since it doesn’t have a white LED I’ve just ORed the signal in with the RGB signals.

Moon Lamp Schematic
Moon Lamp Schematic

I’ve used my old board which already has MOSFETs on it for driving the LEDs. It works really well!

Moon Lamp
Moon Lamp

If you want to watch a video of it in action you can see it here:

#CIRCUIT ANALYSIS #DIY #ELECTRONIC HACKING #HACK #LED LIGHTS #LIGHT BULB #MICROCONTROLLER #PHILIP'S HUE #REVERSE ENGINEERING

Related Posts

Dave come see - it's beautiful man - Hey folks, I revisited my flame lamp project from 2020 and gave it a serious upgrade - we're talking a leap from 300 to a whopping 1024 LEDs thanks to these nifty flexible WS2812 panels. I've kitted it out with a versatile PCB from my Crystal Balls project, tackled power injection challenges and kept things cool with a current-limiting power supply. I had to wrestle with 3D printing and getting the panels to behave inside the lamp's tube, but the end result? A mesmerizing blaze of colors with gorgeous fire effect, all orchestrated by the WLED software. It's like my very own Phoenix rising from the 2020 ashes. Curious to see this electronic inferno come to life? Check out my videos for the full, fiery scoop!
Whats wrong with my lightbulbs - In the saga of my beleaguered light bulbs, I've found myself knee-deep in electrical components and a fair bit of frustration. Of the four LED bulbs I invested in, only one survives unscathed, while another's flickering demise is imminent. My investigation revealed overheating bases, resilient capacitors, and an interesting LED filament setup. Ultimately, it seems one LED strip in the bulbs went open circuit, setting off a cascading failure. It's been a journey through minor electrical engineering heartbreak, with some messy disassembly and a sprinkle of high voltage excitement!
I got this feeling bezos is watching - Discovered my Hue switch battery performance is correlated with room temperature after a nifty web scrape of Amazon's device usage history. While it's a given that batteries are temperature-sensitive, actual data from my own living room provided a neat confirmation, graphing a daily pattern. Wanted to go green with a rechargeable lithium coin cell, but the voltage risk to the ATmega256RFR2 on the PCB is a no-go. For now, it's back to the humdrum world of regular coin cells and unexciting battery charts. Dive into the video for a deeper geek-out on this!
Interesting LED Curtain - Dove into hacking an LED curtain and discovered that despite lacking visible daisy chaining, it's hackable! With LEDs pre-programmed for their position, it can receive collective data and recognize individual signals. Flashed WLED firmware onto an ESP32 and, voila, it lit up beautifully, even supporting 2D grid patterns for cool visuals. The key components: a BLE SoC, buffer IC for level shifting, and a curious way of LED data handling that's cleverly efficient.
The PCBs are in production - what have I messed up? - After some stress and trepidation, I finally took the plunge and sent my PCB design off for manufacturing. My design centers around building a large seven-segment clock with LED filaments. Jumping hurdles such as voltages, pin usage, and limiting the load on my power supply, I've settled on the ESP32 as the system's heart and come up with a final circuit design. While doing this, I've quickly realized I could improve my layout and fixed a small mistake. Also, I've prepared for either types of LED filaments - the high-voltage ones or the larger, 3v ones. However, I did bungle up a couple of things on the enable line of the shift registers and board layout. But hey, this is a learning curve, right? Can't wait to get the boards and see what other exciting errors surface!

Related Videos

Hacking and Disassembling Philips Hue Lights - Learn how to disassemble a Philips Hue light and reverse engineer it to control other high-power LEDs through the Hue app, transforming devices like the Moon Lamp into a smart lighting system.
Why are all my lightbulbs failing? - So, we've been dealing with a little epidemic of light bulb failures in the house. I took apart a couple of dead bulbs to get to the bottom of what's going on. Turns out, one of the bulbs is kind of flickering and faintly working, while another bulb's base gets surprisingly warm. After some poking around, I found the PCB inside the bulb has a bridge rectifier and a LED driver IC, but all components test out fine! The investigation took a turn when I checked the LED filaments with a makeshift power supply, and surprise surprise, some filaments are completely dead. Still not sure what's causing these failures, but it was fun to tinker!
Most Interesting Addressable LEDs that I've Ever Seen - So, I got this nifty 2x2 meter 400 LED curtain and immediately went to work dismantling it. The LED strands are tapped off the main wire, rather than daisy-chained, which is a departure from the norm. Turns out, these LEDs are pre-programmed, allowing them to intelligently latch onto the right serial data. Unraveling the control unit, we see an IR receiver and other key components responsible for driving the LED strings. Despite my misgivings about deciphering in-built Bluetooth characteristics, I hooked the circuit back up with our dependable WLED software and got some amazing grid patterns. Interestingly, the LEDs operated smoothly at 3.3V. All in all, a fun exploration of hacking this LED curtain.
Look at My Shiny Crystal Balls - Custom ESP32 PCB With WLED. - Step right up, folks, for the grand unveiling of my shiny new crystal balls – yes, crystal balls. I've transformed ordinary AliExpress pieces into juggernauts of light and color, all powered by the splendid WLED software. Dive deep with me into the nitty-gritty of the underlying electronics and come face-to-face with the true beauty of voltage measurements (I promise, it's more riveting than it sounds). While the original circuit boards from AliExpress might not thrill, my beefed-up version invites gasps of wonder, with microphone-controlled LEDs throwing light in a million dazzling ways. Join me as I chronicle my journey through schematic revisions, components selection, and technological trickery – in short, the wild ride that has led to this epic macOS light show.
1024 LEDs - WLED Flame Lamp - Today we're elbow-deep in LEDs for another exciting project — we're building a high-resolution flame lamp! Kick-starting the endeavour with a 1024-pixel LED matrix, we proceed to throw in the towel with a faulty old flame lamp boasting a mere 300 LEDs. Mislabelled PCBs and questionable diodes keep us on our toes, making this undertaking a little more Sparky than usual. With the help of competitive soldering skills, a beefy 5V power supply and a 3D printer, we channel our inner Edison to bring our LED matrix to light. After a pinch of struggle, our LED matrix rollercoasters into a tube shape, faintly resembling our coveted flame lamp. Tune in to bask in the warm (or cool) glow of our LED flame lamp.
HELP SUPPORT MY WORK: If you're feeling flush then please stop by Patreon Or you can make a one off donation via ko-fi
Want to keep up to date with the latest posts and videos? Subscribe to the newsletter
Blog Logo

Chris Greening


Published

> Image

atomic14

A collection of slightly mad projects, instructive/educational videos, and generally interesting stuff. Building projects around the Arduino and ESP32 platforms - we'll be exploring AI, Computer Vision, Audio, 3D Printing - it may get a bit eclectic...

View All Posts