Electronic – Microcontroller used to transmit video

microcontrollervideo-transmitter

I need help choosing a microcontroller for a project I'm doing.

This microcontroller needs to do the following:

1) Interface with a low resolution camera, obtain video feed from it, compress it and send it a wireless transmitter.

2) Obtain analogue data from 4-5 sensors and use that information to drive motors through PWM.

3) Obtain control data from a wireless receiver and use it to control 1-2 motors.

I am totally new to this stuff and I have no idea where to look. Basically I have no idea how to relate the specifications of a microcontroller to my specific needs. What microcontroller would suit my needs?

Best Answer

Your bottleneck in term of processing power will be the live video processing and real time compression. Video compression done in software takes A LOT of computing time.

Simple evaluation:

you use a low res VGA sensor : 640 x 480 pixels black and white.

you have 640 x 480 = 307200 pixels.

you didn't specify the framerate. But let's decide 25 fps for the computation.

Now you have to process 307200 * 25 = 7.68 Megapixel/sec ! or 0.13us per pixel.

Imagine that you have a high-end ARM cortex-M3 microcontroller at 100 MIPS. or 0.01 us/cycle.

Then you have 0.13us / 0.01 = 13 single instructions available per pixel !

This assumes that you CPU is doing nothing else. Which is not your case. Thus your compression algorithm has to be very simple. Or you should find a chip that is able to do this for you in hardware or reduce a lot the frame rate.