For their final project in a microcontrollers course, [Trudy] and [Josh] designed a pair of morse code transceivers. To send the message, they used an array of IR LEDs. The message is received using a Gameboy Color Camera, which takes care of basic image processing. This allows a 8-bit ATMega1284p microcontroller to handle transmitting and receiving messages.
The transmission LEDs form a square pattern with one LED in the center. The four outside LEDs are used to help the receiver locate the center LED, and the center LED is used for transmitting the message.
The Gameboy Color Camera is based on a M64282FP image sensor. This sensor uses an SPI-like protocol, which they implemented on the ATMega. It allows them to grab frames from the camera, and get the value of specific pixels. From this data they find the center LED and process the message.
The result can transmit messages of 200 letters at a time, but the speed is limited by the frame rate of the camera. If you have a Gameboy Color Camera lying around, their detailed write up might provide someĀ inspirationĀ and information on how to use it in a hack.