Packard Bell Remote Control Receiver

A remote control receiver for the Packard Bell fast media remote control using either hc11 or 8051 microprocessors.

Hardware features

Software features

Hardware Details

Example Circuit



Protocol details

The Packard Bell remote control has 3 elements to its communication protocol.

  1. Preamble (~12.8 ms period)

  2. Short Zero value pulse (~1 ms period)

  3. Long One value pulse (~2.4 ms period)

--*                *------------------*       *-------*               *-------*
  |                |                  |       |       |               |       |
  |                |                  |       |       |               |       |
  *----------------*                  *-------*       *---------------*       *--
  ^                                   ^               ^                       ^
  |             preamble              |      zero     |          one          |

When a key is pressed the remote control sends a preamble followed by 32 bits of information encoded using these pulse timings.  Examples of these pulses can be seen below as logic analyser screen dumps (the glitches are bugs in the Logic analyser software).

The 32 bits of information are made up of four bytes, 2 bytes of remote control ID and 2 bytes of button ID received MSB first in this order.  The second of each pair of bytes is always the complement of the first (as a basic form of checksum).

The remote control ID is always 08, thus the first two bytes are always 08 F7 hex.   Thus the 32 bit data for the Help button (Button ID of 20 hex) would look like 08 F7 20 DF encoded as above. Codes for all keys are shown in the image below (click on it for a larger version)

The code shown above decodes these codes.  It measures the incoming pulses looking first for a preamble of the right length and then looking for valid data encoding to extract the code for the pressed button.  The hc11 version works off the inverted code (second byte), the 8051 works off the first.