Raspberry Pi powered e-paper display takes months to show a movie

We loved the filmic flair of Tom Whitwell‘s super slow e-paper display, which takes months to play a film in full.

Living art

His creation plays films at about two minutes of screen time per 24 hours, taking a little under three months for a 110-minute film. Psycho played in a corner of his dining room for two months. The infamous shower scene lasted a day and a half.

Tom enjoys the opportunity for close study of iconic filmmaking, but you might like this project for the living artwork angle. How cool would this be playing your favourite film onto a plain wall somewhere you can see it throughout the day?

The Raspberry Pi wearing its e-Paper HAT

Four simple steps

Luckily, this is a relatively simple project – no hardcore coding, no soldering required – with just four steps to follow if you’d like to recreate it:

  1. Get the Raspberry Pi working in headless mode without a monitor, so you can upload files and run code
  2. Connect to an e-paper display via an e-paper HAT (see above image; Tom is using this one) and install the driver code on the Raspberry Pi
  3. Use Tom’s code to extract frames from a movie file, resize and dither those frames, display them on the screen, and keep track of progress through the film
  4. Find some kind of frame to keep it all together (Tom went with a trusty IKEA number)
Living artwork: the Psycho shower scene playing alongside still artwork in Tom’s home

Affordably arty

The entire build cost £120 in total. Tom chose a 2GB Raspberry Pi 4 and a NOOBS 64gb SD Card, which he bought from Pimoroni, one of our approved resellers. NOOBS included almost all the libraries he needed for this project, which made life a lot easier.

His original post is a dream of a comprehensive walkthrough, including all the aforementioned code.

2001: A Space Odyssey would take months to play on Tom’s creation

Head to the comments section with your vote for the creepiest film to watch in ultra slow motion. I came over all peculiar imaging Jaws playing on my living room wall for months. Big bloody mouth opening slooooowly (pales), big bloody teeth clamping down slooooowly (heart palpitations). Yeah, not going to try that. Sorry Tom.

36 comments
Jump to the comment form

Ashley Whittaker

I would *love* this playing living art on the big blank wall in my lounge. We usually project films onto it but that old thing overheats all the time. The bulb is slowly dying too so we have constellations twinkling over the top of whatever we play. It’s cute though.

Reply to Ashley Whittaker

Avatar

Thanks for posting Ashley, but yes, this is definitely NOT my idea – it was 100% inspired by Bryan Boyer

Reply to Tom Whitwell

Ashley Whittaker

PS – with so many people at Raspberry Pi towers saying what a good idea this is, I’m reminded that Tom was inspired by Brian Boyer, who made something similar back in 2018: https://medium.com/s/story/very-slow-movie-player-499f76c48b62

Reply to Ashley Whittaker

Avatar

This is such a great idea. Can anyone thing of a reason why the Zero WH wouldn’t work for this project? Does it need that much processing?

Reply to Simon

Oliver Quinlan

+1 ! I wondered this. The 4 seems hi spec for this, it’s not like it needs to do anything quickly!

Reply to Oliver Quinlan

Avatar

Haven’t tried it with a Zero WH, will have a go

Reply to Tom Whitwell

Oliver Quinlan

Thanks Tom, let us know how it goes!

Reply to Oliver Quinlan

Avatar

I built this with a Pi zero and haven’t encountered any problems with it!

Reply to Tyler

Avatar

Oh, that’s great to hear – using this code? Mine comes later today, I think!

Reply to Tom Whitwell

Avatar

Yep, I pretty followed your Medium post word for word. Got it working with a Pi 3 Model B first. Then decided to swap it to a Zero to make a thinner 3d printed frame for it. I don’t even think I had to change anything, just swapped the SD card.

It’s been on my wall for a week and have had no issues with it. I have it updating every 5 minutes and I have it skip some frames every time. It’s currently 8 minutes into the movie Up and it looks great!

Reply to Tyler

Avatar

Nice project.
How about a normal speed mini movie player: https://www.raspberrypi.org/blog/raspberry-pi-retro-player/

Reply to Dan

Oliver Quinlan

This is so cool! Really keen to make one of these just for 2001 alone.

Reply to Oliver Quinlan

Avatar

I use ePaper in my professional life and this is an interesting take on a use for ePaper. I am curious as to what this would do to the life of the display, since ePaper has a basic lifespan defined by the number of updates it receives coupled with its age. A two hour movie at 24 frames a second is 172,800 screen changes. I wonder how many movies you can actually get before the ePaper starts showing signs of wear.

Reply to Watson Neal

Avatar

Anyone else think that the movie for this device has to be Memento?

Reply to Stuart Turner

Avatar

How about Baywatch series? ;-)

Reply to Marco van Wijngaarden

Avatar

Super cool! I’m looking at e-ink screens, and they are all pretty small. Anyone have advice on how to expand on this idea by splitting the movie across 4 e-ink screens (i.e., multiple monitors)?

Reply to Neill

Avatar

Poderia ter sido feito com um simples microcontrolador de 8bits.

Reply to Tadeu

Avatar

“28 Days Later”

Reply to Eric Hansen

Avatar

“9 1/2 Weeks”

Reply to Eric Hansen

Avatar
Avatar

“In Time”

Reply to Georg Bisseling

Avatar

Can you have a playlist of files run in sequence/loop? I’m definitely building one of these. Have around 600 movies on my Plex server, thinking I can compress a few down onto the SD card.

Reply to Dan I

Avatar

How about the entire MCU films in chronological order? That would take forever.

Reply to Ben Gilles

Avatar

I think this is a really interestig project, both for the use of the lovely e-paper technology and for the technique, but is there a reason not to just use an offline Pi or other computer to render all the frames of a film to individual images at an appropriate resolution and then put them on an SD card or USB storage, and just do a slideshow at whatever speed you want?

Reply to Ian

Avatar

I was thinking the same. I suppose giving the script access to an mp4 and letting it makes images as it goes along makes it easier to get working, but it gives less control. Making all the images in advance would not be difficult, would allow you to use something other than PIL (ImageMagick has more than one dithering method) and check results. And you could use a much lower capacity SD card in the Pi. If I make one of these, and I am seriously considering doing so, that’s the approach I’ll take. Also a Pi Zero. A Pi 4 is way over powered for this, especially if you make the images in advanced.

Reply to Alex

Avatar

Haha so what is that, like 1 frame per 24 seconds? This could be like holy water to use against the ultra-high FPS gang…

Reply to Ben Meroff

Avatar

Maybe not the best device to play a movie but I could see this idea being useful for some other applications.

Reply to Roen

Avatar

I think you have completely missed the point of the project.

Reply to Alex

Avatar

Nice Project. Can you make a video about it? I would Like to see how it shows

Reply to Arya

Avatar

And then play that video on the device…

Reply to mathom

Avatar

Definitely doing this with a 0W I have in a drawer and put Young Frankenstein on it.

Reply to Chris

Avatar

Take your coke and popcorn and then watch the video :-)
*lol*
Bernhard

Reply to Bernhard

Avatar

Try “Logistics” on this creation. It’ll last longer than the life of Earth!

Reply to Dominic Adams

Avatar

Have around 600 movies on my Plex server, thinking I can compress a few down onto the SD card.
IT Zone

Reply to M.anil

Avatar

Definitely doing this with a 0W I have in a drawer and put Young Frankenstein on it.
Nice Project. Can you make a video about it? I would Like to see how it shows

Reply to Allama iqbal poetry

Avatar

Neat! I would like to hook up an e-ink display to use as a reader maybe. I never considered it for the pi.

Reply to Brian Goldberg

Leave a Comment