Independent developer project · not affiliated with, endorsed by, or sponsored by BrainChip, Inc.

Thirteen expensive lessons from building the machine

The failures that became permanent engineering rules.

OUR OBSERVATIONLast verified: 2026-09-27 · Build 1.9.37
  1. Two numpy worlds. Runtime/camera on numpy 1.26.4; training subprocess on 2.1.3.
  2. Map before training. Random-weight mapping + negative controls before expensive runs.
  3. Verify deployment. Three tests were wasted because code never reached the Pi.
  4. Explain every rejection. “background 66% vs carabiner 43%” exposed empty negatives.
  5. Empty negatives poison the class. Guard them out.
  6. Vignetting beats global threshold. Model the belt locally.
  7. One empty frame is not a model. Use median + per-pixel noise over 16 frames.
  8. Angles move with the image. Rotation/mirroring must transform annotation; a sign bug hid at 90/180/270° and appeared at 45°.
  9. Handed parts are not freely mirrorable.
  10. Image the SD card, not only tar. A damaged card killed the VideoCore mailbox.
  11. Kernel 6.12 needs driver patches.
  12. One file, one active editor. Two AI assistants overwrote the same UI file.
  13. Fix glare at the source first. Polariser/lighting before masks.