Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Laser communication project

Status
Not open for further replies.

posix_memalign

New Member
Another project I've thought about for a long time and would like to start -- now that it is summer holidays and all -- is a laser communication project.

I'd like to create a laser communication system between two standard x86 computers, i.e. my own self-created physical layer as per the OSI model.

I imagine each computer connected to a small box/housing either by USB or DE-9/RS232, within this box/housing there shall reside a photodiode and a class 3R laser at close to 5 mW; with one such box per computer, obviously.

The photodiode will generate binary data for the data-link layer whereas the laser will transmit binary data from the data-link layer; this will take place through some code in an Atmel ATmega88 microcontroller or equivalent, the OS in question will be GNU/Linux and the interfacing will be dealt with through a kernel module which I intend to also write myself.

Proof of concept version will be merely a user land debug-program to see if I can receive and transmit single bits consistently. The initial distance used will be short, on the range of a few meter, at least for the poc version.

One major concern though as to the feasibility of the project is the frequency at which the laser diode can be turned on/off -- I don't know where to get this kind of technical data, and I don't know what "typical" values are.

I have a couple of cheap laser pointers with < 5 mW output which I would like to use, but do I need to get something more expensive? I fear that if I turn on/off the laser at a very high frequency the resulting light will be completely continuous as the frequency is raised.

Does anyone have any experience and can give me some advice in what would be a "typical" expected maximum frequency? What the typical latency is for the laser to output a continuous stream of photons? Shut-off latency?

Any other thoughts, ideas?

Thanks in advance. :)
 
Over the air laser? Or fiber optic? I wouldn't worry about laser speeds at RS-232 speeds (this is just intuition speaking, nothing solid). You're probably going to be using a virtual COM port (RS-232 that uses like USB hardware) anyways since real USB is really really hard and messy to work with.

You could start with a laser-implementation of IrDA.
 
Last edited:
Over the air laser? Or fiber optic? I wouldn't worry about laser speeds at RS-232 speeds. You're probably going to be using a virtual COM port (RS-232 that uses like USB hardware) anyways since real USB is really really hard and messy to work with.

You could start with a laser-implementation of IrDA.

I had in mind to perform this over the air, and you're probably right in regard to the laser not being the limiting factor over RS-232, maximum performance is ~8 kiB/sec?

I've written some programs for RS-232 but I have yet to do anything on DB-25, how messy is that to work with?
 
I just asked about fiber because it sounds like aligning 4 different things when the pairs are rigidly connected to each other in the housing might be a pain in the ass (4 DOF you need to align for using only 2 DOF).

Is DB-25 just a parallel cable? If it is, it probably be the same as working with DB-9, but instead of a virtual COM port you would need a serializer and deserializer unless you plan on having a bunch of lasers. The reason USB is so messy is because there's a bunch of initializers, software, and drivers involved. THe virtual COM port hardware and software just make it so when you plug in the hardware to a PC USB port, it appears as a RS-232 port. From there on, you just do everything as if you were programming for RS-232.

RS-232 maximum speed is 115.2kbps,
 
Last edited:
For longer distances I think you will need to AM modulate the laser transmitter with a high frequency, then use an ac amp at the receiving end with decent gain, to filter and detect the modulated bits.

Like modulating the laser at 400kHz with maybe a 20kHz baudrate of the data, if that makes sense. For real long distances you may end up with something similar to RF comms needing packets and manchester encoding etc.

There were some cool web sites on laser DX etc, you could google for "my laser DX setup" or "my long distance laser communication setup" etc.

(edit) Just remembered , try a google search for "laser cloudbounce".
 
Last edited:
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top