A pocket e-reader can become a glanceable desk calendar: Home Assistant provides calendar data, a Python script renders the next event as a BMP, and modified Crosspoint firmware fetches that image while the reader sleeps. In Adam Davidson’s build, the image is regenerated every 15 minutes, but the reader downloads it only once an hour, so the display can lag behind a newly created image.
How the desk display works
The project repurposes an Xteink X4 Classic e-reader rather than using a dedicated calendar product. Its sleep screen is a static BMP, so the build turns event information into an image the reader can display. Home Assistant supplies and hosts the data and image; a small Python script draws the event; modified Crosspoint firmware retrieves the resulting file over Wi-Fi.
As an Amazon Associate I earn from qualifying purchases.
- Make calendar data available in Home Assistant. Davidson’s setup uses Home Assistant’s calendar features, with Google Calendar and Outlook given as examples of cloud-calendar integrations. Support and setup can vary by provider.
- Render the next event. A Python script retrieves the calendar information and generates a BMP sized for the X4 Classic. The image is regenerated every 15 minutes.
- Host the image on the Home Assistant machine. The modified reader needs to reach the BMP over the local network when it wakes.
- Have the reader fetch it while sleeping. The firmware wakes the device hourly, connects to Wi-Fi, downloads the BMP, replaces the sleep-screen image, and returns to sleep. A menu control lets the user enable or disable the calendar-screen behavior.
The 15-minute image-generation schedule and hourly device-fetch schedule are separate. If an event changes just after a download, the reader may continue showing the previous image until its next hourly fetch.
Why the ordinary transfer feature is not enough
Davidson’s Crosspoint firmware build includes File Transfer, which lets a user send books and images through a local browser page. That is a manual transfer mode: it must be enabled, and the connection ends when the user exits it. It does not continuously synchronize a sleep screen on its own. The hourly background download required a firmware modification.
#1 Best Overall
- Provide online user manual (examples for Raspberry Pi/Jetson Nano/Arduino/STM32), please check the manual carefully before using!
- This is an E-Ink display module, 4.2inch, 400x300 resolution, with embedded controller, communicating via SPI interface. Due to the advantages like ultra low power consumption, wide viewing angle, clear display without electricity, it is an ideal choice for applications such as shelf label, industrial instrument, and so on.
- No backlight, keeps displaying last content for a long time even when power down
- Ultra low power consumption, basically power is only required for refreshing
- SPI interface, for connecting with controller boards like Raspberry Pi/Arduino/Nucleo, etc. Onboard voltage translator, compatible with 3.3V/5V MCUs
The published build does not include the Python script or firmware patch, identify a Crosspoint version, or provide step-by-step instructions for reproducing those changes. Treat it as a demonstrated project concept, not a turnkey configuration guide.
What the X4 Classic brings to the build
Xteink lists the X4 Classic with a 4.3-inch, 219-PPI display, dimensions of 114 × 69 × 4.9 mm, a weight of 68 g, a 920 mAh battery, 2.4 GHz Wi-Fi, and BMP image support. It has no front light or touchscreen. These are manufacturer specifications, not measurements of the modified calendar setup. See Xteink’s product specifications.
Rank #2
- Provide online user manual (examples for Raspberry Pi/Jetson Nano/Arduino/STM32), please check the manual carefully before using!
- This is an E-Ink display module, 1.54inch, 200x200 resolution, with embedded controller, communicating via SPI interface, supports partial refresh.
- Due to the advantages like ultra low power consumption, wide viewing angle, clear display without electricity, it is an ideal choice for applications such as shelf label, industrial instrument, and so on.
- No backlight, keeps displaying last content for a long time even when power down. Ultra low power consumption, basically power is only required for refreshing
- SPI interface, for connecting with controller boards like Raspberry Pi/Arduino/Nucleo, etc. Onboard voltage translator, compatible with 3.3V/5V MCUs
The manufacturer page showed the product as sold out when accessed in 2026; availability can change, so check the official page before planning a build. The article does not establish a price or verify availability from other sellers.
Battery and update expectations
The author expects each scheduled fetch to have a minimal battery impact because the reader wakes only long enough to connect and download the file. Battery impact was not measured, so there is no supported battery-life estimate for this modified setup.
Rank #3
- Enjoy a paper-like viewing experience with the 2.13-inch e-paper display. The screen can retain the last displayed image even after power is removed, making it ideal for applications requiring long-term information display without continuous power supply.
- Designed for low-power projects, this e-ink module only consumes energy during screen updates and remains in standby mode most of the time. Perfect for battery-powered devices, smart labels, IoT projects, and long-running applications.
- Featuring a 250x122 pixel black-and-white display, this e-paper HAT delivers clear text and image rendering. Partial refresh support helps reduce update time and power consumption for smoother display operation.
- Equipped with a standard Raspberry Pi 40-pin GPIO header and SPI communication interface, this display module works with Raspberry Pi series boards, Arduino, ESP32 and other compatible development platforms. Built-in voltage conversion supports both 3.3V and 5V MCUs.
- Comes with connection accessories and supports online resources including driver board diagrams and example programs for Raspberry Pi, Arduino, and ESP32, helping developers quickly start their projects.
Likewise, hourly downloads provide periodic updates, not an immediate alert when a calendar event changes. The screen is best understood as a glanceable snapshot of the next event, with possible delay between a calendar change and the next scheduled fetch.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.What you would need to recreate the idea
- An Xteink X4 Classic or another device whose sleep screen can display a generated image.
- Calendar data available through Home Assistant; the exact integration depends on the calendar provider.
- A Python script to retrieve the event and render an appropriately sized BMP.
- A way to host the image where the reader can reach it over Wi-Fi.
- Firmware behavior that can wake periodically, fetch the image, replace the sleep screen, and return to sleep. In this project, that behavior required modifying Crosspoint firmware.
Davidson’s published account describes the architecture and outcome, but does not supply the code or patch needed to reproduce the implementation exactly. The project’s appeal is the combination of a tiny low-power e-reader and home-automation logic; its trade-off is custom software and firmware work rather than a ready-made calendar feature.
Rank #4
- This is 2.13inch E-Ink display HAT V4 with Raspberry Pi 40PIN GPIO extension header, compatible with Raspberry Pi series boards (includes Raspberry Pi 5/4B/3B+/3B/2B/Zero W/WH/Zero 2 W,etc. ) and compatible with Jetson Nano.
- 250x122 resolution, Black and White Two Display colors, with embedded controller, communicating via SPI interface, supports partial refresh.
- No backlight, keeps displaying last content for a long time even when power down. Ultra low power consumption, basically power is only required for refreshing.
- SPI interface, for connecting with controller boards likeArduino/STM32, etc. Onboard voltage translator, compatible with 3.3V / 5V MCUs.
- Comes with Comes with Online Development Resources and Manual (driver board circuit diagram, examples for Raspberry Pi/Jetson Nano/Arduino/STM32). PLEASE READ THE ONLINE INFORMATION CAREFULLY BEFORE USING IT.
Sources: Adam Davidson’s How-To Geek build and Xteink’s X4 product page.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Quick Recap
Best Value
- Provide online user manual (examples for Raspberry Pi/Jetson Nano/Arduino/STM32), please check the manual carefully before using!
- This is an E-Ink raw display, 7.5inch, 800×480 resolution, with embedded controller, communicating via SPI interface.
- Due to the advantages like ultra low power consumption, wide viewing angle, clear display without electricity, it is an ideal choice for applications such as shelf label, industrial instrument, and so on.
- No backlight, keeps displaying last content for a long time even when power down
- Ultra low power consumption, basically power is only required for refreshing
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




