finds.dev← search

// the find

tachcard/arm-barcode-scanner

★ 11 · C · Apache-2.0 · updated Feb 2015

This is a QR and barcode reader for the STM32F407VG Discovery board. It takes frames from an OV9655 camera over the DCMI interface and decodes them with a port of ZXing. It's a bring-up demo for anyone curious what a Cortex-M4 can do with image decoding, not something to drop into a product as-is.

The camera capture path is in the tree (dcmi_ov9655.c drives the DCMI peripheral directly), and the README links a video of it running, so this is hardware code rather than a paper port. ImageReaderSource.cpp looks like the adapter between the camera and the ZXing-derived decoder, which keeps the decoder from depending on the sensor driver. Vendoring CMSIS and the StdPeriph driver means the build doesn't depend on fetching ST's package, which matters for a project this old.

The only documented build path is IAR Embedded Workbench, through the .eww and .ewp files. There is no Makefile, CMake, or arm-none-eabi-gcc setup, so anyone on free tooling starts from scratch. The last push was February 2015, and the StdPeriph and CMSIS copies are the pre-HAL generation ST has since replaced. The README says it is based on ZXing but doesn't say which version, what was changed, or which formats decode, and the title says QR while the repo name says barcode. Most of the repo is vendored ST and USB library code plus committed IAR state (Backup of Project.ewp, EWE454.tmp, settings files), so the project's own logic is a small fraction of what you have to read.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →