Step1: Material Preparation
1. Arduino Uno Board and USB
2. OV7670 Arduino Camera Sensor Module STM32
3.10K resistor X 2
4. 4.7K Resistor X2
5. Breadboard
Step 2: Pinout Connection
Connect the circuit as illustrated below:
Step 3: Programming Arduino
The Setup() comprises all the initial setups required for only image capturing. The first
function is arduinoUnoInut() which is used to initialise the arduino uno. Initially it disables
all the global interrupts and sets the communication interface configurations such as the
PWM clock, selection of interrupt pins, presclaer selection, adding parity and stop bits.
arduinoUnoInut();
After configuring the Arduino, the camera has to be configured. To initialise the camera, we
only have the options to change the register values. The register values need to be changed
from the default to the custom. Also add required delay depending upon the microcontroller
frequency we are using. As, slow microcontrollers have less processing time adding more
delay between capturing frames.
void camInit(void){
writeReg(0x12, 0x80);
_delay_ms(100);
wrSensorRegs8_8(ov7670_default_regs);
writeReg(REG_COM10, 32);//PCLK does not toggle on HBLANK.
}
The camera is set to take a QVGA image so the resolution need to be selected. The function
configures the register to take a QVGA image.
setResolution();
In this tutorial, the images are taken in monochrome, so the register value is set to output a
monochrome image. The function sets the register values from register list which is predefined
in the program.
setColor();
The below function is write to register function which writes the hex value to register. If you
get the scrambled images then try to change the second term i.e. 10 to 9/11/12. But most of
the time this value works fine so no need to change it.
writeReg(0x11, 10);
This function is used to get the image resolution size. In this project we are taking pictures in
the size of 320 x 240 pixels.
captureImg(320, 240);
Step 4: Serial Port Reader for reading Images.
Serial Port Reader is a simple GUI, download it from here. This captures the base64 encode
and decodes it to form an image. Just follow these simple steps to use Serial Port Reader
1. Connect Your Arduino to any USB Port of your PC
2. Click on “Check” to find your Arduino COM Port
3. Finally click on “Start” button to start reading serially.
REFERENCE
WEBSITE
1. https://circuitdigest.com/microcontroller-projects/how-to-use-ov7670-camera-module-
with-arduino
2. https://www.instructables.com/OV7670-Arduino-Camera-Sensor-Module-
Framecapture-T/
3. https://www.robotique.tech/robotics/using-the-ov7670-camera-with-the-arduino-uno-
board/
4. https://circuitjournal.com/arduino-OV7670-to-pc
YOUTUBE
1. https://youtu.be/C2WHGYmOR-o