A library for light-based communication with the Arduino platform.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



A library (for now just a chunk of code) to send and receive data over an optical link. It uses Manchester Differential Encoding and one interrupt for receiving. Sending uses no interrupts but only delay.

The code has been tested on Arduino UNO and ATTiny45 microcontrollers. On the ATTiny, you have to undefine the RECEIVE symbol because the code gets too big, and interrupts are also wrong.

Possible future work: other types of line code UWB like OOK with start and stop bits

Necessary future work: conversion to library packet sending with ack from the other side (this is the way one ends up rewriting TCP/IP, but buggier)