March Status Update
We're about 2-3 weeks out from starting to ship OpenMV Cam M7s to everyone. We've had a slight schedule delay due to difficulties in getting the STM32F765VI chip in large quantities. But, it's looking like everyone will receive their pre-orders in April.
As for the initial 40 OpenMV Cams we built. Those have been distributed to folks who were eager to get one to try out.
It looks like our formula for building the new M7 cams is solid so we expect everything to go smoothly building cameras in April.
We have a lot of new functionality about to come out in the next firmware update. Here's the list:
ZBar Integration - We've got the ZBar 1D barcode library working on the OpenMV Cam M7. It can decode bar codes oriented in any direction in 640x480 grayscale image at about 3 FPS and decode vertically aligned bar codes in a 640x40 grayscale image at about 20 FPS. So, if you don't mind a slow frame rate it can basically find and decode barcodes in an image generally. Or, you can turn the camera into a linear barcode scanner (640x40 res) for a higher FPS.
ZBar supports for the following types of 1D bar codes:
... so, basically every 1D bar code you'll run into. :)
Best of all, finding barcodes is super easy to do. Just call the "find_barcodes()" method on an image and you'll get a list of all 1D barcodes. The method works just like "find_qrcodes()".
Normally, I'd do a demo with ZBar support... but, there's really not that much to look at when you set the resolution to 640x40. Just a lot of black and white lines that look the same.
Note that this feature only works on the OpenMV Cam M7 because we've exhausted the flash space for major new features on the OpenMV Cam M4.
Wireless Frame Buffer Support - As demoed previously with the "Open Terminal" functionality in OpenMV IDE we've now added methods to the firmware for transmitting images to OpenMV IDE over any serial link. The new "compress_for_ide()" and "compressed_for_ide()" methods on images allow you to jpeg compress an image in place or create a jpeg compressed copy. Every 6-bits of the jpeg compressed images are then encoded to a byte valued between 128-191 for transmission to OpenMV IDE.
By encoding the image binary data in this way we're able to transmit images over any serial link without risk of corrupting normal printable text data. This allows you to connect to an OpenMV Cam sending image data in the middle of transmission without issues.
So... wirelessly programming and debugging your OpenMV Cam using REPL now works! However, you'll want to use fast wireless links for sending image data (above 1 mega baud).
WiFi Access Point Mode - With firmware v2.3.0 you'll now be able to setup your WiFi shield to run in Access Point mode so it acts like a WiFi router.
640x480 RGB565 Images/Video - Grayscale 640x480 image/video recording works on your OpenMV Cam M7. However, RGB565 640x480 image/video recording doesn't work because we don't have the RAM.
That said, we've figured out a way around this problem for just image and video recording by storing Bayer images in RAM instead of RGB565 images. This cuts the required space in half. Using a Bayer image does incur an overhead of linear interpolation per pixel access so we don't plan to build this feature out for image processing functions. But, we'll make it so you can take 640x480 RGB565 images and 640x480 color MJPEG video/gifs. Note that we don't expect the frame rate to be impressive for video but it will be great for taking snapshots.
CMUcam5 Pixy Emulation - We've received quite a few requests from folks looking to replace their CMUcam5 Pixy with the OpenMV Cam so that they can use AprilTags in their application versus color tracking without having to change their Arduino code. So... we've now got example scripts for this:
- AprilTags using Pixy Protocol over I2C
- AprilTags using Pixy Protocol over SPI
- AprilTags using Pixy Protocol over UART
- Color Tracking using Pixy Protocol over I2C
- Color Tracking using Pixy Protocol over SPI
- Color Tracking using Pixy Protocol over UART
These examples scripts also really show you how to use the OpenMV Cam's I/O with computer vision support. Being able to control the filtering of results on your OpenMV Cam before transmitting them is very powerful.
* MAVLink Support - The same folks asking for Pixy Emulation also wanted MAVLink support for integration with ArduCopter and the Pixhawk. So, we added an example script for sending out AprilTag detection data for automatic landing support and optical flow data for use in GPS denied environments:
Actually, that's all folks - Thanks for reading!