I’m currently working on realization of a final year project idea for a real time wireless video streaming system. Mainly I’m concerned about the set up for a wireless link. I’ve looked into the nRF24L01 break out board and the tutorials at diyembedded.com and it seems to meet my needs.
Basically I’m trying to interface some kind of MCU + rf transceiver solution with a PC. I don’t believe the maximum UART baud rate is acceptable for my application however. Is there a way to set up a USB 2.0 interface to the MCU and then interface MCU to the nRF24L01 via SPI? Would the LPC2148 break out board be acceptable? The tutorials on diyembedded.com used UART at 9600 baud rate.
Overall I’m looking for data rates of about 400kb/s (I know it’s low for video, but I have quite a bit of leeway on framerate/quality).
Don’t need full duplex or fancy ARQ features.
Maximum range of about 20m, indoors
Do you think something like this is doable for one person in about 4 months (i.e. board layout + firmware)?
You should be able to do that in four months, if you keep at it. The nRF24L01 should be suitable for the data rate and range you need.
Choose an MCU for which there is already plenty of nRF24L01 code, like a PIC18F. If you use one of the USB PICs, like the 18F2450, it will give you a USB interface to the PC.
Yes, I think that would be quite doable in a LPC2148. The nRF is easy to work with do to its SPI interface.
I think your biggest hurdle is going to be USB data rates, and all of the jazz that entails. I know its possible to achieve this using USB Mass Storage, but the communication class devices (serial) are much more limiting.
Thanks for the quick replies, I’ll look into both LPC and PIC micro’s. USB mass storage idea seems interesting, though if I lower my bit rate requirements perhaps I can go the HID route.
There’s no reason why you’re limited to mass storage or CDC. If you write to one of the video specs for example; any OS that has a driver for that class should “just work”. http://www.usb.org/developers/devclass_docs#approved has all the specs, and implementing one of those shouldn’t be too painful, especially with the basic LPCUSB stack to work with.