LPC812 RC5 IR Remote Control Codec

Since LPC812MiniKit is application oriented, we will publish a series of applications available now. 
LPC812 has an advanced peripheral SCT, which is suitable for timing related algorithm. NXP has offered comprehensive application notes and demo codes for SCT in LPC812. 

Although SCT in LPC812 has only two state variables, its counterpart in LPC18XX/43XX has much more variables. It is still very handy for most simple timing applications, such as infrared remote control used in consumer electronics.

You can donwload cookbook of LPC812 SCT from LPCware.com. There are serveral demo projects for Keil inside the zip file, which has rc5_send and rc5_receive.

RC5 is widely used in many devices from Philips electronics, including TV, DVD, lighting and others. Philips has introduces RC6 standard to replace it, but RC5 is still popular.

Labs on LPC812 Mini Kit

The rc5_send and rc5_receive are straigh forward. You can test them on LPC812MiniKit easily.


You can use LPC812MiniKit with following configuration:

  • Main clock and PLL sources from IRC 12MHz
  • SCT is used for decoding with interrupt
  • Connects LPC812MiniKit to PC via USB, which RX/TX connects to P0_0/P0_4
  • Connects P0_7 to an used infrared decode module from TV set

You can use any Philips remote to send command, and check the result from termianl software 
The footprint of this project is 1920KB ROM and 536B RAM. So it can be programmed into the smallest LPC810, which has 6 I/O, 4KROM and 1KRAM.

RC5_SEND Lab Setup

Since LPC812 can drive LED directly, so the configuration for RC5_Send is even simpler:

  • Main clock and PLL sources from IRC 12MHz
  • SCT is used for encoding with interrupt
  • Connects infraread LED to P0_7/VSS. (no transistor is required)
  • Connects P0_1 to GND as user button. (you can use push button or wire)

The code can only transmit a fix code. I am going to use UART to transmit user defined command.

Migrate to Univeral Remote Control

Obviously, RC5 is only our starting point, not our target. I will try to build an universal remote control codec based upon open source projects which has different algorithms.

However, when I tested the Arduino library, I found many decoding error. Either the hardware has interferences, or the algorithm has to be fine tuned.


Popular posts from this blog

Firmata for LPC812 is available now

LoRa Prototype Kit and USB Dongle Product