Skip to content

Repository files navigation

VD56G3 camera bring-up on Himax WE2

Host tests

This repository is a tested proof of concept for connecting an STMicroelectronics VD56G3 monochrome global-shutter image sensor to a Himax HX6538/WE2 processor over two-lane MIPI CSI-2.

The diagnostic firmware brings the system up in explicit, independently verifiable gates. It starts without touching the sensor and exposes probe, boot, configure, pattern, live, capture, and shutdown commands over UART. It never writes sensor NVM.

Validated result

The complete path was exercised on 2026-08-03:

Check Measured result
Power VCORE 1.10 V, VANA 2.75 V, VDDIO 1.77 V
Sensor clock Approximately 12 MHz
Identity Model 0x5603, revision 0x3110
Output Native 1124 x 1364 RAW8 at an 8.43 fps target
CSI-2 Two lanes at 440 Mbps/lane
DMA SRAM 1,533,296 bytes used (77.83%); 426.64 KiB remains
Internal pattern CRC-valid 1,533,136-byte vertical-grey frame with no line shifts
Live pixels CRC-valid optical scene with no sensor or datapath errors
Safe stop Sensor returned to XSHUTDOWN low without a power cycle

See the measured bring-up log for the exact observations and CRCs.

Hardware

  • Seeed Grove Vision AI Module V2 with Himax HX6538/WE2
  • Raspberry Pi 15-pin to 22-pin FFC cable
  • ST STEVAL-CAM-M0I P-board
  • ST CAM-56G3 promodule with VD56G3 sensor

The physical chain and connector assumptions are documented in dev-setup.md.

Quick start

Prerequisites on Windows:

  • Git
  • Python 3.10 or newer
  • PowerShell
  • GNU Make with an MSYS-compatible shell
  • A fine high-impedance oscilloscope probe for the passive clock gate

Bootstrap the pinned Himax/Seeed SDK, recovery image, Arm GNU toolchain, and Python packages, then build and test:

./tools/bootstrap.ps1
./tools/build.ps1 -Clean
python -m unittest discover -s tests -v

Do not flash until bootstrap.ps1 reports the factory recovery image and records its SHA-256. Continue with the gated bring-up procedure.

Repository layout

Path Purpose
firmware/vd56g3_bringup/ WE2 diagnostic firmware and vendor-build integration
tools/bootstrap.ps1 Materialize pinned dependencies and recovery image
tools/build.ps1 Stage, compile, sign, and record the diagnostic image
tools/flash.ps1 Confirmed XMODEM update with recovery-image validation
tools/vd56g3_uart.py Gated UART command and capture client
tools/vd56g3_protocol.py CRC-checked binary frame protocol
tests/ Offline protocol regression tests
docs/design.md Firmware architecture and current limitations
datasheets/SOURCES.md Document provenance without redistributing vendor PDFs

Safety and scope

This is diagnostic proof-of-concept firmware, not production camera firmware. It supports VD56G3 cut-3 silicon only, uses a single snapshot buffer, and has not yet implemented exposure/gain tuning or continuous host streaming.

The generated update is a signed whole-image artifact containing the pinned vendor boot partitions as well as this application. The flash script does not issue a separate mass-erase command, but the normal vendor update may rewrite those signed partitions. Keep the validated factory recovery image available.

Local build products, captures, SDK/toolchain material, and vendor PDFs are intentionally excluded from Git.

Licensing

No license has been selected for this repository. Public visibility alone does not grant permission to copy, modify, or redistribute the project. Dependencies and referenced vendor documents remain subject to their own licenses and terms.

About

Gated VD56G3 MIPI CSI-2 bring-up and RAW8 capture firmware for Himax HX6538/WE2

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages