Sorry for not getting back to this post.
If this barcode is of your own design I would scrap it. The reason I say this is because you’re not bringing in any of the techniques used by 2D barcodes to be “scannable” by a camera. In particular, all 2D barcodes have a ton of error correcting codes to be readable. Usually, very high level math stuff. Reed–Solomon error correction - Wikipedia
Anyway, beside that 2D bar codes also include some kind of finder pattern which can be detected cheaply and easily on a raw image. For example, QR codes have 3 finder patterns on their edges to make finding them possible. The finder patterns also allow the software to then de-rotate the qr code in 3D space so the bits on it can be scanned.
The barcode format you’ve proposed doesn’t do any of this so it will only work if the camera is in a fixed position relative to the code.
If you wanted to continue down the path of implementing your own barcode format the OpenMV Cam could scan it but you’d need to write the whole library in C. I’d expect you to also be somewhat of master at doing this type of stuff as you’re looking at a 4-6 thousand line function. You could look at our QR Code and AprilTag code to get started. But, you’re looking at a lot of work.
If possible, just use a linear barcode which the M7 camera will be able to scan. Or, if you wait a bit I’ll have libdtmx ported over for data matrix support to round out the OpenMV Cam’s barcode library. Otherwise, just use a QRCode.
At the end of the day unless someone knows what the value a 1D/2D barcode means it doesn’t really matter if they can read it. It still has to be inputted into a system that can parse the data value. For example, all codes stored could be encrypted strings.