[{"element_type":"text","content":"\n        \u003ch1\u003eOverview\u003c/h1\u003e\n\u003cp\u003eThe day of the week appears on the screen, Monday, Tuesday, and so on. Or the Feather can be programmed to show other information, like reminders. The project is meant to help people with memory problems.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eAll the parts snap together without any soldering. A grandchild could make this project for a grandparent.\u0026nbsp;\u003c/p\u003e\n      ","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch1\u003eParts\u003c/h1\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"product","content":"https://www.adafruit.com/product/6395","metadata":{}},{"element_type":"product","content":"https://www.adafruit.com/product/5727","metadata":{}},{"element_type":"product","content":"https://www.adafruit.com/product/5189","metadata":{}},{"element_type":"product","content":"https://www.adafruit.com/product/328","metadata":{}},{"element_type":"product","content":"https://www.adafruit.com/product/258","metadata":{}},{"element_type":"product","content":"https://www.adafruit.com/product/4399","metadata":{}},{"element_type":"product","content":"https://www.adafruit.com/product/380","metadata":{}},{"element_type":"product","content":"https://www.adafruit.com/product/5045","metadata":{}},{"element_type":"product","content":"https://www.adafruit.com/product/4432","metadata":{}},{"element_type":"product","content":"https://www.adafruit.com/product/4472","metadata":{}},{"element_type":"parts","content":"\n  \u003cdiv class=\"parts-details\"\u003e\n    \u003cdiv\u003e\n      \u003cspan class=\"parts-quantity\"\u003e1\u003c/span\u003e\u003cspan\u003e x \u003c/span\u003e\n        \u003ca href=\"https://www.digikey.com/short/hvz8pzpc\" class=\"parts-name\" target=\"_blank\"\u003eElectrical tape\u003c/a\u003e\n      \u003cdiv class=\"parts-description\"\u003eA quick way to \"mount\" the parts\u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/div\u003e\n  \u003cdiv class=\"parts-action\"\u003e\n  \u003cdiv\u003e\n      \u003ca href=\"https://www.digikey.com/short/hvz8pzpc\" class=\"parts-url btn-primary\" target=\"_blank\"\u003eBuy Now\u003c/a\u003e\n\n  \u003c/div\u003e\n\u003c/div\u003e\n\n  \u003cdiv class=\"clearfix\"\u003e\u003c/div\u003e\n","metadata":{"name":"Electrical tape","url":"https://www.digikey.com/short/hvz8pzpc","description":"A quick way to \"mount\" the parts","quantity":"1"}},{"element_type":"parts","content":"\n  \u003cdiv class=\"parts-details\"\u003e\n    \u003cdiv\u003e\n      \u003cspan class=\"parts-quantity\"\u003e1\u003c/span\u003e\u003cspan\u003e x \u003c/span\u003e\n        \u003ca href=\"https://www.rei.com/product/199847/chums-surfshorts-wallet\" class=\"parts-name\" target=\"_blank\"\u003eFabric wallet with window\u003c/a\u003e\n      \u003cdiv class=\"parts-description\"\u003eA quick case for the project\u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/div\u003e\n  \u003cdiv class=\"parts-action\"\u003e\n  \u003cdiv\u003e\n      \u003ca href=\"https://www.rei.com/product/199847/chums-surfshorts-wallet\" class=\"parts-url btn-primary\" target=\"_blank\"\u003eBuy Now\u003c/a\u003e\n\n  \u003c/div\u003e\n\u003c/div\u003e\n\n  \u003cdiv class=\"clearfix\"\u003e\u003c/div\u003e\n","metadata":{"name":"Fabric wallet with window","url":"https://www.rei.com/product/199847/chums-surfshorts-wallet","description":"A quick case for the project","quantity":"1"}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch2\u003eParts Note\u003c/h2\u003e\n\u003cp\u003eWant a larger or smaller calendar? You can use any size of eInk display, l\u003cspan\u003eipo \u003c/span\u003ebattery, and USB cable. You can add a \u003ca href=\"https://www.adafruit.com/product/4230\" target=\"_blank\"\u003e24 pin cable\u003c/a\u003e and \u003ca href=\"https://www.adafruit.com/product/4524\" target=\"_blank\"\u003eextender\u003c/a\u003e between the display and feather. And you can find or make a different case.\u0026nbsp;\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch1\u003eSteps\u003c/h1\u003e\n\u003col\u003e\n\u003cli\u003eConnect the parts.\u0026nbsp;\n\u003col\u003e\n\u003cli\u003eOn the feather, unlock the 24 pin connection. The black bar slides out a little.\u003c/li\u003e\n\u003cli\u003eSlide the eInk cable into the 24 pin connection.\u003c/li\u003e\n\u003cli\u003ePush in the black bar.\u003c/li\u003e\n\u003cli\u003eSlide the battery into the real-time clock.\u0026nbsp;\u003c/li\u003e\n\u003cli\u003eOptionally, scratch through the connection next to the LED on the real-time clock.\u003c/li\u003e\n\u003cli\u003eWith the STEMMA QT cable, connect the real-time clock and feather.\u003c/li\u003e\n\u003cli\u003eConnect the battery cable to the feather.\u003c/li\u003e\n\u003cli\u003eWith the USB cable, connect the feather to a computer.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eConnect the cable to a computer.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003ePress the Reset and Boot buttons on the Feather.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eDownload CircuitPython from \u003ca href=\"https://circuitpython.org/board/adafruit_feather_rp2040_thinkink/\" target=\"_blank\"\u003ethis page\u003c/a\u003e.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eDrag the uf2 file from the Downloads folder to the RPI-RP2 drive.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eDownload the library bundle from \u003ca href=\"https://circuitpython.org/libraries\" target=\"_blank\"\u003ethis page\u003c/a\u003e.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eInstall the library for the eInk display. For the 3.7 in version, see \u003ca href=\"https://learn.adafruit.com/bare-e-ink-displays-crash-course/3-7-416x240-monochrome-eink-uc8253\" target=\"_blank\"\u003ethis page\u003c/a\u003e.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eIf the display doesn't show an image, press the Reset button on the Feather.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eDrag three folders from the zip file to the lib folder on D:, adafruit_bus_device, adafruit_pcf8523, and adafruit_register. Drag one file from the zip file to the lib folder on D:, adafruit_ssd1680.mpy.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"code","content":"# SPDX-FileCopyrightText: 2026 Jay Martin\n#\n# SPDX-License-Identifier: MIT\n\"\"\"Code to set the time and date and day\"\"\"\n\nimport time\nimport board\nfrom adafruit_pcf8523.pcf8523 import PCF8523\n\ni2c = board.STEMMA_I2C()\nrtc = PCF8523(i2c)\n\n# Change the last line of code to the current time. The format is\n# year, month, date, hour, minute, second, day of the week, -1, -1.\n# For the hour, midnight is 0, noon is 12, and 1 p.m. is 13, etc.\n# For the day of the week, Sunday is 6, Monday is 0, Tuesday is 1.\n# This example sets the time to March 21, 2026, 4:45 p.m., Saturday:\n# rtc.datetime = time.struct_time((2026, 3, 21, 16, 45, 0, 5, -1, -1))\n\nrtc.datetime = time.struct_time((2026, 3, 21, 16, 45, 0, 5, -1, -1))","metadata":{"language":"python","linenums":false,"filename":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003eThen . . .\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"code","content":"# SPDX-FileCopyrightText: 2025 Jay Martin, added lines for Adafruit's Playground\n# SPDX-FileCopyrightText: 2025 Scott Shawcroft, written for Adafruit Industries\n# SPDX-FileCopyrightText: Copyright (c) 2021 Melissa LeBlanc-Williams for Adafruit Industries\n#\n# SPDX-License-Identifier: Unlicense\n\n\"\"\"Simple test script for 3.7\" 240x416 monochrome display (ThinkInk_370_Mono_BAAMFGN).\"\"\"\n\nimport time\nimport alarm\nimport board\nimport busio\nimport displayio\nfrom fourwire import FourWire\nimport adafruit_uc8253\nfrom adafruit_pcf8523.pcf8523 import PCF8523\n\ndisplayio.release_displays()\n\nif \"EPD_MOSI\" in dir(board):  # Feather RP2040 ThinkInk\n    spi = busio.SPI(board.EPD_SCK, MOSI=board.EPD_MOSI, MISO=None)\n    epd_cs = board.EPD_CS\n    epd_dc = board.EPD_DC\n    epd_reset = board.EPD_RESET\n    epd_busy = board.EPD_BUSY\nelse:\n    spi = board.SPI()  # Uses SCK and MOSI\n    epd_cs = board.D9\n    epd_dc = board.D10\n    epd_reset = board.D8  # Set to None for FeatherWing\n    epd_busy = board.D7  # Set to None for FeatherWing\ndisplay_bus = FourWire(\n    spi, command=epd_dc, chip_select=epd_cs, reset=epd_reset, baudrate=1000000\n)\ntime.sleep(1)\n\ndisplay = adafruit_uc8253.UC8253(\n    display_bus,\n    width=416,\n    height=240,\n    busy_pin=epd_busy,\n    rotation=270,\n    vcom_cdi=0x97,\n)\n\ng = displayio.Group()\n\n# read the weekday from rtc module\ni2c = board.STEMMA_I2C()\nrtc = PCF8523(i2c)\ndtm = rtc.datetime\nwdy = dtm.tm_wday\n\n# select the bitmap image of the day\nif wdy == 6:\n    pic = displayio.OnDiskBitmap(\"/sun.bmp\")\nelif wdy == 0:\n    pic = displayio.OnDiskBitmap(\"/mon.bmp\")\nelif wdy == 1:\n    pic = displayio.OnDiskBitmap(\"/tue.bmp\")\nelif wdy == 2:\n    pic = displayio.OnDiskBitmap(\"/wed.bmp\")\nelif wdy == 3:\n    pic = displayio.OnDiskBitmap(\"/thu.bmp\")\nelif wdy == 4:\n    pic = displayio.OnDiskBitmap(\"/fri.bmp\")\nelif wdy == 5:\n    pic = displayio.OnDiskBitmap(\"/sat.bmp\")\n\n# display the image\nt = displayio.TileGrid(pic, pixel_shader=pic.pixel_shader)\ng.append(t)\ndisplay.root_group = g\ndisplay.refresh()\n\n# set an alarm for 12:15 a.m. to rerun code.py\ncurrent_sec = (dtm.tm_hour * 60 * 60) + (dtm.tm_min * 60) + dtm.tm_sec\nwait_sec = 86400 - current_sec + 900  # seconds until 12:15 a.m.\ntime_alarm = alarm.time.TimeAlarm(monotonic_time=time.monotonic() + wait_sec)\nalarm.exit_and_deep_sleep_until_alarms(time_alarm)","metadata":{"language":"python","linenums":false,"filename":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003eAlso see the project \u003ca href=\"https://adafruit-playground.com/u/jepler/pages/e-ink-countdown-in-circuitpython-with-custom-stand\"\u003eE-Ink Countdown in CircuitPython with Custom Stand\u003c/a\u003e by jepler.\u0026nbsp;\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/002/459/original/IMG_20260613_093552887_%281%29.jpg?1781370115","metadata":{}}]