OCR Test

Hi! Hope you are doing well!
I've made an OCR Test using Snap! However I need some help on it.

I need help on the character recognition side of things.

The code name "BS" followed by 2 digits doesn't represent the bad word, no, rather it represents "Black Square" followed by its X and Y column ("BS13" would mean "Black Square Column 1 Line 3".)

Here's the project if you want to help me! Snap! Build Your Own Blocks

What do you try to achieve?
3x5 dot exact pattern recognition?
What about translation, rotation, and noise?
Do you have a good reason to use so strange form of the data "BSnn"?
List of list seems to be more versatile for hyperblocks or HOF.