Adafruit has published a guide to using a low-cost OmniVision OV7670 camera module with the Grand Central and other SAM D51-based development boards — including how to get full-motion video running.
"OmniVision’s OV7670 is a small and inexpensive camera module occasionally seen in maker projects," Adafruit's Phillip Burgess writes. "In the past, with the limited RAM and speed of the Arduino Uno, this tended to be for small stills, transferred over USB to a computer for further processing."
"Technology marches on, and the SAM D51 chip on Adafruit Grand Central and other M4 boards has a feature specifically designed with these cameras in mind. Along with a new Adafruit library, it’s possible to get full motion video out of the camera and to a display…with most of the CPU still available for other tasks. It’s early yet, but we’re hoping this might have applications for object tracking and basic machine vision right on the microcontroller, no PC connection needed!"
Burgess has found that the OV7670, linked to the parallel capture controller (PCC) of the SAM D51 microcontroller, is capable of of capturing a 320x240 pixel image and storing it in RAM — and that it can all be done through the Arduino IDE, thanks to a newly-released library.
Burgess' guide walks through modifying the camera's carrier board for compatibility with the company's Grand Central development board — a process which requires the removal of 3V and GND pins and the insertion of two new resistors — then offers two code examples: The first displays a live image on the company's 2.8" Touch Shield add-on, while the latter uses the 1.8" TFT Shield with Buttons and comes with the added bonus of its ability to save images to a microSD card.
The full guide is now available on the Adafruit website.