PhotoFrame: The Introduction

December 15, 2022

A few years ago I ordered my first Raspberry Pi and a short while later I ordered the official touch screen to go with it. It didn't take long before I was trying to come up with ideas for installing the screen into my car or, in this case, a picture frame. 

The idea seemed pretty simple. Take a Raspberry Pi 3 B+, mount into to the back of the touchscreen display, and make a frame to go around it with a nice photo mat to finish off the whole project. I was so sure that the project wouldn't run into any problems I made promises to my mom and girlfriend that they would get one of these frames soon.

"Soon" came and went, and eventually, we arrived in 2020. When thinking about writing this post I noticed an unpublished post from 2020 so with just a little proof-reading this post is going public 2 years later. That's okay, now is as good a time as any. In 2020 I had ordered some of the parts that I would need and done a little research. Now the research is (mostly) done and parts are coming out of the 3D printers. 

One of my biggest concerns was screen size. The 7 inch touch screen is a cute display but most off-the-shelf digital frames were at least 10 inches. After replacing the display in my girlfriend's laptop I have occasionally monitored the replacement screen websites. It wasn't until recently, however, when I came across a tutorial where they recommended some screens through ebay that I found what I was looking for. One seller offering the screen and controller card as package deal. It even comes with a monitor control panel to adjust brightness and contrast. 

The second problem was the overall thickness. With the addition of the touch panel and the placement of the display controller board centered behind the display the package was thick before adding the required Raspberry Pi to power it. Although there are certainly ways to offset the worst of the thickness, like making a custom bracket to hold the controller board and Raspberry Pi side by side rather than stacked, it just seemed like a losing battle. The newly sourced screens do not come with a touch panel and with the increased size they are much easier to arrange the required electronics to be as flat as possible. Also helping is that the Raspberry Pi Foundation released the Raspberry Pi 3 A+. Similar power, but a more condensed form factor. Most noteably it replaces the 4 USB ports with 1, making the board's thickest point the rows of GPIO pins. 

It's nice to have a bright display during the day, but when you're trying to sleep the bright light of the bright light can be a bit distracting. LCD screens are actually composed of two parts, there's the LCD panel which controls which colors are displayed and then there's the backlight which shines a bright light through the LCDs making them show up. If you've ever had your backlight die you can usually still see the image, it just looks like someone turned the brightness all the way down. Like most computers the Raspberry Pi has a screen saver, unfortunately it will only display a black screen but the backlight stays on, so rather than a colorful screen you get a glowing black rectangle. Because the new monitors come with their own controls the screen can be turned completely off without cutting power to the Pi. 

Not last, or least is the problem of user friendly set up. I did all that I could to build account set up and linking to require no input on the Pi itself. The frame is linked to an account by a QR code that is downloaded and displayed during first set up. Unfortunately, to get to that point someone with a keyboard must enter the Pi desktop and connect to WiFi or connect via an ethernet cable. The key to this puzzle was found in a few projects on github where the programmers would scan for known networks and then put the Pi into access point mode, which means that you can connect your phone to the network it creates and set up the WiFi network. This allows the frame to be set up without my direct involvement and also allows it to be reconnected in case the network changes. 

After reading these issues you may wonder if it's really worth it to build my own version of something that could be ordered from a number of companies online. I don't actually have the answer to that yet. At the end of all this I may still find my attempt lacking in some way. What I can tell you is that despite the obstacles and setbacks, it has been far more interesting attempting to make my own. Being in control of the software also gives me the ability to add options that I want to see, rather than what some company wants to offer. 

Categories: Raspberry Pi  3D Printing