Tips: sender brightness up; receiver 20–40 cm away, QR filling most of the frame; a little blur is fine — the code is rateless, so any frames you miss are simply replaced by later ones. If it stalls, drop the sender's density to Coarse.
All local — nothing leaves your device. Rateless LT fountain code over binary QR (ECC‑L): the receiver only needs "enough" frames, in any order. Sibling of Wi‑Fi Beam (fast) and Sound Beam (audio).