Video streaming using bluetooth?

Hey all,

I purchased a Serial JPEG TTL camera and I want to incorporate it into my arduino project. From what I've read on other threads, arduino just doesn't have the processing power to hand all of that video data. Would it be possible however to connect the tx/rx leads from the camera directly to the respective rx/tx leads on a blueSMIRF Gold or is that just crazy talk? I have no experience with either the camera or the bluetooth module so any advice on getting this project working would be much appreciated.

you should read the datasheet of the camera to see what the datarate is, can you post a link?

Arduino can handle up to 115200,
The datarate of bluetooth depends on the distance and line of sight, so probably less …

Note that the Arduino only has 2K Ram so it can not hold one image, however it could write pixels on a graphic LCD or to a TVout shield, or led matrix I guess.

115200 is max 5KB to keep time to do something with the incoming data. 5KB is approx is a 60x80 8bit image or a 160 x 240 1 bit. once per second.

So in best scenario it will be very lowres still image, one per second. Definitely no HD video…

One frame per second? That’s not too bad actually for my purpose.
Here is the camera I have:
http://www.robotshop.com/4d-systems-microcam-serial-jpeg-camera-module-ttl.html
It’s advertised to have something called a “JPEG compression chip” so does that change anything?

Also, I’m using the blueSMIRF gold which can handle 115200 baud and has a range of ~350 ft (supposedly) and the datasheet says its transmission rate over the air is 721 kbps.
http://www.robotshop.com/spark-fun-bluesmirf.html

What if i just used the arduino to provide power to the camera and the bluetooth modem? Could I stream the video data using the camera connected directly to the bluetooth modem? Here’s a picture I drew of what I mean:

Screen shot 2011-07-14 at 4.35.09 PM.png

Have you seen media link: http://www.youtube.com/watch?v=oGO1Uj8k1ao&feature=player_embedded#at=80 Little bit slow frame rate. And I provide a link on other your post today: http://arduino.cc/forum/index.php/topic,66474.new.html#new to have a look on a project with xbee. Even project build around xbee (instead of BT) and with different JPEG camera, it's not big difference from hardware point of view, and anyway it worth to study it. You can put arduino in the loop, as camera isn't "streaming" the video, it just executes a command, like "take a picture" "send picture" "set compression rate" etc. So ether way some devise (arduino or android) has to issue a command and check protocol communication / answers. List of commands included in data sheet.

Unfortunately none of that will help me. In the link to that video you provided, he was using a completely different board which. I apologize for not being specific. I need to use arduino (because that's what I have) and I need to use bluetooth (because I want to use and android phone as a display. Have any advice for those circumstances?

O'K, let me explain. Arduino has no idea about RF protocol. So, BT or XBee for arduino absolutely no difference, just some serial devices on other end of serial link to get or send information from / to. It also apply to JPEG cameras, Arduino has no clue what is model / maker, all it know is serial device that support specific set of the commands. This set of commands would be managed in software, so basically you can get application - program code written for arduino to communicate with one JPEG camera, and rework it for your camera just replacing one set command for another. For example, on 4dsystems camera GET PICTURE (AA04h).

on LinkSprite, something like - Command(HEX) 56 00 32 0C 00 0A 00 00 MH ML 00 00 KH KL XX XX

LinkSprite has posted a code for Arduino: http://www.linksprite.com/download/showdownload.php?id=70&lang=en

Unfortunately I was not able to locate similar arduino code on d4systems site. I'd suggest, to make a search by two words d4systams + arduino code on google, may be arduino code + jpeg camera. Any example shouldn't not be an issue to modify, that what I thought . It's not "out of box" solution, rather starting point