http://essentialscrap.com/eink/
In the usual applications these are driven by a dedicated controller (another big chunk of IP and thus $$), but it's easy enough to generate the signals with a regular microcontroller --- there's literally no minimum refresh rate, so the timing requirements are not high --- and it also gives you more control over the actual pixel whitening/darkening, allowing such things as grayscale and incremental updates: