{"id":33226465,"url":"https://github.com/jamct/DoorsignEPD","last_synced_at":"2025-11-21T10:01:26.060Z","repository":{"id":71930976,"uuid":"115023880","full_name":"jamct/DoorsignEPD","owner":"jamct","description":"Doorsign with E-Paper-Display with ESP32. Loading images from webserver.","archived":false,"fork":false,"pushed_at":"2024-09-29T11:46:55.000Z","size":2419,"stargazers_count":100,"open_issues_count":11,"forks_count":37,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-04-19T15:15:42.265Z","etag":null,"topics":["c-plus-plus","door-sign","esp32","esp32-arduino","php"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jamct.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2017-12-21T16:08:43.000Z","updated_at":"2025-03-12T17:59:54.000Z","dependencies_parsed_at":"2024-12-29T19:23:43.438Z","dependency_job_id":"94084da2-f508-47ff-9993-5fe7423bee44","html_url":"https://github.com/jamct/DoorsignEPD","commit_stats":{"total_commits":44,"total_committers":7,"mean_commits":6.285714285714286,"dds":0.5681818181818181,"last_synced_commit":"cb8c8ebd77eda503147898f1914bc7af67cdaa00"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jamct/DoorsignEPD","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamct%2FDoorsignEPD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamct%2FDoorsignEPD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamct%2FDoorsignEPD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamct%2FDoorsignEPD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jamct","download_url":"https://codeload.github.com/jamct/DoorsignEPD/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamct%2FDoorsignEPD/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285595606,"owners_count":27198560,"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","status":"online","status_checked_at":"2025-11-21T02:00:06.175Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["c-plus-plus","door-sign","esp32","esp32-arduino","php"],"created_at":"2025-11-16T16:00:50.005Z","updated_at":"2025-11-21T10:01:26.055Z","avatar_url":"https://github.com/jamct.png","language":"PHP","readme":"# Currently under development\r\nWe are working on a new version on a modern base. There will be a modern web server (served as a docker image too) and optimized code for Platform.io (which has a better dependency manager). Stay tuned!\r\n\r\n# Dependency: ArduinoJson\r\n\r\nThis project depends on the Arduino library `ArduinoJson` which currently\r\nbreaks the build if you use the latest version 6 (cf. [arduinojson.org/v5/doc/](https://arduinojson.org/v5/doc/)). To overcome this issue, downgrade (for example using the Arduino library manager) to the most recent version 5 (currently 5.13.4). Ensure that you do not upgrade to version 6 accidentally via the automatic update function.\r\n\r\n# DoorsignEPD\r\nProject to build digital doorsign based on ESP32, Waveshare E-Paper-Display (2.9, 4.2 or 7.5 inch). The display can load image from Webserver and uses deep-sleep mode of ESP32 to save energy.\r\nImages are generated on Webserver running PHP. Examples in this repository generate a weather-station, a doorsign for an office and a doorsign for a conference room.\r\n\r\n## Getting started (Client)\r\nTo start, you need the Arduino IDE with dependencies installed. Hardware setup is described here: [ct.de/yrzv](https://ct.de/yrzv).\r\n\r\nThe example wiring as used in the article is shown in the table below.\r\n\r\n\r\n| Display | ESP32 | Type                                       | Comment                   |\r\n|:-------:|:-----:|--------------------------------------------|---------------------------|\r\n|   BUSY  |   4   | GPIO, ESP Input                            | Low active, display busy  |\r\n|   RST   |   16  | GPIO, ESP Output                           | Low active, reset display |\r\n|    DC   |   17  | GPIO, Data / Command Selection, ESP Output | High: data, low: command  |\r\n|    CS   |   5   | GPIO, Chip Select, ESP Output              | Low active                |\r\n|   CLK   |   18  | SPI, SCK pin (clock)                       | Defined by ESP            |\r\n|   DIN   |   23  | SPI, MOSI pin                              | Defined by ESP            |\r\n|   GND   |  GND  | Ground                                     |                           |\r\n|   3V3   |  3V3  | Supply voltage, 3.3V                       | 8mA refresh, ~5uA standby |\r\n\r\nThe exact wiring depends on your hardware. Check for each pin (GPIO) if they\r\nare not occupied by for example LEDs.\r\n\r\n## Getting started (Server)\r\nThe folder 'server' contains examples for content and outputs it in Byte-stream-format for ESP32. Copy the folder on a webserver with PHP installed and GD active (PHP \u003e7.0).\r\nIn the URL you tell the server what to show (and for which display size):\r\n\r\n* \u003caddress of server\u003e/?debug=true\u0026display=7.5\u0026content=weather_station\u0026scale=28 (displays a weather-station for a 7.5 inch display)\r\n* \u003caddress of server\u003e/?debug=true\u0026display=2.9\u0026content=door_sign\u0026scale=22 (displays a door-sign for a 2.9 inch display)\r\n* \u003caddress of server\u003e/?debug=true\u0026display=4.2\u0026content=conference_room\u0026scale=18 (displays a sign for a conference room for a 4.2 inch display)\r\n* \u003caddress of server\u003e/?debug=true\u0026display=4.2\u0026content=door_sign_csv\u0026room=A 111 (displays a sign for a room. Use data from a csv file or google spreadsheet. Works with different rooms.\r\n\r\nWith Get-Parameter 'scale' you adjust size of the text. Set 'debug' to true to get a png-image and false for byte-Stream for ESP32. Parameter size is automatically added by ESP (depending on your display).\r\n\r\n## Example contents\r\n* `conference_room` (agenda for a meeting room)\r\n* `door_sign` (list of people working in a room)\r\n* `door_sign_csv` (list of people working in a room, information taken from a csv file or google spreadsheet)\r\n* `static_image` (showing a random image (scaled to display size) from server/contents/static_image. Just put your image here)\r\n* `weather_station` (showing demo temperature an weather with icons)\r\n* `ical_calendar` (showing demo Calendar with 7.5-Display and portrait orientation | https://github.com/sabre-io/vobject is requred)\r\n\r\n## Dependencies\r\n\r\nThis project depends on the following libraries. Please use the most recent\r\nstable version -- especially for `GxEPD` and `Basecamp`. GxEPD currently has to\r\nbe downloaded and installed manually. The other library can be installed using\r\nthe Arduino library manager.\r\n\r\n* [GxEPD](https://github.com/ZinggJM/GxEPD)\r\n* [Basecamp](https://github.com/merlinschumacher/Basecamp)\r\n* [Adafruit_GFX](https://github.com/adafruit/Adafruit-GFX-Library)\r\n* [AsyncTCP](https://github.com/me-no-dev/AsyncTCP)\r\n\r\n### Indirect dependencies\r\n* [ESPAsyncWebServer](https://github.com/me-no-dev/ESPAsyncWebServer)\r\n* [ArduinoJson](https://github.com/bblanchon/ArduinoJson) version 5.x!\r\n\r\n### Tested dependencies\r\n\r\nThis project was tested with the following Library versions:\r\n\r\n- GxEPD v3.0.4 from github\r\n- Basecamp v0.1.8 via Arduino library manager\r\n- Adafruit_GFX v1.3.6 via Arduino library manager\r\n- AsyncTCP from github (ac551716aa655672cd3e0f1f2c137a710bccdc42, v1.0.3)\r\n- ESPAsyncWebServer from github (95dedf7a2df5a0d0ab01725baaacb4f982dedcb2,\r\n  v1.2.0)\r\n- ArduinoJson v5.13.4 via Arduino library manager\r\n- ESP32 Arduino core by espressif: version 1.0.1\r\n\r\n## More information\r\nThis repository is part of article \"Ausdauernde Infotafel\" from German computer magazine \"c't\". Link: [ct.de/yrzv](https://ct.de/yrzv)\r\n\r\n## To do\r\n+ add better examples with real data\r\n\r\n## New functions\r\nSupport for red-black-white display!\r\n","funding_links":[],"categories":["Projects"],"sub_categories":["Smart Home and IoT"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamct%2FDoorsignEPD","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamct%2FDoorsignEPD","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamct%2FDoorsignEPD/lists"}