Dimmer is controlled by phone via bluetooth

Bluetooth Dimmer

Arduino Bluetooth Dimmer

This is part of a  bigger project I’ve been wanting to build for quite some time, the  sunrise alarm clock . A “sunrise alarm clock” or, as wikipedia calls it, a “dawn simulation alarm clock” is the same as a regular alarm clock only it has a light that gradually brightens over a period of half an hour before you wake up, thus you tend to wake up more refreshed.

There are a lot of sunrise alarm clocks out there but I thought I’d make one with a twist. Since I use my smartphone as an alarm clock what would be better than setting an alarm on my phone and let it do the communication with the light. This has the added advantage of mobility, I can set the light wherever I want and move it later if it doesn’t suit my needs. On the hardware side I also wanted the freedom to experiment with different types of lights (even though they’ll all be incandescent), so I made it with a plug and socket.

There are 3 main parts to this project. The dimmer, the MCU (Arduino) and the Bluetooth module (HC-06). I won’t go into too many details as there are plenty of resources on the net that I’ll give links to.


Arduino Pro Mini and the HC-06 Bluetooth module.
Arduino Pro Mini and the HC-06 Bluetooth module.

The dimmer works just like a regular dimmer only that it’s triggered by the MCU. I built a circuit based on this instructable by diy_bloke.
For the MCU I wanted to use the attiny85 with Arduino bootloader but I found out the hard way that it only has one interrput and no dedicated serial communication. That meant that it could either communicate through UART or it could work the dimmer, but not both. So I ended up using an Arduino Pro Mini for the MCU.
The Bluetooth module is an HC-06. It uses the SPP protocol to emulate a serial cable. Basically the MCU thinks that it’s using a regular serial cable to communicate when in fact it’s communicating over bluetooth. You can get it for around 6 bucks off ebay. Here’s an excellent resource on the module by Erich Styger. Although it’s not for Arduino it still has a lot of useful info.


Leave a Reply