
[Verified] OpenMV 4 Plus
PRO[Verified] OpenMV 4 Plus
License
:Public Domain
Description
Project Description
Simply put, it is a programmable camera that can implement your logic through MicroPython language. And the camera itself has some image processing algorithms built in, which is easy to use.
Open Source Agreement
CC-BY-NC-SA 3.0: Creative Commons License-Attribution-NonCommercial-ShareAlike
CC : Abbreviation for Creative Commons license (English: Creative Commons license)
BY : Attribution. You must give appropriate attribution, provide a link to this license, and indicate whether changes were made.
SA: Share Alike, if you remix, transform, or create based on this work, you must share and publish your contribution under the same license as the original license.
NC : Non-Commercial, you may not use this work for commercial purposes.
For more information see:
Creative Commons — Attribution-NonCommercial-ShareAlike 3.0 Unported — CC BY-NC-SA 3.0
Project Related Functions
Visual recognition, in this project a program that scans the QR code is used to verify the module function.
Project Properties
This project is made public for the first time and is my original project. The project has not won any awards in other competitions.
Project Progress
1. Draw schematic diagram
2. Draw PCB
3. Make a board
4. SMT
5. Welding and debugging (you will know later why SMT still needs to be welded)
Design Principles
Using STM32H743IIT6 to design OpenMV4 Pluse, LQFP package is easier to weld than BGA.
Note: OV5640 camera is provided by yourself. I bought it from a certain treasure for 33 yuan. If you want other cameras, you need to modify the camera PCB.
Software Description
Please download the firmware OpenMV IDE.
First, and then proceed with the following steps.
Program example:
# Two-dimensional code recognition example
#
# This example demonstrates the functionality of OpenMV Cam to detect QR codes without the need for lens correction.
import sensor, image, time
sensor.reset()
sensor.set_pixformat(sensor.GRAYSCALE)
sensor.set_framesize(sensor.VGA)
sensor.set_windowing((240, 240)) # Look at the 240x240 pixels in the middle of the VGA resolution.
sensor.skip_frames(30)
sensor.set_auto_gain(False) # This feature must be turned off to prevent image flushing...
clock = time.clock()
while(True):
clock.tick()
img = sensor.snapshot()
for code in img.find_qrcodes():
print(code)
print(clock.fps())
Physical Display
Design Considerations
There are 4-layer board and 6-layer board designs. If possible, 6-layer board can be used. The 4-layer board was modified after receiving the problematic 6-layer SMT. The signal integrity of the 4-layer board is definitely not as good as the 6-layer board.
Other
After I received the 6-layer SMT, I tested the power circuit and found a problem. I contacted SMT after-sales service and was told to change the resistor and try a DC-DC chip. Since I didn’t have any DC-DC on hand, changing the resistor didn’t work. In an emergency, I used AMS1117-3.3 to set up a tent for emergency testing. It was found that there was a problem with SMT.
Modify after processing is complete.
After modification.
The small board Jenga is connected by aligning the copper through holes with the pads below. You must add more tin, otherwise it will not be soldered, and the appearance will be sacrificed.
Designed by Travellium (from OSHWHub)
Design Drawing


Comment