Settings

Theme

Show HN: Offline ESP32 that displays a new QR code every 30 seconds

github.com

2 points by tomtomistaken 6 months ago · 3 comments · 1 min read

Reader

This is my first microcontroller project: an ESP32 that generates a new QR code every 30 seconds and displays it on an e-paper screen. The idea is to use it for proof-of-presence or location validation. The device is low power and stays completely offline — it syncs time via a GPS module and generates everything locally. I also built a backend service that verifies the scanned QR codes to check if they are valid. The web interface displays device locations on a map and allows adding new devices directly through the site.

jqpabc123 6 months ago

30 seconds may be too long.

It's certainly possible to snap a photo and share it with someone off site within a 30 second window.

  • tomtomistakenOP 6 months ago

    Yes, relay is possible, but I'm not sure if a shorter window solves the issue - you could stream your cam feed.

    Another option would be to limit the number of validations in the time window or to introduce a 'cool down' time - the next validation attempt has to wait 3 cycles to be valid. Relay would still be possible, but when the person on spot wants to validate for themself, relay could be more of a hassle. Last but not least, the browser could ask for the the location and calculate the distance to the device (location can be spoofed ..).

    • jqpabc123 6 months ago

      A stream is generally of lower quality than a photo which should make it significantly more difficult to get a good scan of a QR code from a stream --- particularly if the code is changing every few seconds. I'd probably recommend showing a code for 3 seconds then a black screen for 3 seconds then repeat with a different code.

      Cameras need to focus on both ends and the stream has to be scaled to fit the available display parameters. Could easily turn into an exercise in frustration.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection