Some of the oldest posts on this blog are about my building parts of my own digital picture frames. (2014) I've come quite a ways since then, but my goals haven't changed much. That first frame was made for my grandmother, just incidentally. I was digging through a closet at her house and I found boxes and boxes and boxes full of old family photos and I spent several months digitizing them all. As soon as I started on that, I wanted some way of displaying them. I would scan a few hundreds photos some random Saturday and put them on Dropbox, and I wanted them to show up on a frame at my grandmother's house as soon as I was done. Back then, the solution that I came up with was Google Nexus 7in tablets, which as far as I know were the only tablets ever made with wireless charging. So I built a stand to hold and charge those, and I used a combination of Android apps to sync photos and run a slideshow. And that worked really well. Eventually I had two or three of those, and they were still working last time I checked. But these days we have so many more options.
I ended up making several more displays for other family members. The quick and easy solution was to just use newer tablets. I bought at least half a dozen Samsung Galaxy Tab 11in tablets and used the Fotoo app to display photos from Google Photos. Many of my family members use Google Photos by default. I 3D printed stands to hold the tablets and I found low-profile right-angle USB-C connectors that would keep them powered all the time so they would run on a daily timer. And that worked beautifully, until it didn't. Tablets like that are not designed to stay plugged in 24/7. Some Tabs are still running just fine today, after several years, but quite a few of them stopped working after just a few months. The one I set up in my own living room developed a battery life of about ten minutes when unplugged, and eventually stopped turning on even when plugged in. I didn't look deep into the root of this problem, but obviously the tablet should turn on when plugged in. So I needed a better solution once again.
I'm no longer a broke college student and I decided maybe I should just buy a solution instead of building everything myself. So I bought an Aura picture frame. It looked pretty nice. Plasticky, could have had a nicer front appearance, but good build quality. I had some problems with the highly-automated setup process and it took me over a week and several support tickets to get it working, but eventually it synced with Google Photos and started showing a daily slideshow. But immediately I had two problems. First, it was too bright. So bright that it was a distraction. As soon as I walked into the room, it immediately caught my attention and would repeatedly draw my attention while I was in the same room. Like having a flashlight turned on in the corner. It's nice to have good image quality, but I want it to blend in with the rest of the room. Interestingly, I mentioned the Aura frame to a family member who had one of their own and they broached the same complaint. And the brightness is not adjustable. This frame is full-automatic. The second and bigger problem for me was that the Aura frame automatically crops all of your photos to fit the frame. If you want to show your full-length wedding dress portraits, too bad. The Aura frame is going to cut them off at the waist and there's nothing you can do about it. That was a deal breaker for me. So after a few weeks I returned the Aura frame.
And I went back to DIY solutions. The Fotoo app for Android was perfect for me. I could sync Google Photos albums of arbitrary size and it gave me all the options and configurability that I wanted. And I discovered that you can run Android apps on Google TV. So I bought an Onn TV stick and an Asus MB169CK display and I set them up to run Fotoo every day. It worked great. I measured the display and 3D printed a mockup frame to cover the display bezel and make it look like a traditional framed picture, and it was very nice. But the image quality started to bug me. The display was not bright enough to compete with daylight through the windows, the viewing angle was quite bad, and the 16x9 aspect ratio meant portraits were very, very letterboxed. So I started looking for a better display. And I found several. I upgraded to an Asus MQ16FC OLED display, 16x10. That small change in aspect ratio makes a big difference. The brightness and viewing angle and overall image quality are outstanding. And unlike the Aura frame, I can adjust the brightness down to match the room. Unfortunately, this didn't work well with the Onn TV stick. The Onn TV device (and apparently all Google TV devices) is limited to strict 1080p or 720p resolution, and very strangely, the Asus display stretches the incoming image to fit its 16x10 aspect ratio, no matter what. I talked to Asus tech support and they confirmed that it's hard-coded to always distort your incoming video. I can't imagine who decided that was the best option instead of letterboxing. So my images are all stretched vertically and letterboxed on two-of-four or all-four sides. That wasn't going to work.
So we have a terrific display and now we need a smarter video source. I previously looked into Raspberry Pis, but they can't display Android apps and only select Android apps are allowed to access Google Photos now because Google built a wall around Google Photos. But there is a system called Waydroid that supposedly let you run Android apps in Wayland on a Raspberry Pi. And I knew a Raspberry Pi could handle 1920x1200, which is vastly preferable to letterboxing 1920x1080. So I set up Raspbian and Waydroid and Fotoo and ... it didn't work. This containerized setup running an app inside an OS inside a container inside another OS on a Raspberry Pi was just too unresponsive and Fotoo kept crashing. So can I get rid of all those layers?
I heard about an Android distro built for Raspberry Pi called KonstaKANG and I tried flashing that. It flashed. I did all of the workarounds required to put Google Services and Play Store on it, but initializing the system with Google simply didn't work. Various processes kept freezing and crashing over and over and the setup kept failing in the first few steps, before I even tried to sign in to any Google account. Not very promising. I don't know if this system still works on other hardware or for other people, but I had no luck.
So I heard about SBCs built specifically for vanilla Android. I looked up Orange Pi and ODroid boards. Unfortunately, versions capable of running modern Android releases were all listed for $300-500 and I had no guarantees that they would actually work. So I decided not to go that route.
Everything was so nice during that brief time when I just had a plain old Android tablet ... before the battery conked out ... though since acquiring this 16in OLED display, I didn't think I could go back to an 11in LCD tablet. It seemed like there should be a way to just get the images I wanted out of some off-the-shelf Android device. And there was! Samsung used to have a mode called DeX for some of their phones and tablets that let them output a desktop straight to a display of arbitrary resolution! Unfortunately this system appears to have gone away. But the S21 from 2021 still had it, and I could get one of those used on Amazon for $150. So I did. When it arrived, I could connect it directly to my OLED display and ... it was outputting 1920x1080 instead of 1920x1200, just like the Onn TV stick. But there is a workaround app called Good Lock that let me output higher resolutions. And after a short while of trying out different cables in different arrangements, I got 1920x1200 photos on my 16in OLED! It worked!
Except the phone was powering the display. Obviously that wasn't going to work, at least not for more than a few hours at a time. And I certainly didn't want to unplug and recharge things every day. So clearly we needed the phone to be outputting video to the display, but with the display charging the phone. On top of that, what was to stop this phone from dying after a few months just like my Samsung tablet did previously? Well luckily I discovered that some versions of Android have an option under battery management that lets you limit charging, for exactly this problem. So I enabled the setting that ensures the battery never gets charged over 80% which should vastly increase its service life. As for how to charge the phone in the first place ...
I tried several different USB-C hubs that I had in my house. I connected the hub to the phone, and a power cable to the hub, and the phone started charging. And then I connected the display USB-C cable to the hub ... and nothing happened. The phone and display weren't connecting with a hub in between. But my hubs also had HDMI ports, so I hooked up an HDMI cable and that worked! Except it was outputting 1920x1080 again. And after digging through settings and reading around, I don't think HDMI through a USB-C hub can do anything except 16x9 standard HD. I might be wrong, but I wasn't able to make it work so I had to go back to USB-C display. And after looking around, I decided I could buy a Qi charging pad and tape that onto the back of the phone to have it permanently charging to 80%. But after settling on this janky solution, I unplugged everything and moved it from my workbench to my mantle and when I started to plug it back in to see what it would look like in its permanent location I realized it would look better if I switched around the USB-C cables on the display. And after doing that, I looked down at the phone and saw that it was charging! I tried that same cable arrangement previously and the phone didn't charge. I don't know what changed. But it works now! I can display 1920x1200 on the display and also charge the phone, and through a single USB-C 3.1 cable. Fantastic!
And that worked great for one day. I configured Fotoo to run automatically from 9am to 9pm. At 9pm the phone went to sleep and the display turned off. At 9am the phone woke up and the display turned back on. And Fotoo started showing a slideshow on the phone, and not on the display. I spent a long time searching the internet and looking for settings to control this, but there don't appear to be any. I have no way of forcing the slideshow onto the external display by default. So this avenue is also dead.
I considered, very briefly, buying an Orange Pi or an ODroid, but no. Enough time wasted on this. I just bought another Samsung tablet and set that up like the previous one. I was surprised that a refurbished A9 was $170 while a brand new A11 was $220, so I bought a new A11 and enabled the 80% battery limit. My family members have reported that their tablets are still going strong after multiple years, so hopefully I just got unlucky in the past and this one will last a long time. I feel incredibly sad going from a 16in OLED to an 11in LCD. The tablet's brightness is better than that on the first external LCD I tried, but the viewing angle is very poor compared to the OLED. Oh well. This is the best I can do with Android and Google Photos being as locked down as they are.
It's a real shame that Google locked down Android and Google Photos. They really don't want users to have any freedom to show their own images in ways that Google doesn't control or directly profit from. Other options would include writing an application to do a daily download using Google Takeout, but apparently that interface is very locked down as well to resist access by automated means. I only use Google Photos because I have so many family members who use it and won't be changing, no matter what alternatives I offer them. This will have to do until I can push the family onto something better.