By: Jacob Simeone, Published: 2025-01-11
For the most part, fiber optics are the backbone of a vast majority of high-speed internet connections, taking a digital light signal and bouncing it in a glass tube over and over again until it reaches it’s destination. When pondering this technology, it dawned upon me that using light to transmit digital data isn’t only optimal for high-speed applications, but I theorized could be used to be a good demonstration of how serial data is transferred.
The idea flowed as such: two laser diodes, and two photo-resistors, capable of detecting when the opposing laser diode was on, and this link of laser-diode and photo-resistor would replace the wires of the UART Tx/Rx pair, and transmit data. I would plan on transmitting the data slow enough that an onlooker could actually see the data getting transmitted. By extension, one could also break the laser beam and introduce communication errors interactively.
This would require both a mechanical assembly (preferably 3d-printed) and software that is capable of transferring a small amount of data, slowly over this link.
The mechanical assembly I came up with consists of a track, and two “sliders” that each contain one laser diode and one photo-resistor, which are then wired to a microcontroller. The CAD design for this assembly can be found here, on OnShape, and is pictured below:
The design above allowed me to freely move the two sliders as close together as possible, which turned out to be a good decision because it was hard enough to get the laser diode and photo-resistor to line up.
Unfortunately, I do not have any photos or videos of this test set-up working, but it did! I was successfully able to transmit serial data (slowly) down a laser diode, and into a photo resistor on the other end, where it was able to read a zero or one, assembling a fixed package of “Hello, World!”. It was also possible to interrupt the laser beam and corrupt the packet, and the controller reading the data would drop the packet.
Last Updated: 2025-01-11