.. _changelog_v1_0_0: v1.0.0-beta =========== v1.0.0-beta is the **initial (beta) release of the OpenMV firmware** — the first public build of the OpenMV Cam. It establishes the foundation everything since builds on: a **MicroPython** scripting runtime on the STM32F4 OpenMV Cam, a camera :mod:`sensor` API, an :mod:`image` machine-vision library, and the OpenMV IDE for live development. As the first release there is nothing to migrate from — this entry summarizes what the initial firmware shipped with. .. contents:: On this page :local: :depth: 1 Highlights ---------- - **MicroPython on the OpenMV Cam** — run Python scripts on the camera over USB with an interactive REPL and IDE debug interface. - **Camera capture** — the :mod:`sensor` module: configure pixel format / resolution / frame rate and grab frames with ``snapshot()``. - **Machine vision** — the :mod:`image` library: color blob detection, drawing, filters, template matching, Haar-cascade face detection, and keypoints. - **OpenMV IDE** — a desktop IDE with a live framebuffer viewer, code editor, and in-IDE firmware update. - **Hardware** — the original OpenMV Cam (STM32F4) with OmniVision OV9650 / OV2640 cameras, SD-card and WiFi-shield support. New features ------------ Scripting and modules: - A MicroPython runtime as the firmware base, with on-camera script execution over a USB debug interface and an interactive REPL. - A :mod:`sensor` module — ``set_pixformat()`` / ``set_framesize()`` / ``set_framerate()``, gain ceiling / brightness / contrast / gain controls, ``reset()``, ``snapshot()``, and horizontal-mirror / vertical-flip — plus sensor and resolution constants. - An :mod:`image` machine-vision module (imlib) exposing image objects (with the Python buffer protocol) and the image-processing surface below. - A :mod:`time` / ``clock`` module for timing and FPS measurement. - Early peripheral modules — ``led`` (RGB LED), ``spi``, ``gpio`` (pin I/O with external-interrupt registration), ``uart``, hardware ``rng``, a systick timer, and ``file`` / :mod:`select` for the filesystem. - Networking via :mod:`socket` / ``wlan`` (CC3000 WiFi), an ``lcd`` display driver, an ``mlx90620`` thermal-sensor module, and AVI/MJPEG video recording. Image processing: - Camera frames captured into a dynamically allocated framebuffer. - Color blob detection (flood-fill) and LAB/XYZ-color-space thresholding (with RGB↔LAB conversion tables). - Drawing primitives (line, string/font, circle), filters (erode / dilate / median / invert / binary / threshold), image scaling (bilinear), sub-image extraction, blit, and alpha blending. - Template matching (with template save/load), Viola-Jones Haar-cascade face/object detection (loadable cascades + an OpenCV cascade converter), an LBP cascade and eye detector, FAST / SURF / FREAK keypoint detection and descriptor matching, integral images, and motion detection. - JPEG encoding (with quality control), PPM / PGM / PNG / raw image saving, and AVI/MJPEG video encoding. IDE and tooling: - The OpenMV IDE desktop application — live framebuffer viewer with FPS, a code editor (open / new / save / save-as, recent files, bundled Examples menu), connect / reset / auto-connect, and configuration load/save. - In-IDE firmware update over DFU, a pure-Python ``pydfu`` utility, and a force-into-bootloader USB command; the ``openmv.py`` host library/protocol; a standalone framebuffer viewer and cascade tool; and Linux udev rules. Other changes and improvements ------------------------------ - Bundled example scripts: blob detection, face detection / tracking, SURF / keypoints, template matching, LCD, framebuffer viewer, blit, MJPEG streamer, AVI recording, echo server, FPS, and JPEG / image-write demos. Hardware and board support -------------------------- - **OpenMV Cam** — STM32F4xx (STM32F407 / F429) across the early hardware revisions, with CMSIS + STM32 peripheral/Cube HAL and CMSIS-DSP. - **Cameras** — OmniVision OV9650 and OV2640 (SCCB/I2C, regulator control) via a sensor HAL, plus the MLX90620 thermal IR sensor; resolutions from QQCIF/QCIF up to SVGA/UXGA at up to 30 FPS. - **Storage / connectivity** — SD card (SPI and SDIO) with FatFS, an internal flash filesystem, SDRAM (framebuffer in SDRAM), USB OTG FS (debug + DFU), CC3000 WiFi (WiFi / BLE shields), an IR LED, and soft/hardware I2C and DMA-driven SPI. Breaking API changes -------------------- None. v1.0.0-beta is the **initial (beta) release of the OpenMV firmware** — there is no prior release to break compatibility with. Subsequent releases document their breaking changes against their predecessor; see the rest of :ref:`the changelog `.