# eInk Slow Movie Player

## Overview

https://youtu.be/b4nYOdbhpzQ

![](https://cdn-learn.adafruit.com/assets/assets/000/141/092/medium800thumb/raspberry_pi_steamboatdemo2.jpg?1762910316)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/007/medium800/raspberry_pi_IMG_9046.jpg?1762904687 Metropolis, 1927)

Create a beautiful, incredibly slow eInk movie player and luxuriate in the composition of each and every frame of your favorite movies. 24FPS? No way, let's play it back at 24 frames per _hour_ instead. Or, any timing and frame interval you like.

This project is a slight modification of Adafruit friend Tom Whitwell's [SlowMovie](https://github.com/TomWhitwell/SlowMovie) project (which in turn was inspired by [Bryan Boyer's "Creating a Very Slow Movie Player"](https://medium.com/s/story/very-slow-movie-player-499f76c48b62) essay).

This project uses the same basic code and design, adjusting it to work with the&nbsp;[Adafruit eInk Bonnet](https://www.adafruit.com/product/6418), a [7.5" Monochrome UC8179 eInk display](https://www.adafruit.com/product/6396), and the CircuitPython EPD library. All running on a Raspberry Pi using [FFmpeg](https://ffmpeg.org/) and PIL to do the heavy lifting.

As a demonstration, here's a timelapse of about 20 minutes to play the first two minutes of Steamboat Willie:

https://youtu.be/TgxL6pLsTXk

![](https://cdn-learn.adafruit.com/assets/assets/000/141/080/medium800/raspberry_pi_met_IMG_9048.jpg?1762904721 Metropolis)

## Parts
Featured
### Raspberry Pi 5 - 4 GB RAM

[Raspberry Pi 5 - 4 GB RAM](https://www.adafruit.com/product/5812)
The Raspberry Pi 5&nbsp;is the newest Raspberry Pi computer, and the Pi Foundation knows you can always make a good thing _better_! And what could make the Pi 5 better than the 4? How about a&nbsp;_faster_ processor, USB 3.0 ports, and an updated Gigabit Ethernet chip with PoE...

Out of Stock
[Buy Now](https://www.adafruit.com/product/5812)
[Related Guides to the Product](https://learn.adafruit.com/products/5812/guides)
![Angled shot of green Raspberry Pi 5 microcontroller.](https://cdn-shop.adafruit.com/640x480/5812-01.jpg)

Featured
### 7.5" 800x480 Monochrome eInk / ePaper - Bare Display

[7.5" 800x480 Monochrome eInk / ePaper - Bare Display](https://www.adafruit.com/product/6396)
[E-Ink/E-Paper displays](https://www.adafruit.com/search?q=E-Ink+%2F+E-Paper)&nbsp;make for great low-power displays that are daylight visible and keep their image even when depowered. For folks who want to DIY their own E-Ink setups,&nbsp;this is a **&nbsp;7.5"...**

Out of Stock
[Buy Now](https://www.adafruit.com/product/6396)
[Related Guides to the Product](https://learn.adafruit.com/products/6396/guides)
![Overhead shot of 3.7" electronic ink display with a black and white python and text: "Adafruit ThinkINK 7.5" Diagonal Monochrome 800x480 Pixels UC8197 Driver"](https://cdn-shop.adafruit.com/640x480/6396-06.jpg)

Featured
### Adafruit E-Ink Bonnet for Raspberry Pi - 24-pin E-Paper Displays

[Adafruit E-Ink Bonnet for Raspberry Pi - 24-pin E-Paper Displays](https://www.adafruit.com/product/6418)
Easy e-paper finally comes to Raspberry Pi, with this bonnet that's designed to make it a breeze to add any 'standard' pinout 24-pin flex-connector E-Ink display. This add-on handles all the extra components needed to make E-Paper interfacing easy for Pi and Pi-compatible boards....

In Stock
[Buy Now](https://www.adafruit.com/product/6418)
[Related Guides to the Product](https://learn.adafruit.com/products/6418/guides)
![Black, rectangle-shaped electronic ink driver add-on board powering a 7.5" tri-color electronic ink display in red, black, and white.](https://cdn-shop.adafruit.com/640x480/6418-00.jpg)

Featured
### 24-pin eInk / ePaper Extension Cable 0.5mm Pitch - 25cm Long

[24-pin eInk / ePaper Extension Cable 0.5mm Pitch - 25cm Long](https://www.adafruit.com/product/4230)
When you need more distance between you and your eInk display, use this 24-pin 0.5mm pitch FPC cable [with an extender](https://www.adafruit.com/product/4524) adapter to streeeeeeeeeetch it out. The cable is generic, but we recommend it for use with eInk because often folks want to...

In Stock
[Buy Now](https://www.adafruit.com/product/4230)
[Related Guides to the Product](https://learn.adafruit.com/products/4230/guides)
![24-pin eInk / ePaper Extension Cable connecting Featherwing to Tri-color display](https://cdn-shop.adafruit.com/640x480/4230-05.jpg)

Featured
### 24-pin 0.5mm FFC / FPC Extender

[24-pin 0.5mm FFC / FPC Extender](https://www.adafruit.com/product/4524)
This **24-pin FFC / FPC Extender** is very simple.&nbsp;It lets you connect two 24-pin 0.5mm pitch FFC (Flexible Flat Cable) / FPC (Flexible Printed Circuit) cables end-to-end and extend the length.&nbsp;For use with 0.3mm thick FPC cables.&nbsp;

**Note that pin 1 of...**

In Stock
[Buy Now](https://www.adafruit.com/product/4524)
[Related Guides to the Product](https://learn.adafruit.com/products/4524/guides)
![24-pin 0.5mm flex cable Extender](https://cdn-shop.adafruit.com/640x480/4524-03.jpg)

Featured
### Official Raspberry Pi 27W PD Power Supply 5.1V 5A with USB C

[Official Raspberry Pi 27W PD Power Supply 5.1V 5A with USB C](https://www.adafruit.com/product/5814)
The official Raspberry Pi PD USB-C power supply is here! Superfast with just the right amount of cable length to get your Pi 5 projects up and running! With true Power Delivery support, this supply can easily supply 5 A of current!

Comes in gothy Adafruit Black! Great for use with Pi 4...

In Stock
[Buy Now](https://www.adafruit.com/product/5814)
[Related Guides to the Product](https://learn.adafruit.com/products/5814/guides)
![Angled shot of black, square-shaped power supply block with a coiled black cable.](https://cdn-shop.adafruit.com/640x480/5814-02.jpg)

Featured
### Right Angle USB Type C Adapter - USB 3.1 Gen 4 Compatible

[Right Angle USB Type C Adapter - USB 3.1 Gen 4 Compatible](https://www.adafruit.com/product/4432)
As technology changes and adapts, so does Adafruit, and speaking of _adapting_, this **_right angle_** &nbsp;_ **adapter** _&nbsp;is USB C socket-to-plug.

USB C is the latest industry-standard connector for transmitting...

In Stock
[Buy Now](https://www.adafruit.com/product/4432)
[Related Guides to the Product](https://learn.adafruit.com/products/4432/guides)
![Angled Shot of the Right Angle USB Type C Adapter - USB 3.1 Gen 4 Compatible.](https://cdn-shop.adafruit.com/640x480/4432-07.jpg)

Featured
### Official Raspberry Pi A2-Class microSD Card - 64GB Blank

[Official Raspberry Pi A2-Class microSD Card - 64GB Blank](https://www.adafruit.com/product/6011)
Optimise data transfer speeds on your Raspberry Pi computer with an official Raspberry Pi **64GB** microSD card. Rigorously tested to ensure optimal performance on Raspberry Pi computers, these Class A2 microSD cards help ensure you get the smoothest user experience from your...

Out of Stock
[Buy Now](https://www.adafruit.com/product/6011)
[Related Guides to the Product](https://learn.adafruit.com/products/6011/guides)
![Angled shot of black microSD card.](https://cdn-shop.adafruit.com/640x480/6011-00.jpg)

Featured
### High Temperature Polyimide Tape - 1cm wide x 33 meter roll

[High Temperature Polyimide Tape - 1cm wide x 33 meter roll](https://www.adafruit.com/product/3057)
 **Polyimide Tape** (sometimes referred to by the brand name **Kapton Tape** ) is an interesting addition to your toolbox! Polyimide Tape remains stable across a wide range of temperatures&nbsp;from about −269°C to +400°C.&nbsp;Along with aircraft,...

In Stock
[Buy Now](https://www.adafruit.com/product/3057)
[Related Guides to the Product](https://learn.adafruit.com/products/3057/guides)
![High Temperature Polyimide Tape - 1cm wide](https://cdn-shop.adafruit.com/640x480/3057-01.jpg)

## M2, M2.5, M3 Screws

If you 3D print the case [these screws](https://www.amazon.com/dp/B07HC3LQYS?th=1) work well for fastening the parts together.

- 5x M2.5 x 6mm screws
- 4x M2.5 x 4mm screws
- 4x M2 x 5mm screws

![](https://cdn-learn.adafruit.com/assets/assets/000/141/078/medium640/raspberry_pi_81qqoUx9d5L._SL1500_.jpg?1762890067)

Featured
### STEMMA Wired Tactile Push-Button Pack - 5 Color Pack

[STEMMA Wired Tactile Push-Button Pack - 5 Color Pack](https://www.adafruit.com/product/4431)
Little clicky switches are standard input "buttons" on electronic projects. These are just like our&nbsp;[Colorful Round Tactile Button Switch Assortment](https://www.adafruit.com/product/1009), but already assembled onto a PCB - they even have a pull-up resistor...

In Stock
[Buy Now](https://www.adafruit.com/product/4431)
[Related Guides to the Product](https://learn.adafruit.com/products/4431/guides)
![STEMMA Wired Tactile Push-Buttons connected to a half sized white breadboard](https://cdn-shop.adafruit.com/640x480/4431-03.jpg)

Featured
### JST PH 2mm 3-pin Plug-Plug Cable - 100mm long

[JST PH 2mm 3-pin Plug-Plug Cable - 100mm long](https://www.adafruit.com/product/4336)
This cable is a little over 100mm / 4" long&nbsp;and fitted with JST-PH 3-pin connectors on either end.&nbsp;

We dig the solid and compact nature of these connectors and the latch that keeps the cable from coming apart easily. We're carrying these to <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/4336)
[Related Guides to the Product](https://learn.adafruit.com/products/4336/guides)
![Angled shot of JST PH 3-pin Plug-Plug Cable - 100mm long.](https://cdn-shop.adafruit.com/640x480/4336-01.jpg)

# eInk Slow Movie Player

## Raspberry Pi Setup

First, follow [these instructions](https://www.raspberrypi.com/documentation/computers/getting-started.html#installing-the-operating-system) for setting up your Raspberry Pi. In a nutshell:

- [Download](https://www.raspberrypi.com/software/) Raspberry Pi imager&nbsp;
- Insert SD card in your computer
- Pick device (Pi 4 or Pi 5 are good choice)
- Raspberry Pi OS (other) \> Raspberry Pi OS Lite (64-bit) which is Debian Trixie with no desktop environment
- From Customizations General:
  - Set hostname: `slomovpi`
  - username: `admin`
  - password: pick your own
  - WiFi credentials: enter your access point SSID and password
  - Set locale settings for your time zone and keyboard layout

- From Customizations Services:
  - Enable SSH with password authentication

- Chose your SD card from the storage options
- Write to the SD card

![](https://cdn-learn.adafruit.com/assets/assets/000/141/085/medium640/raspberry_pi_choose-model.png?1762906788)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/086/medium640/raspberry_pi_choose-os.png?1762906802)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/089/medium640/raspberry_pi_os-customisation-prompt.png?1762906944)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/090/medium640/raspberry_pi_os-customisation-services.png?1762906958)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/102/medium640/raspberry_pi_Screenshot_2025-11-12_at_9.33.41%E2%80%AFAM.jpg?1762969098)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/103/medium640/raspberry_pi_Screenshot_2025-11-12_at_9.35.13%E2%80%AFAM.jpg?1762969113)

## eInk Bonnet Setup

Before assembling the full frame, it's good to connect the eInk display to the eInk Bonnet, plug that into the Raspberry Pi, and get the fundamentals working.

First, plug the Bonnet onto the Raspberry Pi's 2x20 pin connector as shown.

Then, plug the eInk display's ribbon cable into the Bonnet as&nbsp;[shown here](https://learn.adafruit.com/bare-e-ink-displays-crash-course/hardware-setup).

![](https://cdn-learn.adafruit.com/assets/assets/000/141/093/medium640/raspberry_pi_IMG_9169.jpg?1762910399)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/094/medium640/raspberry_pi_IMG_9170.jpg?1762910415)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/096/medium640/raspberry_pi_IMG_9172b.jpg?1762910917)

## Raspberry Pi Settings

Now, plug in your USB C power cable to power up the Pi. The non-desktop version of the OS boots up quickly. You'll **ssh** into it from another computer next.

On your computer, open a terminal and type `ssh admin@slomovpi.local` then enter the password you set up during SD card configuration. [More info here on using SSH](https://learn.adafruit.com/adafruits-raspberry-pi-lesson-6-using-ssh).

### Update the Pi

Enter the following to update the Pi and install `pip`:

```auto
sudo rpi-update
sudo apt update
sudo apt upgrade
sudo apt-get install python3-pip
sudo reboot
```

### Enable SPI

Run raspi-config by typing&nbsp;`sudo raspi-config`.

Go to Interface Options and turn on SPI if it isn't already enabled.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/097/medium640/raspberry_pi_Screenshot_2025-11-11_at_6.25.08%E2%80%AFPM.jpg?1762914361)

Next, set up a virtual environment for eInk by following [this guide](https://learn.adafruit.com/adafruit-e-ink-bonnet-for-raspberry-pi/python-setup).

You'll need to [install Blinka](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi) to use the CircuitPython library for the display. In the section on re-assigning the chip enable pins, use pins `23` and `24`: `sudo -E env PATH=$PATH python3 raspi-spi-reassign.py --ce0=23 --ce1=24`

This way, you can choose to use GPIO `5` & `6` later for the buttons built onto the eInk Bonnet.&nbsp;

Once it is all installed and ready, test the display with&nbsp;[this script](https://learn.adafruit.com/bare-e-ink-displays-crash-course/7-5-800x480-monochrome-eink-uc8179#pillow-graphics-demo-3208911).

![](https://cdn-learn.adafruit.com/assets/assets/000/141/098/medium640/raspberry_pi_Screenshot_2025-11-11_at_6.58.26%E2%80%AFPM.jpg?1762916334)

## ffmpeg

The Slow Movie Player uses ffmpeg to open movie files. Install it and ffmpeg-python in the virtual environment with these commands:

```auto
source env/bin/activate
sudo apt install ffmpeg
pip3 install ffmpeg-python
pip3 install ConfigArgParse
```

### Video Directory

In the home directory create a Video directory where you can put the movie files you want played.

`mkdir ~/Videos`

Use a file transfer tool such as Filezilla to copy your movie files to the Videos directory you just made. A good sample file is [this one from the SlowMovie repo](https://github.com/TomWhitwell/SlowMovie/blob/main/Videos/test.mp4).

Pink: There are many ways to transfer files to the Raspberry Pi, check out this [ guide](https://www.raspberrypi.com/documentation/computers/remote-access.html) for detailed information.

## Slowmovie Script

Copy the code below and save it to your Raspberry Pi's home directory as `slowmovie_adafruit.py`

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Slow_Movie_Player/slowmovie_adafruit.py

## Test Run

Now you can give the script a try! Make sure you're in your venv and then type this:

`sudo -E env PATH=$PATH python3 slowmovie_adafruit.py`

![](https://cdn-learn.adafruit.com/assets/assets/000/141/099/medium800/raspberry_pi_Screenshot_2025-11-11_at_7.46.59%E2%80%AFPM.jpg?1762919234)

You can add flags to the command, such as start frame, increment, delay, filename, and contrast level. Here's an example:

`sudo -E env PATH=$PATH python3 slowmovie_adafruit.py -s 1728 -i 24 -d 45 -c 3.5`

This means:

- `--start frame` = 1728
- `--increment` = 24 frames
- `--delay` = 45 seconds
- `--contrast` = 3.5

![](https://cdn-learn.adafruit.com/assets/assets/000/141/100/medium800/raspberry_pi_IMG_9173.jpg?1762919485)

Here is the full set of options:

```auto
usage: slowmovie.py [-h] [-f FILE] [-D DIRECTORY] [-l] [-R]
                    [-o {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [-r] [-d DELAY]
                    [-i INCREMENT] [-s START] [-F] [-S | -t] [-e EPD]
                    [-c CONTRAST] [-C]

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  video file to start playing; otherwise play the first
                        file in the videos directory
  -D DIRECTORY, --directory DIRECTORY
                        directory containing available videos to play
                        (default: Videos)
  -l, --loop            loop a single video; otherwise play through the files
                        in the videos directory
  -R, --random-file     play files in a random order; otherwise play them in
                        directory order
  -o {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}
                        minimum importance-level of messages displayed and
                        saved to the logfile (default: INFO)

Frame Update Args:
  arguments that control frame updates and display

  -r, --random-frames   choose a random frame every refresh
  -d DELAY, --delay DELAY
                        delay in seconds between screen updates (default: 120)
  -i INCREMENT, --increment INCREMENT
                        advance INCREMENT frames each refresh (default: 4)
  -s START, --start START
                        start playing at a specific frame
  -F, --fullscreen      expand image to fill display
  -S, --subtitles       display SRT subtitles
  -t, --timecode        display video timecode

EPD Args:
  arguments to select and modify the e-Ink display

  -e EPD, --epd EPD     the name of the display device driver to use
  -c CONTRAST, --contrast CONTRAST
                        adjust image contrast (default: 1.0)
  -C, --clear           clear display on exit

Args that start with '--' (eg. -f) can also be set in a config file
(slowmovie.conf). Config file syntax allows: key=value, flag=true,
stuff=[a,b,c] (for details, see syntax at https://goo.gl/R74nmi). If an arg is
specified in more than one place, then commandline values override config file
values which override defaults.
```

# eInk Slow Movie Player

## 3D Printed Frame

![](https://cdn-learn.adafruit.com/assets/assets/000/141/130/medium800/raspberry_pi_Screenshot_2025-11-12_at_2.26.17%E2%80%AFPM.jpg?1762986462)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/131/medium800/raspberry_pi_Screenshot_2025-11-12_at_2.26.34%E2%80%AFPM.jpg?1762986472)

You can print this 7.5" eInk display frame your for Raspberry Pi in order to show off your Slow Movie Player to best effect.

This frame was designed by Pedro Ruiz with some small modifications by John Park.

3MF files for 3D printing are oriented and ready to print on FDM machines using PLA filament. Use a black colored filament and smooth build plate for a nice flat look.

[Slow_Movie_Player frame 3MF](https://cdn-learn.adafruit.com/assets/assets/000/140/954/original/Slow_Movie_Player.3mf.zip?1762375929)
[Slow_Movie_Player STLs](https://cdn-learn.adafruit.com/assets/assets/000/140/956/original/Slow_Movie_Player_STLs.zip?1762376052)
Info: The dropdown on the Fusion 360 site allows you to pick your preferred 3D file format like STEP, STL, etc

[Edit Desktop Case](https://a360.co/43EoS7c)
You can choose to print the low- or high-angle stand depending on how you wish to display the player. The low-angle stand is great for desktop use, while the high-angle stand is perfect for shelves and bookcases.

![](https://cdn-learn.adafruit.com/assets/assets/000/140/955/medium800/raspberry_pi_plate.jpg?1762375964)

# eInk Slow Movie Player

## Assembly

Time to assemble!

Note: since eInk displays don't require power to maintain their image, you'll notice a frame is still displayed here during assembly.

## Insert Display Into Frame

First, insert the eInk display into the frame as shown, with the the thicker edge of the frame at the bottom.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/009/medium640/raspberry_pi_slowink-9135.jpg?1762746757)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/010/medium640/raspberry_pi_slowink-9137.jpg?1762746786)

## eInk Cable Extension

Add the eInk cable extension coupler to the display ribbon on one end and the extended cable on the other.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/011/medium640/raspberry_pi_slowink-9134.jpg?1762746803)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/012/medium640/raspberry_pi_slowink-9133.jpg?1762746821)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/013/medium640/raspberry_pi_slowink-9132.jpg?1762746834)

## Tape It

You can optionally use some polyamide tape to secure the cable to the back of the display.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/014/medium640/raspberry_pi_slowink-9131.jpg?1762746856)

## Connect Cable to Bonnet

Insert the other end of the long ribbon cable to the eInk Bonnet

![](https://cdn-learn.adafruit.com/assets/assets/000/141/015/medium640/raspberry_pi_slowink-9130.jpg?1762746876)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/016/medium640/raspberry_pi_slowink-9129.jpg?1762746883)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/017/medium640/raspberry_pi_slowink-9128.jpg?1762746905)

You'll now have plenty of slack to assemble the Bonnet and Pi.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/018/medium640/raspberry_pi_slowink-9126.jpg?1762746960)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/019/medium640/raspberry_pi_slowink-9127.jpg?1762746970)

## Attach Pi to Bracket

Use the four M2.5 x 4mm screws to affix the Raspberry Pi to the bracket.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/020/medium640/raspberry_pi_slowink-9125.jpg?1762746989)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/021/medium640/raspberry_pi_slowink-9124.jpg?1762746996)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/022/medium640/raspberry_pi_slowink-9123.jpg?1762747004)

## Connect Bonnet to Pi

Press the Bonnet onto the Pi, being sure to carefully align the 2 x 20 pin connector.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/023/medium640/raspberry_pi_slowink-9120.jpg?1762747038)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/024/medium640/raspberry_pi_slowink-9119.jpg?1762747051)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/025/medium800/raspberry_pi_slowink-9117.jpg?1762747077)

Set the frame back over the Raspberry Pi and bracket as shown, being careful not to pinch the cable.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/038/medium800/raspberry_pi_slowink-9116.jpg?1762747126)

## Connect Back to Frame through Bracket

Carefully align the sandwich and fasten with the five M2.5 x 6mm screws.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/026/medium640/raspberry_pi_slowink-9115.jpg?1762747091)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/045/medium640/raspberry_pi_slowink-9114.jpg?1762747141)

## Add Pi Cover

Place the back cover over the Pi and fasten with four M2 x 5mm screws.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/046/medium640/raspberry_pi_slowink-9113.jpg?1762747161)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/047/medium640/raspberry_pi_slowink-9112.jpg?1762747169)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/048/medium640/raspberry_pi_slowink-9109.jpg?1762747179)

## Power

Plug in the right angle USB C adapter and power cable.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/049/medium640/raspberry_pi_slowink-9108.jpg?1762747199)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/050/medium640/raspberry_pi_slowink-9107.jpg?1762747206)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/051/medium640/raspberry_pi_slowink-9106.jpg?1762747214)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/059/medium800/raspberry_pi_slowink-9105.jpg?1762747244)

## Frame Stands

Pick the low or high angle stand -- low angle is great for desk use, high angle is good for bookshelves -- and then set the frame on it.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/060/medium640/raspberry_pi_slowink-9102.jpg?1762747273)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/061/medium640/raspberry_pi_slowink-9101.jpg?1762747281)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/062/medium640/raspberry_pi_slowink-9099.jpg?1762747293)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/067/medium800/raspberry_pi_slowink-9091.jpg?1762747351)

# eInk Slow Movie Player

## Movie Prep

Films shot in black & white look great on the eInk display. Since this guy entered the public domain, Steamboat Willie is a natural choice. I [downloaded the webm file here](https://commons.wikimedia.org/wiki/File:Steamboat_Willie_(1928)_by_Walt_Disney.webm) from Wikimedia. You can then process the file with a video editor or online converter to go from WebM to MP4, which is a good file format for ffmpeg to play back.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/075/medium640/raspberry_pi_sbw.jpg?1762888851)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/076/medium640/raspberry_pi_sbw2.jpg?1762888868)

## Contrast

The Slow Movie player scripts grab a single frame at a time from the movie file and applies dithering to work on the 1-bit eInk display. I've found that some low-contrast images don't dither well with default settings. You can boost the contrast in the **adafruit\_slowmovie.py** command arguments with `-c 4.5` for example.

This should generally do the trick, however you may also choose to do a pass of image adjustments or exposure/gamma correction in a video editor as I did here with Steamboat Willie.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/077/medium800/raspberry_pi_cc_comp.jpg?1762966384 Before and after adjustment for contrast)

## Dithering

The default dithering used to make the 1-bit eInk display appear to show shaded grayscale images is a Floyd-Steinberg algorithm. [This guide](https://learn.adafruit.com/preparing-graphics-for-e-ink-displays) has much more info on dithering for eInk displays. You could potentially pre-process your images for a specific look by pre-dithering the movie files and then disabling dithering in the **adafruit\_slowmovie.py** script.

# eInk Slow Movie Player

## Run on Startup

![](https://cdn-learn.adafruit.com/assets/assets/000/141/101/medium800/raspberry_pi_IMG_9175.jpg?1762926234)

You can set the SlowMovie script to run on startup automatically as a service. This way there's no need to ssh into it and start it up if the Pi ever reboots or is unplugged and replugged.

First, create a slowmovie service file in the nano text editor:

`sudo nano /etc/systemd/system/slowmovie.service`

Copy this text into the file:

```auto
[Unit]
Description=SlowMovie E-Ink Display
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/home/admin
ExecStart=/home/admin/env/bin/python3 /home/admin/slowmovie_adafruit.py -i 96 -d 30 -c 4
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
```

## Enable and Start the service

Now that you've created the servie it needs to be reloaded to be recognized, and then enabled to start on boot.

```auto
# Reload systemd to recognize the new service
sudo systemctl daemon-reload

# Enable it to start on boot
sudo systemctl enable slowmovie.service
```

Now, any time you reboot or start the system, SlowMovie will play.

If you need to manually start or stop the service, or check its status, use these commands:

```auto
# Start it now (to test)
sudo systemctl start slowmovie.service

# Stop it now
sudo systemctl stop slowmovie.service

# Check status
sudo systemctl status slowmovie.service
```

# eInk Slow Movie Player

## Add a Shutdown Button

## Add a physical hardware button to safely shutdown the Pi

The lid vents are compatible with STEMMA boards.

A STEMMA Wired Tactile Push-Button mounts with M2.5x6mm screws and nuts.

JST PH 2mm 3-pin Plug-Plug Cable fits through the vents and plugs into the port on the e-Ink bonnet.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/181/medium640/raspberry_pi_button-mounted.jpg?1763479292)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/182/medium640/raspberry_pi_button-port.jpg?1763479343)

ssh into the Pi and edit the config text to add the hardware button&nbsp;

```auto
sudo nano /boot/firmware/config.txt
```

Scroll to the bottom and add the following code to enable the button.&nbsp;

```auto
dtoverlay=gpio-shutdown,gpio_pin=12,active_low=1,gpio_pull=up,debounce=10>
```


## Guide Products

### Raspberry Pi 5 - 4 GB RAM

[Raspberry Pi 5 - 4 GB RAM](https://www.adafruit.com/product/5812)
The Raspberry Pi 5&nbsp;is the newest Raspberry Pi computer, and the Pi Foundation knows you can always make a good thing _better_! And what could make the Pi 5 better than the 4? How about a&nbsp;_faster_ processor, USB 3.0 ports, and an updated Gigabit Ethernet chip with PoE...

Out of Stock
[Buy Now](https://www.adafruit.com/product/5812)
[Related Guides to the Product](https://learn.adafruit.com/products/5812/guides)
### 7.5" 800x480 Monochrome eInk / ePaper - Bare Display

[7.5" 800x480 Monochrome eInk / ePaper - Bare Display](https://www.adafruit.com/product/6396)
[E-Ink/E-Paper displays](https://www.adafruit.com/search?q=E-Ink+%2F+E-Paper)&nbsp;make for great low-power displays that are daylight visible and keep their image even when depowered. For folks who want to DIY their own E-Ink setups,&nbsp;this is a **&nbsp;7.5"...**

Out of Stock
[Buy Now](https://www.adafruit.com/product/6396)
[Related Guides to the Product](https://learn.adafruit.com/products/6396/guides)
### Adafruit E-Ink Bonnet for Raspberry Pi - 24-pin E-Paper Displays

[Adafruit E-Ink Bonnet for Raspberry Pi - 24-pin E-Paper Displays](https://www.adafruit.com/product/6418)
Easy e-paper finally comes to Raspberry Pi, with this bonnet that's designed to make it a breeze to add any 'standard' pinout 24-pin flex-connector E-Ink display. This add-on handles all the extra components needed to make E-Paper interfacing easy for Pi and Pi-compatible boards....

In Stock
[Buy Now](https://www.adafruit.com/product/6418)
[Related Guides to the Product](https://learn.adafruit.com/products/6418/guides)
### 24-pin eInk / ePaper Extension Cable 0.5mm Pitch - 25cm Long

[24-pin eInk / ePaper Extension Cable 0.5mm Pitch - 25cm Long](https://www.adafruit.com/product/4230)
When you need more distance between you and your eInk display, use this 24-pin 0.5mm pitch FPC cable [with an extender](https://www.adafruit.com/product/4524) adapter to streeeeeeeeeetch it out. The cable is generic, but we recommend it for use with eInk because often folks want to...

In Stock
[Buy Now](https://www.adafruit.com/product/4230)
[Related Guides to the Product](https://learn.adafruit.com/products/4230/guides)
### 24-pin 0.5mm FFC / FPC Extender

[24-pin 0.5mm FFC / FPC Extender](https://www.adafruit.com/product/4524)
This **24-pin FFC / FPC Extender** is very simple.&nbsp;It lets you connect two 24-pin 0.5mm pitch FFC (Flexible Flat Cable) / FPC (Flexible Printed Circuit) cables end-to-end and extend the length.&nbsp;For use with 0.3mm thick FPC cables.&nbsp;

**Note that pin 1 of...**

In Stock
[Buy Now](https://www.adafruit.com/product/4524)
[Related Guides to the Product](https://learn.adafruit.com/products/4524/guides)
### Official Raspberry Pi 27W PD Power Supply 5.1V 5A with USB C

[Official Raspberry Pi 27W PD Power Supply 5.1V 5A with USB C](https://www.adafruit.com/product/5814)
The official Raspberry Pi PD USB-C power supply is here! Superfast with just the right amount of cable length to get your Pi 5 projects up and running! With true Power Delivery support, this supply can easily supply 5 A of current!

Comes in gothy Adafruit Black! Great for use with Pi 4...

In Stock
[Buy Now](https://www.adafruit.com/product/5814)
[Related Guides to the Product](https://learn.adafruit.com/products/5814/guides)
### Right Angle USB Type C Adapter - USB 3.1 Gen 4 Compatible

[Right Angle USB Type C Adapter - USB 3.1 Gen 4 Compatible](https://www.adafruit.com/product/4432)
As technology changes and adapts, so does Adafruit, and speaking of _adapting_, this **_right angle_** &nbsp;_ **adapter** _&nbsp;is USB C socket-to-plug.

USB C is the latest industry-standard connector for transmitting...

In Stock
[Buy Now](https://www.adafruit.com/product/4432)
[Related Guides to the Product](https://learn.adafruit.com/products/4432/guides)
### Official Raspberry Pi A2-Class microSD Card - 64GB Blank

[Official Raspberry Pi A2-Class microSD Card - 64GB Blank](https://www.adafruit.com/product/6011)
Optimise data transfer speeds on your Raspberry Pi computer with an official Raspberry Pi **64GB** microSD card. Rigorously tested to ensure optimal performance on Raspberry Pi computers, these Class A2 microSD cards help ensure you get the smoothest user experience from your...

Out of Stock
[Buy Now](https://www.adafruit.com/product/6011)
[Related Guides to the Product](https://learn.adafruit.com/products/6011/guides)

## Related Guides

- [Adafruit E-Ink Bonnet for Raspberry Pi](https://learn.adafruit.com/adafruit-e-ink-bonnet-for-raspberry-pi.md)
- [Bare E-Ink Displays Crash Course](https://learn.adafruit.com/bare-e-ink-displays-crash-course.md)
- [Toddler Timer](https://learn.adafruit.com/toddler-timer.md)
- [Wireless ESP32-S2 Touch Screen Controller for Pure Data](https://learn.adafruit.com/wireless-esp32-s2-controller-for-pure-data.md)
- [RGB Matrix Dreidel Game](https://learn.adafruit.com/rgb-matrix-dreidel-game.md)
- [Piranha Pi Camera](https://learn.adafruit.com/piranha-pi-cam.md)
- [Raspberry Pi 5 3D Printed Case](https://learn.adafruit.com/pi-5-case.md)
- [iNTERCEPT + SDR for Signal Monitoring on Raspberry Pi](https://learn.adafruit.com/intercept-and-sdr-for-monitoring-signals-on-raspberry-pi.md)
- [QT Py Lego](https://learn.adafruit.com/qt-py-lego.md)
- [OpenClaw on Raspberry Pi](https://learn.adafruit.com/openclaw-on-raspberry-pi.md)
- [Use Blinka in Ubuntu Core on Raspberry Pi](https://learn.adafruit.com/use-blinka-with-ubuntu-core-on-raspberry-pi.md)
- [Adafruit Feather RP2040 ThinkInk](https://learn.adafruit.com/adafruit-rp2040-feather-thinkink.md)
- [No-Code Pool Party Notifier](https://learn.adafruit.com/pool-party-notification-device.md)
- [Raspberry Pi Video Looper 2](https://learn.adafruit.com/raspberry-pi-video-looper-2.md)
- [Pico Four Keypad](https://learn.adafruit.com/pico-four-key-macropad.md)
- [Local Models for Translation, Speech, & Wardrobe on Pi 5](https://learn.adafruit.com/local-models-for-translation-speech-wardrobe-on-pi-5.md)
- [Theme Park Wait Time Display](https://learn.adafruit.com/park-wait-time.md)
