Peer to Peer Data Transmittion with Laser Pointers and Photodiodes


Yes it's possible, it's just like every other serial protocol. On/off, high/low, whatever. Properly power the laser diode (module, actually, probably), transistor for signal, and keep things slow enough for the photodiode.

Hardest part, really, is aiming them. Then trying to figure out how to translate the serial binary into meaningful data, which you'll put in extra effort to not be the same as the already sensible, existing, codes like the ASCII table. You're reinventing a worse wheel, basically, at that point.

In the simplest case you can connect the lasers and diodes to a serial device (Rx, Tx), just like you connect other line drivers (RS-232...). Make sure that a HIGH on Tx will result in a HIGH at the Rx pin of the other site. You may want to use a Mega board, because it has multiple Serial devices in hardware.

Or you connect to an Ethernet module, if you want to use a network protocol. In this case some circuitry will be required, to convert between logic levels and the differential signals expected/sent over an Ethernet cable.

Other serial connections (I2C, SPI...) are not usable, unless you want to spend multiple senders and receivers for the separate clock and data lines.

In either case you can test your code with wired connections and, if everything works, insert the laser senders/receivers.

The hardest part in fact will be a stable focus to the receiver. You can use multiple photodiodes, or kind of a curved mirror like used with satellite antennas, to extend the sensitive area of the receivers. Or you widen the beam of the lasers, to cover a wider area. Good luck!

This IR Thread may be helpful.

I suspect one of the problems with a laser pointer is the need to point it at the detector very accurately.


...and you will, of course, pay particular attention to the safety aspects of lasers and lenses.

AWOL: ...and you will, of course, pay particular attention to the safety aspects of lasers and lenses.

Live and learn . . . . braille . . . . start learning braille