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 660a95d6c1
made with vue badge added
1 month ago
app show devices specs under system 4 months ago
assets weekday bugfix #20 1 year ago
data #54 fixed some todos 9 months ago
doc #54 optimize svg 9 months ago
include clean up code 5 months ago
lib use fixed colors for the wifi face 5 months ago
src #49 captive portal added 8 months ago
test Initial commit 1 year ago
.editorconfig editorconfig - use spaces for vue files 11 months ago
.gitignore update git ignore 1 year ago
.travis.yml Initial commit 1 year ago
LICENSE Add LICENSE 9 months ago made with vue badge added 1 month ago #40 make firmware data accessible - missing file 11 months ago
partitions_pd.csv code clean up and small improvements 1 year ago
platformio.ini fix deps and platform config 9 months ago

Software License Generic badge Generic badge Generic badge Generic badge shield

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