{"id":41835093,"url":"https://github.com/androidcrypto/esp32_cyd_19_christmas_clock","last_synced_at":"2026-01-25T09:04:22.096Z","repository":{"id":326362759,"uuid":"1105197550","full_name":"AndroidCrypto/ESP32_CYD_19_Christmas_Clock","owner":"AndroidCrypto","description":"Design a nice digital clock in a Christmas style on an ESP32 Cheap Yellow Display (CYD) with 1.9-inches ST7789 display","archived":false,"fork":false,"pushed_at":"2025-11-27T10:01:46.000Z","size":618,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-30T03:15:09.561Z","etag":null,"topics":["cheap-yellow-display","christmas","clock","clockface","cyd","esp32","st7789","tft-display"],"latest_commit_sha":null,"homepage":"https://medium.com/@androidcrypto/create-a-digital-christmas-clock-on-an-esp32-with-1-9-inches-display-small-cheap-yellow-display-7ead581ab56c","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AndroidCrypto.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-27T09:17:09.000Z","updated_at":"2025-11-27T10:03:02.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/AndroidCrypto/ESP32_CYD_19_Christmas_Clock","commit_stats":null,"previous_names":["androidcrypto/esp32_cyd_19_christmas_clock"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/AndroidCrypto/ESP32_CYD_19_Christmas_Clock","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidCrypto%2FESP32_CYD_19_Christmas_Clock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidCrypto%2FESP32_CYD_19_Christmas_Clock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidCrypto%2FESP32_CYD_19_Christmas_Clock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidCrypto%2FESP32_CYD_19_Christmas_Clock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndroidCrypto","download_url":"https://codeload.github.com/AndroidCrypto/ESP32_CYD_19_Christmas_Clock/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidCrypto%2FESP32_CYD_19_Christmas_Clock/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28750663,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T09:00:19.176Z","status":"ssl_error","status_checked_at":"2026-01-25T09:00:04.131Z","response_time":113,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cheap-yellow-display","christmas","clock","clockface","cyd","esp32","st7789","tft-display"],"created_at":"2026-01-25T09:03:40.964Z","updated_at":"2026-01-25T09:04:22.090Z","avatar_url":"https://github.com/AndroidCrypto.png","language":"C","readme":"# ESP32 Cheap Yellow Display (CYD) Christmas Clock on an 1.9-inches ST7789 display\n\nThis is the accompanying repository for my article \"**Create a digital Christmas clock on an ESP32 with 1.9-inches display (small Cheap Yellow Display)**\" available here: https://medium.com/@androidcrypto/create-a-digital-christmas-clock-on-an-esp32-with-1-9-inches-display-small-cheap-yellow-display-7ead581ab56c\n\nFor short - what is a \"Cheap Yellow Display\" ? This device was introduced some years ago and allowed for very fast development of projects where an ESP32, a TFT (optional Touch surface), an SD Card Reader and an RGB LED is included. The first version was equipped with a 2.8 inch large TFT display with **ILI9341** driver chip and **XPT2046** resistive Touch driver chip. Newer versions are sold with a **ST7789** display driver chip. Nowadays, the device is available with different display sizes (1.28 up to 7 inches) and driver chips, and for this project I'm using 1.9-inches variants The display has a resolution of **320 x 170** pixels in Landscape orientation. Most of the devices are driven by an ESP32 WROOM microcontroller, but I saw some others with an ESP32-S3 chip.\n\n![Image 1](./images/esp32_cyd_1_9_inches_st7789_christmas_clock_01_600w.png)\n\n## Source of the Christmas images\n\nI'm using the Domino style images provided by **judge2005** in the GitHub repository **https://github.com/judge2005/EleksTubeIPS**. You will find the originals in the path \"more_faces | Christmas\". The original images are BMP encoded images with a size of 135 x 240 pixels, but this is far to much for our display, as I want to display the current time and date with 6 digits each. The second issue would be: how do I load the images into the sketch (SD-Card, LittleFS). I decided to use the \"inline\" style by converting the files in C-style header files.\n\n![Image 2](./images/esp32_clock_face_christmas_508w.png)\n\nFor both the image size reducing and converting I used an internet service: https://mischianti.org/rgb-image-to-byte-array-converter-for-arduino-tft-displays/\n\nSimply open each of the ten digit BMP files, set the new image size (here 80 x 142 pixels), convert the file and download it as *h file.\n\nThe are the default settings I used:\n\n````plaintext\nSettings (default):\nCode format Hex 0x00\nPalette mod 16bit RRRRRGGGGGGBBBBB (2byte/pixel)\nResize: use both parameters to match exact size, e.g. 80 x 142\nMulti line yes\nEndianness Little Endian\nstatic yes\nconst yes\nData type uint16_t\nPROGMEM yes\n````\n\n## Required Library\n````plaintext\nTFT_eSPI Version: 2.4.3 *1) (https://github.com/Bodmer/TFT_eSPI)\n\n*1) In case you encounter any problems with the TFT_eSPI library you should consider to use my forked TFT_eSPI library that solved some problems, see link below\n````\nForked TFT_eSPI library by AndroidCrypto: https://github.com/AndroidCrypto/TFT_eSPI\n\n## Set up the TFT_eSPI library\n\nPlease don't forget to copy the file \"*Setup809_ESP32_CYD_1721S019_170x320.h*\" in the \"User_Setups\" folder of the TFT_eSPI library and edit the \"*User_Setup_Select.h*\" to include the set up.\n\n## Development Environment\n````plaintext\nArduino IDE Version 2.3.6 (Windows)\narduino-esp32 boards Version 3.2.0 (https://github.com/espressif/arduino-esp32)\nBoard: ESP32 Dev Module\n````\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroidcrypto%2Fesp32_cyd_19_christmas_clock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandroidcrypto%2Fesp32_cyd_19_christmas_clock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroidcrypto%2Fesp32_cyd_19_christmas_clock/lists"}