Video capture ! Possible?

Presumably you have a user interface somewhere and the operator is intended to watch the video from the 'bot and send it commands in real time.

In that case I'd just use an IP camera and display that directly on the PC where the user interface is provided. If your user interface took the form of a web page served by the Arduino then you could embed the video directly in that page. Alternatively, host the web page elsewhere and use server-side scripting or client-side scripting to send commands to the Arduino in response to user commands; you could still embed the video in the page. If your user interface is not a web page and doesn't enable you to show video directly, then you could simply open a separate browser window to display the video and put it on the same screen.

Just because your Arduino is next to the camera and has a wireless connection, doesn't mean that the video has to go over that connection.

If you do have a genuine requirement to send the video and the Arduino commands via a shared WiFi adapter then the best way to achieve that is probably to use a Raspberry Pi on the 'bot to drive the camera and the Arduino - but that's a more expensive and complicated solution and it seems pretty unlikely there's any genuine need for that.

isn't it possible to change the Atmel chip on the Arduino with another Atmel chip that is more powerful that has the same or possible to match pin outs (if exists)?

No there is no such chip.

(I think RaspberryPI is too much for this type of project)

No it is not, it is possibly a little light if anything.

I do not want to beat a dead a horse. However I found the following video camera:

The specs say "it outputs NTSC video and can take snapshots of that video and transmit them over the TTL serial link"

So this camera has two functions; (1) Output Video in NTSC format, and (2) Take Snapshots in JPEG format.

Is it that impossible to transmit the captured video over the Wi-Fi through arduino - given the camera already captures the video?
If it is impossible why is it impossible? What further processing is required which Arduino is not able to do?

s it that impossible to transmit the captured video over the Wi-Fi through arduino - given the camera already captures the video?

Because the data rate of that video signal is far in excess of the data rate that the arduino can handle.

Is it that impossible to transmit the captured video over the Wi-Fi through arduino -

But it doesn't capture video, it capture snapshots.

Grumpy_Mike:
Because the data rate of that video signal is far in excess of the data rate that the arduino can handle.

So the video camera outputs a stream of bytes; you mean arduino is not able to loop through that stream of bytes (fast enough) to output on the Wi-Fi shield?

AWOL:
But it doesn't capture video, it capture snapshots.

It has a video output which you can connect to a screen.

It has a video output which you can connect to a screen.

NTSC is an analogue standard, that is connected to an analogue screen.
What point are you trying to make?

AWOL:
NTSC is an analogue standard, that is connected to an analogue screen.
What point are you trying to make?

No point at all, just lack experience and asking questions...

So that is why it is hard for the arduino? Because it would need to convert that analog signal to digital?

Because it would need to convert that analog signal to digital?

Bingo! The ADC on an Arduino simply isn't fast enough, and there isn't enough fast memory to buffer an image anyway.
Not only that, but to remove the redundant information (like JPEG does) to reduce the data rate out requires more processing power than the AVR can manage in a resonable time.

AWOL:
Bingo! The ADC on an Arduino simply isn't fast enough, and there isn't enough fast memory to buffer an image anyway.
Not only that, but to remove the redundant information (like JPEG does) to reduce the data rate out requires more processing power than the AVR can manage in a resonable time.

Good, that make things more clear now :slight_smile:
I assume there must be something (not arduino) which converts analog to digital.

If the video is already in digital format, would I be able to stream it over Wi-Fi using Arduino + Wi-Fi shield?
Or still the AVR chip on the Arduino is not fast enough?

I assume there must be something (not arduino) which converts analog to digital.

Correct. Not only that, if you want colour, you have to decode the composite NTSC signal into its three components and digitise them separately (though the colour components have a very low bandwidth compared to the luminance signal).

If the video is already in digital format, would I be able to stream it over Wi-Fi using Arduino + Wi-Fi shield?

It depends what you mean by "digital format" - simple baseband digitised video, JPEG, motion-JPEG, MPEG or H264, or...
Baseband it probably the worst from the point of view of the AVR because there is almost nothing about the AVR that can handle the datarate, except at very reduced resolution, even if the processor is acting as a pass-through...in which case, it might be better not there at all.
The others require the video source to do the encoding, because the AVR simply isn't up to the job, and again, it is acting as a passthrough.

Simple arithmetic illustration:
Raw eight bit monochrome image at 160x120 resolution = 19200 bytes per frame.
At 30 frames per second = 576 000 bytes per second.
Even if you compress it (somehow, somewhere) at 30:1, that's still nearly 200kbit per second for a low-res, mono image.
Colour, at best, will add typically half as much again, maybe even as much again, i.e. doubling.

sja785:
Is it that impossible to transmit the captured video over the Wi-Fi through arduino - given the camera already captures the video?

Why are you obsessing over using the Arduino? It's completely unnecessary. Just get a camera with a network interface, and give the Arduino a separate interface if it needs one as well.

Check out http://mbed.org

Available in 48Mhz/32KB/8KB
and 96Mhz/512KB/32KB

Sample program

// Hello World! for the TextLCD

#include "mbed.h"
#include "TextLCD.h"

TextLCD lcd(p15, p16, p17, p18, p19, p20); // rs, e, d4-d7

int main() {
    lcd.printf("Hello World!\n");
}

looks familiar to you?

looks familiar to you?

Only vaguely.

Remember that the Mbed board is a subsidized development system, the price you pay is not cost price.

Remember that the Mbed board is a subsidized development system, the price you pay is not cost price.

I don't know what you mean. Who's paying at cost price anyway?
People buying Arduino are not paying the cost price either.

Arduino uno dev board - $30 bucks or so, ATMEGA328 @ Mouser $3.00 each ($1.90 for 25pcs)

mBed freedom dev board = $12.95, LPC chip @ Mouser $8.50 each ($7.65 for 25pcs)

From the pricing above, it looks like mBed is more likely at cost price, while Arduino is way overpriced.
(granted there are other supporting chips around, but you can see the big difference above).

of course, just buying the ATMEGA chip will be the cheapest solution and just breadboarding it or making your own board.

I don't know what you mean.

I mean that the board cost more than the asking price to manufacture and deliver with retail margin on it. So for every board sold the manufacturer is making a loss. They are using the advertising budget in order to raise the profile of that chip. The Arduino on the other hand is a commercial venture that has to pay its way along with paying for other things like this web site.

From the pricing above, it looks like mBed is more likely at cost price, while Arduino is way overpriced.

I see you know very little about real semiconductor pricing. The price on Mouser or any other distributor for piddling little quantities has little relationship to the actual cost and has more to do with storage, packing and handling.

PeterH:
Why are you obsessing over using the Arduino? It's completely unnecessary. Just get a camera with a network interface, and give the Arduino a separate interface if it needs one as well.

Hi, I do not want to be misunderstood. Not really obsessed on using Arduino. Found that video camera and just wanted to know exactly the "why" it cannot be done with an arduino, why arduino could not simply pass through the output of the video camera. Now I have more answers.

.. and just wanted to know exactly the "why" it cannot be done with an arduino, why arduino could not simply pass through the output of the video camera.

If you really really really really really want to know, build it and you will learn a lot!

In the Netherlands we have the Delta Works - Delta Works - Wikipedia - that keep the sea out. All experienced water-engineers in the '50's told the government that such a dam couldn't be build. A group of young engineers, not hindered by knowledge, said lets do it and they invented machines (boats etc) to do things that were thought of as impossible. And now after 50 yrs it is still amazing to see the DW.