SparkFun will be closed on Tuesday, November 5th to support our team in being able to go out and vote! Orders placed after 2 pm MT Monday, November 4th will ship on Wednesday, November 6th. Thanks for your patience and understanding.
Create an optical RS-232 link with an RGB LED and a color sensor.
Good morning! First, we wanted to let our friends on the east coast know that we'll be visiting soon and we'd love to hang out! Artisan's Asylum, the City of Somerville and the Somerville Arts Council are hosting the first Somerville Mini Maker Faire on Saturday, October 13, in Somerville, MA near Union Square. A few of us will be there hanging out at the Maker Faire, and we'll also be teaching some one-time classes at Artisan's Asylum in the days around the festival. On Wednesday, October 10, we're teaching a class on XBee; on Thursday, October 11, we'll cover Eagle Layout for PCBs; and on Monday, October 15, we're offering a SMD soldering class. Spaces are limited and it should be a lot of fun, so sign up at the links if you'll be in the area!
A while back, Shahriar, our friend at The Signal Path, created a tutorial using some SparkFun parts in a very unconventional way. Shahriar postulated that if we can send data via light over a fiber optic cable, why can't we use more colors to increase the amount of data being sent? Thus, he set out to create a multicolored data transmission link. Using a couple of PIC microcontrollers, a BlinkM RGB LED and a Color Sensor board, he was able to send data over a fiber optic cable using varying intensities of light, and read them in with the sensor. He lays out all the details in his video. Check out the link below, or visit his site to see all of his video breakdowns.
Nice job Shahriar, and thanks for your amazing documentation!
Hi! This is Shahriar, the host of The Signal Path. Thank you Sparkfun for featuring one of my videos. I'd like to point out that wavelength division multiplexing (WDM) is a common practice for increasing data throughput of fiber communication systems. Multi-Terra-bit-per-second data rates can be achieved using this technique. My video is aimed to illustrate the idea using visible wavelengths and for educational purposes.
So hopefully this means SF will start to carry some fiber optics?
I think they already do. With TX and RX modules as well.
A search for fiber optic returns a TV audio cable (TOSLINK) and some "Light Pipes" which I thought were to make pretty colors, not transmit high speed noise free signals. Perhaps the TOSLINK could be used, but I don't know where to start. Anything else I'm missing? I'd love to do some fiber optic stuff since my car stereo is fiber optic and I'd like to try and patch into the factory amp....
Also, fiber optic is cool because it doesnt pick up on EMI. Maybe something for a Friday post in the near future... ?
You're probably referring to MOST bus. theres one company i know of that sells units to interface with this bus: mobridge.us It's probably very expensive. DIY solution would be interesting but most likely not possible with an 8-bit controller or anything like that. Unless there exists some specialized silicon that interfaces with the bus, you would have to build something custom. The bus can carry many channels of digital audio as well as control signals, so it would probably need a fairly fast processor, something 32-bit maybe? I haven't done much research on this so feel free to correct me.
Just read the TOSLINK description, Sparkfun, did you used to carry transmitter/ receiver? Is it still in stock and I just cannot find it?
I did a research paper on this topic in college. It's something phone/data companies do already to increase bandwidth on data lines. It's called wavelength division multiplexing. I don't remember their exact implementation but I believe they use prisms to separate the spectrum. Good job figuring out how to do it using the given equipment though. That's not easy to do.
Your memory is good. Yes WDM and its counterparts DWDM (Dense Wavelength Division Multiplexing) and CWDM (Course Wavelength Division Multiplexing) are used in the communications industry to increase the bandwidth of a fiber. They use multiple wavelengths (1525–1565nm or 1570-1610nm) to transmit multiple sources of data on one fiber. They use optical mux and demux to combine/split the light into the individual components. I work at a cable company and we use it to combine upstream traffic from multiple smaller nodes in one area onto one fiber for a long haul run as opposed to tying up many fibers for the whole distance, saves money on glass which is expensive. I was reading somewhere that they have put over 128 individual wavelengths of light on 1 fiber. Amazing. It's very cool to see people doing this with cheap solutions compared to the stupid expensive enterprise market.
This was a wonderful electrical/optics tutorial. I havent encountered this stuff since my undergrad days at university. Thanks for the refresher, it was very educational.
Very cool proof of concept. Well explained and interesting.
Pretty cool setup! And a nice lecture style. I would suggest one change. The reference to the combinations of RGB as different colors is OK for human eye/brain but could be confusing to anyone thinking in terms of spectra, and is definitely not true as far as the detector is concerned. How fast can you go with that setup?
Yes, the detector has three identical photo-diodes with red, green and blue optical filter arrays in front of them.
Excellent presentation. I have one question: Maybe I missed something in the presentation but on the reception side, why do you have to use RC filters ? Why could'nt you read the pwm signal directly through digital inputs ? Thanks.
Won't the RC filter take the received PWM signal and convert it to a single analog voltage?
Wonderful presentation. Thorough, well planned and particularly well described experiment. Props!
The RC filters convert the PWM to analog and thus the constellation is 8-PAM. If I were to leave it as PWM and detect the duty-cycle directly, then the constellation is PWM with 8-duty-cycle. Also, thanks for the kind comments.