A Mirror surrounded by a string of brightly lit lamps is something you usually get to see in a Movie Star’s dressing room. [pickandplace] was inspired by the Movies, and a dark bathroom, to come up with a Bathroom Mirror equipped with some bells and whistles. To start with, his planning was quite detailed, sketching out the features and constraints for his design. He chose to use a round mirror with 12 LED bulbs (which are safer than 220V bulbs) so it can work as a clock. User input is handled by a motion sensor to automatically switch it on/off and a capacitive touch dimmer. Under the hood there’s an RTC (for clock and brightness adjustment based on time of day), simple boost PWM LED driver, thermal management for the LEDs which are 10W, temperature sensor to pipe down the current if the LEDs get too hot, and even an anti-fogging heater strip – phew!
His execution is no less brilliant. Starting with building the wooden frame and ending with the code for driving all the electronics. Along the way, you will find detailed notes on the LED’s, PWM Driver, Heat sinking, and capacitive Touch dimmer using Atmel’s AT42QT2160 Qslide – Matrix Sensor IC. He had some trouble with the Motion Sensor PIR module, and hasn’t yet written the code to implement it. His first version used a PIC18F87J50, and the next iteration had an ATXmega256A3BU – but he asks us not to get into the Microchip vs. Amtel debate. We have to agree on that. Sharp readers will point out that neither of the two micro’s can provide 12 PWM channels. Well, worry not, he has it all figured out. He also coded up a simple control interface which is handy when the unit is hooked up over USB to a computer. To top it off, he built a miniature LED ring to use as a “Simulator” while working on the code so he didn’t have to lug the heavy Mirror in and out of the bathroom. How’s that for doing a good job better! Source files are on his Github repo, and links to the hardware schematics are peppered throughout his blog.
If you don’t want to build something so fancy, look up the Bathroom Mirror with HUD which displays Time and Weather
One small drawback is that many LEDs make skin look strange, due to the poor CRI. So may not be the ideal makeup mirror for a movie star :)
Use good quality Cree LEDs, not Ebay specials.
That’s why I used good quality LEDs with warm white color. With the bulbs as diffusers the light looks nice and so does skin. Plus, your eyes get a cool light ring around the pupil.
Who uses a small round mirror in the bathroom? You need to look at your whole self before you step out. Remove the lint from your sleeve. Make sure your belt is on straight. You need a big mirror for these things.
12 PWM channels? No problem. Use a 16 channel LED driver like NXP Semiconductors PCA9955 (for example). They have 16 PWM output channels that can be used to to drive bigger transistors/MOSFETs, and are controlled using I2C.
Don’t worry about the RGBA labels on the outputs, they’re all identical. Use 12 outputs for the lights, 1 for the mirror heater, and ignore the last 3. Or use the last 3 channels for RGB LEDs for general room lighting… or lighting up a disco ball. (Every bathroom needs a disco ball.)
Of course. I even wrote it on the first sketche I made. But then, it adds a component and leaves the Xmega only for the i2c interface and USB. Quite an overkill.