IR Serial Communication Demo

I found a good deal on Infrared LEDs a few months ago, and have finally gotten around to starting to play with them.  This first demo is a basic low-speed serial communication system that allows up to about 2kbps communication through line of sight, though I've only tested it for 512 baud.
This is done using two MSP430G2252 microcontrollers, one bit-banging out 38kHz continuous wave modulated serial, and the other using a fixed frequency 38kHz receiver to demodulate the IR and decode it.  Both processors use a seven segment LED display to display their current state, which can range from 0-9 or an E(rror) state.

The limiting factor in the baud rate is the IR receiver, which has a 200us response delay, which means if we try and modulate information faster than that, the receiver will just ignore it.  That being said, the 512 baud rate I tested is still perfectly useful for basic telemetry information like "change channel" or "Turn on/off" like is used in television remotes.

Video:


The range is quite good, covering most of a room with 40mA into the IR LED.  The software leaves something to be desired, since it consumes almost all of the processor time bit-banging out 38kHz and trying to do anything else would likely glitch the modulation.  Error detection coding will be the next priority.

Transmitter parts list:
  • 1x MSP430G2252 (TI)
  • 1x IR LED
  • 1x 50Ω resistor
  • 1x 32kHz crystal
  • 2x push buttons
  • 1x seven segment LED display
  • 8x 100Ω resistors for LED display
Receiver parts list:
  • 1x MSP430G2252 (TI)
  • 1x 38kHz IR receiver (TSOP39338 Digikey $0.91)
  • 1x 32kHz crystal
  • 1x seven segment LED display
  • 8x 100Ω resistors for LED display
Source code:

Popular Posts