The Holiday Special

Enter Your Project for a chance to win $100 Shopping Carts, Gifts to Give, and a  3D Printer!

Back to The Project14 homepage

Project14 Home
Monthly Themes
Monthly Theme Poll


Raspberry Pi Perpetual Yule Log demo. I address the video transition glitches in the writeup below. Otherwise, I got to say... for a drop-and-forget yule log video player, it's pretty useful.




Who doesn’t like a fireplace? Who doesn’t like the Yule Log?

....also... who else doesn't have either?


Nothing is more comfy than a fireplace-fire during those quiet holiday moments. This project brings that to you - thanks to our good friend, the Raspberry Pi.


We’ve all seen “Yule Log” videos. I think they have been around since the days of VHS. The Pi plays those videos. They are the next best thing to having an actual fire.

However, this isn’t just a glorified video player, I took it a little further. Here were my design requirements:

  1. I didn’t want the Yule Log fun to end, but I also do not want to play the same video on repeat. I want to play a collection of videos – one after another – no repeats!
  2. I want the video playback system to be quiet. No PC fan sounds, discs spinning, etc.
  3. Portability is absolutely key… for strategically adding fireplaces where need be.
  4. And I need a way to cycle through videos if, for some reason, I don’t like the one playing.


The project by sections:


This project is about as straightforward as Pi projects can get. All you need is a Raspberry Pi, technically. There is no hardware you need to build.

However, in my version I added a few things outside the typical Raspberry Pi setup.

  1. I used the same wireless HDMI design I used in my “PiBall” project. This way, I didn’t have to run any video cable from the Pi to the Screen. I could have my Pi over 60 feet away from the screen! Let’s say all the plugs are used at the TV, put the Pi somewhere else!
  2. I had a 16GB SD Card in the Pi. This was mainly so I could hold all the Yule Log videos.
  3. I also used a wireless keyboard and mouse. But, this is pretty typical.




1x Raspberry Pi 3

1x Wireless HDMI from Nyrius “ARIES Pro”

1x Wireless keyboard and mouse adapter


Schematic and design:


NONE! Just connect the Pi to a screen.


It is this simple. The complexity comes in the code.


HOW it functions:


It plays the yule log videos.

Press "S" to advance to the next video.

Press "A" to go to the previous video




A little setup is necessary.


The program and videos you want to play have to be located in the /home/pi directory (folder).


Write at pi command line or via SSH. This setup is used to display a background PNG file inbetween videos, so you don't see the desktop or the command line text:

    chmod 755 pngview


So you know, the full code is attached to this post. I use pygame and omxplayer to handle it all. Take a look at the code if you are curious how it's done.



How to add autostart to this program so it load immediately after the Pi boots:


Edit the file /home/pi/.config/lxsession/LXDE-pi/autostart

              sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart


remove line @xscreensaver -no-splash


Add these lines to bottom:

  cd /home/pi



Save the file. The next time you boot it up, it will start immediately.



Suggestions on the build:


- Personally, I’d just keep the Raspberry Pi somewhere within wireless HMDI range. But, if you don’t want to fork over the money for such a device, then buy a lengthy HDMI cable.

- The Pi 3 does get a little warm. If you have access to some heatsinks for it, then by all means use it. Otherwise, be aware of a potential heat hazard.


Other uses of the system:


- You could play the Yule Log, of course. But, any holiday related video would work. Holiday classics, family video.

- This could also be used in advertisement scenarios. A solid-state solution to repeating ads.


Oddities and observations:


The wireless HDMI brought its own problems. I experienced a graphical glitch in between videos. I found it was most prevalent with the wireless adapter.


If I had more money/time:


- Loading the next or previous video had a delay I didn’t care for. I would like to speed up this process. Perhaps preloading?