ePaper Dashboard POC

I was a bit bored after work and decided to mess with a ePaper Display I purchased a while back ago to try to create a basic dashboard. This is a complete hack but it shows some of the potential uses of this display. I posted a few photos of my dashboard on Facebook and several people asked for the code and instructions to build their own. This is a quick write up, not a planned article so please dont expect much proof-reading to happen.

Method : There are ways to draw directly to the display with c or python but I wanted to keep it simple. This method uses bach/imagemagick to draw a BMP file that is then sent over to the ePaper display via a python script. This is not the fastest or best method to accomplish this but there are advantages to this method. Please feel free to fork the code and make it your own.

Materials

You will need the following

Initial Setup

  1. Install Raspbian Headless on your Raspberry Pi
  2. Run “raspi-config and enable “spi” and reboot
  3. Install the following packages “sudo apt-get install -y python3-pip git wget curl jq bc python3-pil imagemagick”
  4. Install the following python packages “pip3 install RPi.GPIO spidev”
  5. Install the bcrm2835 drivers
       wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz
       tar zxvf bcm2835-1.60.tar.gz 
       cd bcm2835-1.60/
       sudo ./configure
       sudo make
       sudo make checksudo make install
       sudo make check
       sudo make install
  6. Install Wiring Pi
       wget https://project-downloads.drogon.net/wiringpi-latest.deb
       sudo dpkg -i wiringpi-latest.deb
       gpio -v
  7. Install Sample Dashboard
    git clone https://github.com/KeithIMyers/ePaperPOC
    cd ePaperPOC/dash

You can now run the POC by running ./update-display

Unraid Users

In order to get disk use from your Unraid Server, you will need to setup SSH key authentication so the Pi can access a shell

ssh-keygen (Accept all defaults, do not use a password)
ssh-copy-id root@unraid-IP

Leave a Comment

%d bloggers like this: