Introduction: 55inches, 4K Digital Photo Frame Display for Around $400

there are a lot of tutorials on how to make an awesome digital photo frame with a raspberry pi. sadly the rpi does not support 4K resolution. the Odroid C2 can easily handle 4K resolution but none of those rpi tutorials work for the C2 unit. it took me 30+ hours to get where i am today. by the time you are done, yours will look like this:

or you can buy one from Memento. a 35 inches 4K frame costs $900. or a Samsung frame TV for around $1300.

https://mementosmartframe.com/

Step 1: Find an Empty Wall to Install the 55inches TV.

this wall has been empty for 3 years. i wanted to have a nice poster or backlit display but those are costly and can only display 1 photo!

finally a 55inches 4K TV was selling at walmart for $260. add $26 for 3 years warranty and taxes. out the door was $306.

Step 2: Add an Outlet Near the TV for a Clean Look

i was able to fish a Romex 12 gauge wire from a nearby outlet. be sure to turn off electricity before doing this work!!! then intall an outlet. you can find more detailed tutorial of this on youtube. i forgot to take photos and videos when i was doing this. sorry!

Step 3: Gather All the Materials You Will Need

Materials used

===========

1. 4K TV 55inches Sceptre from Walmart for $260, as of April 30th, 2018

2. Odroid C2 with barrel plug power adapter, $65 with 4 day shipping in USA. do not use the micro USB cable to power, it is not good enough. I bought my unit and power cable from ameridroid.com.

3. high speed HDMI cable from monoprice.com, $5. certified to work with 4K 60hz 4:4:4 chroma

4. 32gb flash drive to hold photos, $15

5. 8gb microSD card, $4.

6. wireless usb and keyboard combo, $30. i use this one

7. optional usb wifi adapter, $10. i use this one

all prices subject to change! mine are actually even cheaper because i got them used or had them from years before for other projects.

Step 4: Time to Start Programming!

1. install ubuntu mate. download the image here: https://wiki.odroid.com/odroid-c2/os_images/ubunt...

2. burn your downloaded iso image onto the micro sd card using win32disk imager.

3. insert your microSD card into the odroid C2. connect hdmi cord from the c2 to the TV. turn everything on. make sure all the materials are connected to the odroid c2, you can skip connecting usb drive and usb wifi for now.

4. let ubuntu initialize and finish everything. once all done, it will ask you to login.

id= odroid

pw= odroid

5. enable auto login so you dont have to manually login each time. go to menu Applications/System Tools/Mate Terminal type in:

sudo nano /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf

if it asks for a password, type: odroid

type in the autologin line. so the final file should look like this:

[Seat:*] greeter-session=lightdm-gtk-greeter

autologin-user=odroid

now, press control x, to exit, type y to save file.

6. install FEH to view photos, in same terminal window, type:

sudo apt-get install feh

type y to confirm, if it asks.

7. my photos are edited to be 4K resolution at 3840 x 2160 pixels. put your photos into a usb drive and insert into the odroid c2.

8. use your mouse to navigate to this directory:
/home/odroid

9. right click to create Create Document/empty file. i named it pixx.sh (you name it whatever you want) open pixx.sh, add these codes in:

sleep 15

feh --quiet --fullscreen --borderless --hide-pointer --randomize --slideshow-delay 30 /media/odroid/38C1-602E/*

(your usb drive name will be different from mine! in my case, it's named "38C1-602E." to find your usb name, just navigate to media/odroid and you will see. change slideshow delay value of 30 seconds to whatever you want.)

save file.

close it.

right click on pixx.sh to view its properties. make it "executable" in one of the options.

10. add pixx.sh to autostart menu. go to menu System/Preferences/Personal/Startup Applications. click on Add. name= slideshow

command= (choose the pixx.sh file wherever you saved it)

comment= slideshow autostart click on Add and close.

11. disable screensaver. go to menu System/Control Center. choose Look and Feel, ScreenSaver.

disable the "activate screensaver" and anything else that would trigger idle mode. i forgot all the settings, but they are all here.

12. go back to the terminal window. type in:

sudo reboot

this will reboot the C2. once rebooted, it should auto login, wait for 15 seconds, and start playing photos from your usb drive. hit ESC on keyboard to exit FEH if you need. i leave mine running nonstop 24/7. i only turn off the TV as needed.

Step 5: Optional Stuff

13. add more photos to the usb flash drive by copying and pasting into the usb drive manually or via FTP. to upload via FTP, so you dont have to physically disconnect the usb drive, make sure you got the usb wifi adapter plugged in. go to the upper right hand corner of ubuntu menu and connect to your wifi network.

14. download filezilla. connect to the odroid via SFTP protocol, not FTP protocol.

enter your C2 IP address in host field

user= odroid

pw= odroid

logon type= normal

upload to your media/odroid/usb drive name

reboot the C2 for FEH to load the new photos into memory.

15. optional to rotate the display screen into portrait mode. go to terminal. type in:

sudo nano /etc/X11/xorg.conf

add in this line: Option "Rotate" "CCW"

so the end result looks like this:

Section "Device"

Identifier "Mali FBDEV"

Driver "fbturbo"

Option "fbdev" "/dev/fb0"

Option "Rotate" "CCW"

Option "SwapbuffersWait" "true"

EndSection

exit and save.

type in: sudo reboot

to reboot your TV. once loaded up again, the display should be rotated into portrait mode.

Step 6: Things to Do

1. install Home Assistant, for home automation. https://www.home-assistant.io/

i could not install it because it requires Python 3.5.3 or later. BUT i have version 3.6.x and it refuses to go further. very weird. could someone please help me with this?

2. install hdmi CEC on C2.

type in terminal: sudo apt-get install cec-utils

after CEC is installed, check CEC is working, type: echo scan | cec-client -s -d 1

it should start listing what type of TV the C2 is connected to.

3. enable HDMI CEC in HA. so once motion is detected, C2 will issue the CEC protocol to turn on the TV. once motion is not detected, C2 turns TV off via CEC.

Step 7: Troubleshooting

1. ubuntu rebooting itself. not enough power. dont power up the C2 unit via the micro usb port. power the C2 unit via the barrel plug that ameridroid.com sells for around $7. i spent at least 20 hours on troubleshooting this.

2. TV shows blank screen or no signal. try another HDMI cable. try another power cable for the C2.

3. TV shows so signal. did you turn off ubuntu sleep or screensaver mode?