View All Posts
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

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

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

But after a bit of work you’ll end up with these three 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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!
Self Organising WS2811 LEDs - I've successfully used addressable WS2811 LED strings and an ESP-CAM board to create an adjustable lighting system. The best part is that the image processing code can be duplicated in JavaScript which allows you to use a plain dev board to drive the LEDs instead of needing a camera on your ESP32 board. If you want to replicate this project, you'll need your own ESP32 dev board and some addressable LEDs. After figuring out the location of each LED in 2D space, it's easy to map from each LED's x and y location onto a pattern you want to show on the frame buffer. Desiring to keep it accessible, I've posted detailed instructions and my sample code on GitHub, making sure anyone with basic knowledge can undertake this fun technological DIY project!
16 bit mini handheld video arcade - Disassembling a 16-bit mini handheld video arcade revealed a fairly uncomplex interior with most of the functionality being handled by a blob chip on a single-sided PCB. Despite the simplicity, the impressive design manages to fit 156 games into flash storage on a multi-layered daughter board, which helps simplify the main board's design. While not as hackable as hoped, the teardown provided an interesting glimpse into the device's construction.

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.
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.
DIY Flame Lamp - Learn how to create a flame effect lamp using WS2812B LEDs, aluminum channels, and 3D printing to repurpose a broken lamp in this engaging and informative video.
Custom ESP32 PCB Soldering - Watch the process of soldering and testing a custom ESP32 circuit board for a Moon Lamp project, featuring various components like a linear regulator, output drivers, and indicator LEDs.
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