Guy Dupont Makes an "IRL YouTube" with Home Assisant Automation and a QR Code Scanner

Designed to provide a three-year-old with limited access to the streaming service, this setup turns curated videos into printed codes.

Maker Guy Dupont was looking for a way to allow his three-year-old daughter access to a controlled and curated subset of videos on YouTube without providing unfettered access to even YouTube kids — and with a strict time limit. The solution: a physical binder of video URLs.

"There's a ton of high-quality, free (we're the product, blah, blah), educational content on YouTube. If she's gonna be in front of a screen, we'd prefer that some of that time is spent learning," Dupont explains of the curation aspect. "There's a ton of [terrible] content on YouTube that's designed only to grab and hold her attention. If she's gonna be in front of a screen, we'd prefer that none of that time is spent watching this. We've observed that when she knows that there's a bunch of other stuff to watch, she wants to switch what she's watching more frequently. We're trying to cultivate an attention span over here! Seeing 30 new thumbnails on the way to the video we agreed on inevitably leads to 'wait, what was that one, I want to watch that now!'"

A printed library of curated YouTube videos and a MicroPython-powered scanner is a clever way to control kids' screen time. (📹: Guy Dupont)

Dupont's ingeniously hands-on solution is simple: rather than relying on the largely-automated curation of YouTube Kids and its interface that is designed to maximize "engagement," he hand-curated a list of suitable videos and turned their URLs into QR codes printed on actual physical paper held in a binder. "When she scans a QR code from the binder," the maker explains, "the associated video plays on our TV. There are no transport controls. It plays from start to finish. When it's done, the TV goes back to its screensaver."

The heart of the system is an M5Stack Atomic QR code scanner linked to an Atom Light microcontroller host. Programmed in MicroPython, the scanner captures the URL from the printouts and sends it across to a Jellyfin media server to play the video, with an intermediary app automatically downloading the stream and placing it into the local library via yt-dlp if necessary; a message is then sent to Home Assistant to begin playback on the target TV. "After five scans," Dupont adds, "the scanner stops working. The indicator LED turns red, showing her that it's time to stop watching."

While the printed QR codes are pleasingly analog tech, the back-end is perhaps a little overkill. (📷: Guy Dupont)

Dupont isn't the only parent looking to have more control over their kids' TV time: earlier this year maker Mads Chr. Olesen showed off a similar system, but rather than QR codes the a link to the media was written to 3.5" floppy disks read by an automated system — bringing back the tactility of when home media was on clunky physical cassette tapes like VHS and Betamax.

The full project write-up is available on Dupont's blog.

ghalfacree

Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.

Latest Articles