{"id":15877969,"url":"https://github.com/hubmartin/esp32-epaper","last_synced_at":"2025-03-16T05:31:15.157Z","repository":{"id":69027469,"uuid":"319031949","full_name":"hubmartin/ESP32-epaper","owner":"hubmartin","description":"ESP32 firwmare which displays computer-rendered picture over network","archived":false,"fork":false,"pushed_at":"2021-04-28T12:55:33.000Z","size":1551,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-27T05:23:42.130Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hubmartin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-06T12:50:02.000Z","updated_at":"2024-07-15T17:29:00.000Z","dependencies_parsed_at":"2023-07-13T13:30:58.135Z","dependency_job_id":null,"html_url":"https://github.com/hubmartin/ESP32-epaper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubmartin%2FESP32-epaper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubmartin%2FESP32-epaper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubmartin%2FESP32-epaper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubmartin%2FESP32-epaper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hubmartin","download_url":"https://codeload.github.com/hubmartin/ESP32-epaper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243806032,"owners_count":20350773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-06T02:05:08.798Z","updated_at":"2025-03-16T05:31:13.840Z","avatar_url":"https://github.com/hubmartin.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ESP32 e-paper network display\n\nWith this project you can create ESP32 WiFi + Waveshare e-paper network display. With Python script you can send image or using Selenium the whole webpage. Python tool has also simple `YAML` configuration for configuration of each display and parameters.\n\nhttps://twitter.com/hubmartin/status/1337819964238127116\nhttps://twitter.com/hubmartin/status/1335517146256957440\n\n![](img/esp32-eink.jpeg)\n\n# Info\n\nBased on project by https://github.com/danielkucera/esp8266-epaper\n\nThis code was ported to ESP32 with these features:\n\n- ESP32 DEVKIT V1\n- WaveShare E-Paper ESP32 Driver Board\n- WifiManager\n- Waveshare 2.7\" black-red-white 3 color e-paper\n- Waveshare 4.2\" black-red-white 3 color e-paper\n- Waveshare 7.5\" black-white e-paper\n\nWork in progress:\n- OTA\n- Low power\n- Make the transfer initialization the opposite way - The ESP wakes up in 15 minutes from low power, connects to the server IP sending info which display, resolution and colors it has. It can also add its sensor values. Then the server renders image, could add values from the sensor itself.\n\n# Known issues\n\n- With 7.5\" epaper there are some firmware issues. The code freezes after few redraws. Could be some RAM/stack issue, do not have time to investigate now.\n\n# Needed packages and tools\n\n- Selenium browser and chrome driver. [Windows instructions](https://medium.com/@patrick.yoho11/installing-selenium-and-chromedriver-on-windows-e02202ac2b08), [Linux instructions](https://tecadmin.net/setup-selenium-chromedriver-on-ubuntu/)\n- If you use 3 color display you have to install ImageMagick.\n- Python doesn't have install script for packages yet, you have to install `click` and `pyyaml`.. probably more packages :)\n\n# Firmware build\n\nUse platformio and default working projetct `esp32doit-devkit-v1`. The other one with `ota` doesn't work for now.\n\n# Compile options\n\nUsing defines you set the kind of display.\n```\n// Uncomment single display you use\n//#define EPAPER_270c\n//#define EPAPER_420c\n#define EPAPER_750_T7\n```\n\nIf you use WaveShare E-Paper ESP32 Driver Board which has different SPI and control pins, uncomment this line.\n`#define WAVESHARE_ALTERNATE_PINS`\n\n# Usage of python tool\n\nUse `./display.py -c \u003cconfig_file\u003e.yaml`. See the example YAML files in project directory. The YAML file defines:\n\n- `ip` adress and network `port`\n- `width`, `height` and number of `colors` of the display\n\nExample `420c.yaml` config\n```\nip: 192.168.1.50\nport: 3333\nwidth: 400\nheight: 300\ncolors: 3\nurl: https://hardwario.com\nurl-scale: 2\n#file_image: lena.png\n```\n\n### URL page load\nTo load a page you have to define `url:` in the YAML file. You can also try optional `url-scale` scaling option. Number 3 means that the page is screen-shotted with 3x time bigger resolution than display, then scaled down.\n\n```\nurl: https://hardwario.com\nurl-scale: 3\n```\n\n### File image load\n\nTo load a file use `file_image: autumn.jpg`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhubmartin%2Fesp32-epaper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhubmartin%2Fesp32-epaper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhubmartin%2Fesp32-epaper/lists"}