An Xteink X3 e-reader displayed persistent vertical stripes across greyscale images, a defect caused by the specific way the device's firmware moved pigment particles to create shades of grey. By identifying a mismatch between the driver's 'nudge' waveform and the physical display characteristics, the author was able to eliminate the artifacts by switching to a high-quality image mode (XTH4) that uses a longer, more precise sequence of voltage pulses.
Identifying the Rendering Defect
The author noticed vertical stripes across a dithered black-and-white photograph on an Xteink X3 e-reader. Initial investigations using AI tools (GPT-6 Astra and Claude Code) first suggested the issue was caused by the dithering algorithm, but testing different algorithms proved this false.

This image illustrates the initial observation of the rendering defect described in the article.
By using a sliding vertical average to process phone photos of the screen, the author isolated the defect: the stripes were a physical rendering artifact rather than a file error. The stripes appeared only when grey pixels were present alongside neighbors in different states, particularly affecting the very pale light-grey tones.

This visual demonstrates the method used to isolate the defect from the original photograph.
“The specific combination of grey pixels with neighbours of a different shade was what caused trouble.”
— How my e-reader lost its stripes
The Mechanism of the 'Nudge' Waveform
E-ink screens use voltage pulses to move pigment particles. To display greyscale, the system first draws a black-and-white base and then performs a 'nudge'—a short voltage-pulse waveform that moves selected pixels partway toward white to create shades of grey.
The investigation revealed that the driver's nudge waveform lasted seven scan cycles. Because the stripes appeared at a repeating interval of eight pixels, it was suspected that the timing of these pulses was creating a spatial pattern. However, changing the waveform's duration to ten cycles did not eliminate the stripes, suggesting a more complex interaction between the driver and the hardware.

This chart explains the mechanism of the 'nudge' waveform and the spatial pattern of the stripes.
Correcting Firmware Bugs and Switching Modes
During the process, a bug was discovered in the CrossPoint firmware where the driver selected a waveform table that did nothing for dark-grey pixels. Fixing this mistake restored the missing shade of grey and improved the appearance of anti-aliased text, which had previously appeared 'chonky' because dark-grey edges were rendering as solid black.
To finally eliminate the stripes, the author switched to the 'XTH4' image mode. This mode uses a much longer sequence of pulses to produce four shades of grey. While this successfully removed the artifacts, it requires more memory and takes approximately one second to refresh, creating a trade-off between visual clarity and page-turn speed.

This image shows the final result of switching to the high-quality image mode to eliminate artifacts.
What Hacker News readers are saying
- Experience: One commenter shared their positive experience with the X3, noting its compact form factor and the ability to sync page positions with larger devices using crosspoint. comment ↗
- Skeptical: Another reader expressed skepticism regarding the device's value, suggesting that a Kobo Clara BW offers superior specifications and features for a similar price. comment ↗
- Open question: One commenter questioned the practical utility of the device, expressing a preference for a dedicated e-reader with a larger screen over a small display. comment ↗
Summarized opinions from the Hacker News thread, not verified facts. Read the full discussion ↗