You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Thomas Ballmann 5880ab4598 show devices specs under system 1 week ago
app show devices specs under system 1 week ago
assets weekday bugfix #20 1 year ago
data #54 fixed some todos 5 months ago
doc #54 optimize svg 5 months ago
include clean up code 1 month ago
lib use fixed colors for the wifi face 3 weeks ago
src #49 captive portal added 4 months ago
test Initial commit 1 year ago
.editorconfig editorconfig - use spaces for vue files 7 months ago
.gitignore update git ignore 8 months ago
.travis.yml Initial commit 1 year ago
LICENSE Add LICENSE 5 months ago #54 removed wrong link 5 months ago #40 make firmware data accessible - missing file 7 months ago
partitions_pd.csv code clean up and small improvements 1 year ago
platformio.ini fix deps and platform config 5 months ago

Software License Generic badge Generic badge Generic badge Generic badge

ForTheBadge built-with-love

Open Source E-Paper Display Platform

  • 🌍 Website - Learn more about
  • 📡 Discover - Find devices in your local network
  • 🛠 Case - 3D Model
  • 👍 Like us on Instagram

Face Calendar Face Picture APP


  • Make E-Paper displays accessible to all kind of developers
  • Easy and always update able
  • Usable also without developer background
  • Deliver the best user experience
  • Should work Out-of-the-box
  • Using standard parts to built



  • OTA update
  • JPEG decoder (some limitations)
  • PNG decoder (work in progress)
  • Out-of-the-box faces
    • Current weather condition and forecast ( api key requried)
    • Calendar view with random picture
    • Today view with fullscreen random picture
  • Wifi STA fallback if connection failed


  • ESP-32 optimized vue.js Web APP
  • Material Design Framework
  • First run setup wizard
  • Screen preview of epd
  • Basic PWA possibility

API examples

# Get device stats as json
$ curl http://paperdash-epd.local/stats

# Download current image display
$ curl http://paperdash-epd.local/api/device/screen > current.bmp

# Send an image to display
$ curl -F '=@data/faceToday.jpg;filename=dithering' http://paperdash-epd.local/api/device/screen

Getting started

Necessary parts to build the project

ESP-32 firmware

The whole architecture was inspired from the arduino concept with a setup() and loop() function. This is the reason why everything is broken down into separate modules below /lib. Each module has basically a setupXXX() and loopXXX() method.

Build (with PlatformIO)

$ pio run --environment esp32

# update esp
$ platformio run --target upload


Based on state of the art technologie Vue.js + Vuetify + Webpack


$ yarn --cwd app
$ yarn --cwd app build

# update esp
$ platformio run --target uploadfs

# alternative, create spiffs.bin
$ platformio run --target buildfs