Network transmission over light is currently a state-of-art but immature field of development that has a lot of potential. We believe that this type of data transmission will positively contribute to the field of telecommunication so we decided to create our own spin on the idea. This is where LaFi comes in, where our goal was to create a peer to peer networking interface to demonstrate the possibilities with laser transmission.
What it does
Currently, we support any raw data transmission ranging from basic things like text messaging to practically any ASCII based communication. In theory, it has the capability to do everything and anything that Ethernet can do, however due to technical and financial drawbacks we were not able to achieve our full performance.
How we built it
The project itself consisted of two parts. The circuitry involving the actual connection of the RPis to the components (transistors, lasers, resistors, etc.) as well as the program that controlled data transmission. On the hardware side our project consistent of two nearly identical endpoints. They both have a Raspberry Pi, a photo-resistor and a laser. The laser is amplified with the use transistors which will communicate with the sister endpoint's photo-resistors to provide a binary stream of full duplex data.
Challenges we ran into
We actually required photo-diodes but only had photo-resistors and only realized it during the hackathon. Therefore, we had to impede our transmission speed in order for it to actually work. We found out that photo-resistors typically have a response time of 10ms (thus 100 bits per second), but in reality we were only able to get it to transfer at a maximum stable speed of 15 bits per second. So our final product is being bottle-necked by the photo-resistors high response times.
Accomplishments that we're proud of
We started off this project thinking that we may not be able to complete it, due to many of the difficult tasks at hand. However, now that we are at the end of the hackathon, we are proud of a demonstrable and generally working project.
What we learned
We learned that some libraries (especially WiringPi) have the tendency to be a real pain. In our testing we found out that the command that WiringPi provides for linux (gpio) can only use one GPIO pin at any point in time.
What's next for LaFi
We were sort of short on time for designing the project to be very aesthetically pleasing. Next steps could be designing an exterior to physically encapsulate the devices as well as overcoming our technical challenges layed out above.