Go to file
2021-01-16 10:39:37 +01:00
app #54 use free paperdash api 2021-01-16 10:39:37 +01:00
assets weekday bugfix #20 2020-03-11 21:19:08 +01:00
data #54 fixed some todos 2021-01-08 20:58:19 +01:00
doc #54 optimize svg 2021-01-12 20:25:01 +01:00
include refactore to separate modules 2020-09-30 20:08:11 +02:00
lib #54 hostname changed to paperdash-epd 2021-01-08 21:48:35 +01:00
src #54 code clean up for release 2020-12-24 12:22:54 +01:00
test Initial commit 2020-02-10 12:24:04 +01:00
.editorconfig editorconfig - use spaces for vue files 2020-11-17 22:46:07 +01:00
.gitignore update git ignore 2020-10-01 21:29:14 +02:00
.travis.yml Initial commit 2020-02-10 12:24:04 +01:00
git_rev_macro.py #40 make firmware data accessible - missing file 2020-11-01 16:20:51 +01:00
partitions_pd.csv code clean up and small improvements 2020-05-20 12:52:07 +02:00
platformio.ini fix deps and platform config 2020-12-27 16:29:10 +01:00
README.md #54 readme update 2021-01-16 10:39:03 +01:00

paperdash.io

Software License Generic badge Generic badge Generic badge Generic badge

ForTheBadge built-with-love

Open Source E-Paper Display Platform

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

Face Calendar Face Picture APP

Goals

  • 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

Features

Firmware

  • OTA update
  • REST API
  • JPEG decoder (some limitations)
  • PNG decoder (work in progress)
  • Out-of-the-box slideshow with
    • Current weather condition and forecast (https://openweathermap.org/ api key requried)
    • Calendar view with random picture
    • Today view with fullscreen random picture
  • Wifi STA fallback if connection failed

Web APP

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

Getting started

Necessary parts to build the project

  • ESP32
  • EPD display: GDEW075T8
  • (Optional) 3D printed case TODO link thinkerverse

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

Web APP

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

Build

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

// update esp
$ platformio run --target uploadfs

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

API examples

Post a image to display

$ curl -F '=@demo.jpg;filename=dithering' http://paperdash-epd/api/device/screen

Access root filesystem

http://paperdash-epd/fs/calendarPhoto.png

Similar projects

During my research, I have found exciting projects that are very similar to this one.


compile and upload new firmware

platformio run --target upload

app development

# build new dist files
yarn --cwd app build

# upload to device filesystem
platformio run --target uploadfs

# send a picture to display over json
curl -F '=@test3.png;filename=dithering' http://paperdash-epd/api/device/screen
curl -F 'filename=@test1.jpg' http://paperdash-epd/api/device/screen

# get current picture as bmp
curl http://paperdash-epd/api/device/screen --output current.bmp

# erase flash memory
pio run --target erase

access fs over http

get photos from calendar face http://paperdash-epd/fs/calendarPhoto.png