Few weeks back, we talked about OpenMV – the small embedded computer vision module with a built-in camera, that can be programmed to perform various vision tasks. It gives you the ability to bring computer vision in to your embedded projects.
After I first read about it, I was eager to get my hands on a kit. Their official site – openmv.io – offers international shipping, as well as links to local distributes in some countries. The shipping was quite fast.
The OpenMV Cam M7
The cam comes with a really nice clear plastic case. The headers (used to connect other shields on to the board) comes separate (pictured above). This gives you the option to solder them – or other types of headers – yourself if needed. Headers aren’t essential for the basic usage of OpenMV. Both the case and the board itself has an excellent build quality.
The cam itself is smaller than I expected: about 2/3 the size of a credit card.
The size of the OpenMV Cam
The clear plastic casing has cutouts for the micro-USB port (on the bottom), and the micro-SD card slot (on the right side).
The cutout for the micro-USB port
The cutout for the micro-SD card slot
The cam also comes with a lens cap, to prevent accidental damage to the lens.
The lens cap
Now, we’re ready to start setting up the board.
The first step is to install the OpenMV IDE. You can download it from the official downloads page – https://openmv.io/pages/download. The IDE is available for Windows, Mac OS, Ubuntu, and Raspberry Pi.
Download the OpenMV IDE for your OS
The installer for Windows is straight forward. Just run the downloaded installer and follow the installation wizard.
The OpenMV IDE Setup Wizard
Select ‘Install’ when it prompts to install the ‘OpenMV Cam USB Driver’.
The prompt to install the USB Driver
Once the installation wizard completes, launch the IDE once to verify.
Before the OpenMV Cam can be used for the first time, there are a few things you need to do.
As stated in the official guide,
We require you to manually clean your OpenMV Cam camera IC and then focus the lens because it’s very expensive for us to do this currently. As we increase our production volume we’ll be able to do this eventually for you. Note that all OpenMV Cam camera ICs are cleaned before being packaged, but, since focusing is not done our manufacturer can’t tell if the camera IC is clean. The quality control test we use for each OpenMV Cam only verifies that the camera IC is connected properly and operating normally.
In order to clean the camera IC, we first need to open the plastic case.
Use a small flathead screwdriver to pry open the case. It’s easier to open the case from the left side.
Open the case from the left side
To remove the cam entirely from the case, you may need to remove the small screw at the top of the lens mount.
Remove this screw
The official guide suggests removing the following two screws from the back of the board in order to detach the lens mount entirely from the board.
Screws to detach the lens mount
However, I found that it’s easier to clean the camera IC by just unscrewing the focusing barrel of the lens, which exposes the camera IC.
The camera IC exposed after removing the focusing barrel
Now, just use a cotton swab dipped in a bit of isopropyl alcohol to clean the camera IC. Be careful not to put too much pressure, which might scratch the surface of the IC.
Clean the IC using a cotton swab
Wait until all of the isopropyl alcohol has been evaporated, and then put back the parts of the cam together.
Now we’re ready to connect Cam to the PC.
Connect, Update, and Focus
Use a micro-USB cable to connect the OpenMV Cam to your PC. When the connection is successful, the blue LED on the OpenMV Cam will start to blink.
Blue LED blinking on successful USB connection
On Windows, OpenMV will be detected as a USB Storage Device, with a README file in it.
OpenMV detected as a USB Storage Device
Now, launch the OpenMV IDE, and click the ‘Connect’ button on the lower left side of the UI.
The Connect button
When connecting, the OpenMV IDE will automatically check the firmware version of the Cam, and would notify if a newer version of firmware is available.
Firmware update notice
The IDE will ask for confirmation to erase the data in the Cam, and then update it with the latest firmware.
Updating the firmware
The LED on the Cam will turn green during the update process.
The LED turning green during the update
Once the updating is complete, a prompt will ask you to click OK after the Cam starts blinking the blue LED again. Wait about a minute until the blue LED is blinking again, and then click OK.
Only click OK after the Cam has started blinking the blue LED
After the update completes, the taskbar of the IDE will show the firmware version as ‘latest’.
Firmware version shown in the taskbar
The IDE will have the ‘helloworld_1.py’ script loaded as default. Now we run it using the start button at the bottom left of the IDE.
Running the HelloWorld script
The HelloWorld script will show what the OpenMV Cam sees in the Frame Buffer of the IDE.
Why is the view all black? Oh, I forgot to remove the lens cap.
Remember to remove the lens cap
The view would most probably be out of focus. We now need to focus it by turning the focusing barrel of the lens. Turn it until the view in the Frame Buffer becomes clear.
Focus until the Frame Buffer view becomes clear
Once you have a good focus, you can (gently) tighten the screw on the top of the lens mount to lock in the lens barrel.
Tighten this screw to lock the focus
Now your OpenMV Cam is ready for your machine vision tasks.
I will explore how to write and execute scripts on OpenMV in the next tutorials.