How to connect two computers (networks or any other electronic devices) with a laser data link.
Most used to connect lan networks between buildings this is a cheap and secure way to send information without broadcasting as RF or wifi links.
This project was developed in my course of robotics for high school junior level, is very cheap and easy to build.
What we get?... communicate two computers over 1100 feets (345meters).
See step 1 below.
Step 1: What We Need?
The laser transceiver consists of two identical devices.
Both endpoints have the following electronic items:
- Microcontroller ATmega168 to 20MIPS.
- Visible light laser 650nm 5mW of power.
- Trigger for the laser based on a MOSFET IRF9630
- Receiver based in three photodiodes of visible light SFH203.
- 50mm Reflector to open the receiving surface.
- USB to Serial Converter at TTL levels.
- Power via USB or battery of 4.5-5V.
Optionally if you need a long distance you must build an accurate pointer system as this based in screws.
- Atmega168 + self-made board = 10 euros
- USB-Serial converter = 4 euros
- Mosfet = 1 euro
- Laser = 3 euros
- Photodiodes = 1 euro
- Torch (only use the reflector) = 2 euros
- hardware & cables = 5 euros.
About 25 euros each transceiver.
Step 2: Electronics
You can use Arduino, Pinguino or any other development board, as we are learning we decide to build our own.
attached the schematic, board design and some pictures about construction.
What you can get?
Our system with cheap lasers, mosfet and photodiodes work at old modems speed.
We use Atmega168 at 20MIPS so working with high quality lasers you can get near 10Mbits/s, using faster microcontrollers, lasers and receptors... no limit. Seeking internet you can get information about military investigations, NASA and ESA too are working with Gigabits.
The final speed depends on your resources.
Step 3: Software
The microcontroller firmware has been developed in C language using the manufacturer IDE (AVR Studio) and compiled with GCC compiler. The communications protocol between transceivers has been custom made, but is currently based on ASCII standard system. We decided to do it this way so we could do further research about encryption and data compression. The latest change has been to implement a system checksum to verify data integrity
We develop the communications software between the computer and transceiver for Linux (Python + GTK) and Windows (Visual Studio).
¿too much work?... don't worry.
If you use Arduino, Pinguino or any other board you can make it easy simply connecting the laser and the receptor to any TxRx pins (hard or soft configured).
The PC software can be any communication software like hyperterminal or the same Arduino IDE utility.
Step 4: Videos
The system working.