Skip to content
HardwareLab

Take over a cheap Android photo frame and run your own family dashboard

Wes Bos's notes and scripts for getting ADB, root, backups and your own kiosk app onto locked-down Android photo frames.

Full build guide

By @wesbos

Posted
GitHub stars
1.2K (GitHub)
Likes on X
10.2K (X post)
Jailbreaking a cheap photo frame (Syntax on YouTube) · Video by @wesbos. Watch on YouTube · Original post on X

Build sheet

Parts
Cheap Android photo frame (tested boards include BIUFRAME 10.1", PF1007L, Skylight Calendar 15" and LOOFII C-3 21.5"), USB data cable (USB-A to USB-C for the PF1007L), Computer with ADB
AI model or service
Any coding agent (the repo has a start-here section for agents)
Difficulty
Advanced
License
No license stated

Part of: Hack a gadget you already own →

Overview

Wes Bos (@wesbos) found that cheap Amazon photo frames can be rooted, given a modern browser and run as a home display, and published how he did it. The repo records the units people actually tested, across several boards: the BIUFRAME / Synergy 10X1 (Rockchip RK3126) from his video, the PF1007L / AiMOR (Allwinner A33), the Skylight Calendar 150-CAL (Rockchip RK3566) and the LOOFII C-3 21.5" calendar (Allwinner A133, Android 10, root ADB over USB out of the box), plus a device index for Frameo, Dragon Touch and other frames. It is written for coding agents, with rules such as asking the owner before every write and making a verified backup first, and it lists community builds that started from it. No license is stated, so this page only summarizes and links to it.

How it works

Check Settings → About first: frames sold under the same name can have different boards, and each board has its own route. The repo works in phases: identify the hardware; get ADB (over USB first, then over the network, and only then a vendor-app trick or a boot patch); back up the flash and verify it; get root (a shipped su, or a debug-ramdisk boot on Android 10+ builds); then replace the launcher and run a small full-screen WebView kiosk app. The example dashboard is a Vite web app deployed to Cloudflare Workers (with mock data). Later phases cover networking and turning off vendor auto-updates before the frame goes online. The PF1007L needs a USB-A to USB-C data cable.

Why it's interesting

The most useful part of this repo is its warning about hardware: frames sold under the same name, even on the same Amazon listing, can have different boards, so it tells you to check Settings, About before following any guide. It then gives a path per board. The PF1007L / AiMOR (Allwinner A33) needs a USB-A to USB-C data cable, because USB-C to USB-C gives no power or data, and its vendor app accepts root shell commands from the vendor's server, so read that page before the frame goes online. The BIUFRAME / Synergy 10X1 (Rockchip RK3126) is the frame in the video and has a setup script with a check step that changes nothing. The README says 30 community builds are shared, and Planify on HardwareLab started from this repo.

Source: github.com/wesbos/photo-frame-dashboard#readme

Builds based on this

Hardware

  • Cheap Android photo frame (tested boards include BIUFRAME 10.1", PF1007L, Skylight Calendar 15" and LOOFII C-3 21.5")
  • USB data cable (USB-A to USB-C for the PF1007L)
  • Computer with ADB

Like this build? Get the weekly builds

Get the best new AI hardware builds every Thursday. One email a week, free.

Built something? Submit a build

This page is a short summary written by HardwareLab. Build steps, code and photos belong to the creator; follow “View original” for the full project.

Featured? Add this badge

Built this? Paste the badge into your README. It links back to this page.

Featured on HardwareLab

Markdown

[![Featured on HardwareLab](https://hardwarelab.dev/badge.svg)](https://hardwarelab.dev/projects/wesbos-photo-frame-dashboard/?utm_source=badge&utm_medium=referral&utm_campaign=launch_2w)

HTML

<a href="https://hardwarelab.dev/projects/wesbos-photo-frame-dashboard/?utm_source=badge&utm_medium=referral&utm_campaign=launch_2w"><img src="https://hardwarelab.dev/badge.svg" alt="Featured on HardwareLab" width="188" height="20"></a>