#26, M1S: IR Command Processor


Function: Records and plays back infrared commands (codes) of conventional IR remote controls

Form factor: M1S

Category: Input/output module

Special needs: ---

Power requirements: 5V/100mA

Mates with: #19, #20, #21

See also: ---



IR command processor Tibbit records and plays back infrared commands of conventional IR remote controls. This Tibbit utilizes an FPGA-based circuit for capturing and reproducing IR signals, thus ensuring high timing precision and low signal jitter. Tibbit #26 is based on the iCE5LP1K-SWG36 FPGA from Lattice Semiconductor.

The Tibbit is controlled through a standard SPI interface lines -CS, SCLK, MOSI, and MISO. There are two non-standard features built on top of the SPI interface:

  • -CS and SCLK lines are used to produce a reset pulse for the FPGA IC.
  • MISO line also doubles as a status (DONE) line.

Both non-standard features are described in Resetting and Initializing the Onboard FPGA.

A suitable IR receiver and emitter must be connected to this Tibbit. Typically, you would pair this Tibbit with #20 or #21, then attach the IR receiver and emitter using wires. Tibbit #26 can work with a wide variety of IR receivers and transmitters. We have provided some examples of suitable IR front-ends, but the spectrum of receivers and transmitters that will work with this Tibbit is much wider than what's documented here.

Note that there is no need to have a current-limiting resistor on the IR OUTPUT. This is a current-regulated output that internally limits the output current to 500mA.


There are three red LEDs and one green LED. These four LEDs are connected to four interface lines of the Tibbit. LEDs light up for the LOW state of the interface lines.

Red LEDs are connected to the -CS, SCLK, and MOSI lines. The green LED is connected to the DONE/MISO line.

Sample project

The use of this Tibbit is illustrated by a Tibbo BASIC test project. Yo can find it here: https://github.com/tibbotech/CA-Test-Tibbit-26.

Further info

Theory of operation

Resetting and initializing the onboard FPGA

SPI read and write transactions


Examples of wiring to IR receivers & emitters