Surface guide
QR codes on e-ink displays
E-ink is an excellent QR surface: high contrast, no glare, no backlight and no refresh artefacts. The constraint is resolution — most electronic shelf labels are 100–150 dpi, so each module needs several pixels.
| Typical scan distance | 20–50 cm |
|---|---|
| Minimum code width | 2–5 cm |
| Error correction | M |
Why e-ink works well
- Very high contrast in the exact black-and-white range decoders want.
- No glare — the surface is diffuse, unlike a glossy LCD.
- No backlight, so no bloom around dark modules.
- Readable in direct sunlight, where LCDs fail.
The resolution constraint
Electronic shelf labels typically run 100–150 dpi.
| Display | Pixel size | Modules at 4 px | 33-module code |
|---|---|---|---|
| 100 dpi | 0.25 mm | 1.0 mm | 33 mm |
| 150 dpi | 0.17 mm | 0.68 mm | 22 mm |
| 300 dpi (reader) | 0.085 mm | 0.34 mm | 11 mm |
Aim for at least 4 device pixels per module, and align the code to whole pixels — a code rendered on a half-pixel boundary gets anti-aliased into grey, and e-ink has few grey levels.
Ghosting
Partial refreshes leave faint remnants of the previous image. Force a full refresh when changing a code; a ghost of the previous pattern superimposed on the new one is exactly the noise a decoder cannot handle.