Summary of Remote-Control Light Dimmer using pic microcontroller
The author converted a cheap Wal-Mart lamp into an IR remote-controlled dimmer using a homemade transmitter in a tin can. The system uses a 34 kHz 940 nm IR LED and a simple serial protocol: preamble 0xFF, header 0x06, 32-bit device ID ('A','B','L','1'), a 2-byte big-endian button code (0=power,1=brightness up,2=brightness down), checksum, and trailer 0xFF. Bit timing: 1 = 0.5 ms carrier + 1.5 ms off; 0 = 0.5 ms carrier + 0.5 ms off. The design supports many devices and buttons.Parts used in the Remote-Control Light Dimmer:
- Wal-Mart lamp (existing lamp)
- Tin can enclosure (Altoids-style tin can)
- IR LED (940 nm)
- Driver/electronics for 34 kHz carrier modulation
- Microcontroller or encoder to generate protocol and timings
- Power supply for transmitter electronics
- Wiring and connectors
The lamp in my bedroom is a very cheap lamp from Wal-Mart. It stands in one corner of my room, opposite of the door. This is where the problem is: If it is dark, I have to walk across the room, not trip on anything, find the small knob to twist to turn on the lamp, walk back towards whatever I need to do in the room. That is a whole lot of unnecessary walking.

The IR protocol is very simple. At the physical layer I stole it from a previous project of mine. IR 940nm LED is used. The carrier frequency is 34KHz. A 1-bit is sent with 0.5 ms of modulated carrier and 1.5 ms of darkness. A 0-bit is sent with 0.5 ms of modulated carrier and 0.5 ms of darkness. The packet begins with a preamble byte of 0xFF. Then comes a header of 0x06. Then comes the device ID - a 32-bit identifier of the device. For this project, I used a device ID of {'A' 'B', 'L', '1'}. Then comes the button code.

For more detail: Remote-Control Light Dimmer
Quick Solutions to Questions related to Remote-Control Light Dimmer:
- What carrier frequency does the remote use?
The remote uses a 34KHz carrier frequency. - What wavelength is the IR LED?
The IR LED is 940nm. - How is a 1-bit encoded in the protocol?
A 1-bit is 0.5 ms of modulated carrier followed by 1.5 ms of darkness. - How is a 0-bit encoded in the protocol?
A 0-bit is 0.5 ms of modulated carrier followed by 0.5 ms of darkness. - What is the packet structure of the protocol?
The packet is: preamble 0xFF, header 0x06, 32-bit device ID, 2-byte big-endian button code, checksum, trailer 0xFF. - What device ID was used in this project?
The device ID used was the four characters A B L 1. - Which button codes are used and what do they do?
Button codes used are 0 for power on/off, 1 for brightness up, and 2 for brightness down. - How many device types and buttons does the protocol support?
The protocol allows over 4 billion device types and more than 65 thousand buttons for each.
Related projects
An Application-Driven Microcontroller Curriculum
Understanding how to apply microcontrollers lies at the core of modern embedded systems education. This student project takes an experiential approach to...
LED ProjectsBuild this microcontroller controlled rainbow flying disc – and then throw it!
Hello all and welcome to this super simple and inexpensive instructable. If you like throwing frisbees AND you like flashing lights AND...
LED ProjectsLED Scrolling Display Project Working With Circuit Diagram
We normally use a simple static LED display screen to convey a message. Earlier, when we want to display large data, we...
LED Projects8051 MICROCONTROLLER
8051 Microcontroller based electronic locker system CIRCUIT DESCRIPTION Security is a prime concern in our day-today life. Everyone wants to be as...
LED ProjectsDigital Temperature Sensor Circuit
Temperature sensors are widely used in electronic equipments to display the temperature. You can see the digital clock displaying the room temperature...
LED ProjectsPassword Based Door Lock System using 8051 Microcontroller
Traditional lock systems using mechanical lock and key mechanism are being replaced by new advanced techniques of locking system. These techniques are...