Adding some JPEG to your Netduino (as in serial camera)

Sign in to queue


Fabien Royer (aka. Mr. "Doing some really cool stuff with Netduino") takes us through adding a JPEG serial camera to a Netduino project. Think about some of the cool things you might be able to do if your Netduino project could take pictures. It adds a whole new dimension to what you could build. No, you're not going to be able to build your own Kinect, but think monitoring, security, motion detection, spy cams, doing 'stuff' with JPEG's, etc. etc...

Driving an adafruit VC0706 TTL Serial JPEG Camera with a Netduino

Earlier this month, AdaFruit released a nice little TTL camera, perfect for security and remote monitoring applications. The camera supports three resolutions (640×480, 320×240 and 160×120), has a built-in motion detection circuit and can output an NTSC signal, all in a fairly compact form factor. The communication with the camera is done over a TTL UART @ up to 115200 bauds. In many respects, this device is very similar to the LinkSprite camera, which has been out there for some time now.

As I’m working on a security-related project involving the Netduino, it was the perfect opportunity to put this camera to the test, starting with writing a C# driver. While interfacing with the camera over the TTL UART of the Netduino is straight forward, the datasheet describing the protocol and commands required to control the camera functions is painfully sketchy and sometime inaccurate. In some instances, some camera functions such as OSD (text overlay) are not supported in the firmware even though the datasheet documents them or only behave properly if called in a particular sequence, which of course, is not documented…

Building it...


Looks like the driver has a couple cool features. The motion detection looks particularly interesting...

Using the Netduino driver

The Netduino driver currently implements 4 major functions.

  • Initializing communication and the camera’s resolution
  • Controlling TV output
  • Taking pictures
  • Detecting motion

So how does it look?


Fabien sums it up well;

The VC0706 camera, with proper tuning, is a nice addition to any project where remote monitoring, motion detection and security are needed and it will pretty much work ‘out of the box’. It would be great to see future versions of this camera offering access to the SPI and High Speed UART interfaces: while it is possible to force the camera to use ‘out of spec’ UART speeds above 115200 bauds, it is unlikely to be very reliable.

As always, you can find the camera driver and the test code as part of the Netduino Helpers library.

Here’s a few more links you might find interesting:

The Discussion

  • User profile image

    Cool post.

    My TriCopter is just about ready to fly and the next steps would include adding GPS, Altimeter and of course a camera. I always thought that the camera would be a bit too daunting for my level of skill, but now I think it shouldn't be that big a deal.

    Thanks Wink


Add Your 2 Cents