Double-Dose Of AI Turns Daily Tasks Into Works Of Art

Not so long ago, “Magic Mirror” builds were all the rage, and we have to admit getting out daily reminders and newsfeeds on an LCD display sitting behind a partially reflective mirror is not without its charms. But styles ebb and flow, so we don’t see too many of those builds anymore. This e-ink daily calendar reminder hearkens back to those Magic Mirrors, only with a double twist of AI.

This project is the work of [Ilkka Turunen], and right up front we’ll say the results are just gorgeous. A lot of that has to do with the 10.3″ e-ink display used, but more with the creative use of not one but two machine learning systems. The first is ChatGPT, which [Ilkka] uses to parse the day’s online calendar entries and grab the most significant events to generate a prompt for DALL-E. The generated DALL-E prompt has specific instructions that guide the style of the image, which honestly is where most of the artistry lies. [Ilkka]’s aesthetic choices, like suggesting that the images look like a 19th-century lithograph or a satirical comic from a turn-of-the-(last)-century newspaper. The prompt is then sent off to DALL-E for rendering, and the resulting image is displayed.

It has to be said that the prompts that ChatGPT generates based on the combination of [Ilkka]’s aesthetic preferences and the random events of the day are strikingly complex. The chatbot really seems to be showing some imagination these days; DALL-E is no slouch either in turning those words into images.

Like the idea of an e-ink daily reminder but prefer a less artistic presentation? This should help.

Continue reading “Double-Dose Of AI Turns Daily Tasks Into Works Of Art”

A brown, wooden picture frame with a white matte holds a slightly pixelated photo of gaming miniatures. It is sitting on a wooden table.

A Colorful Take On The E-Ink Photo Frame

Everyone loves sharing photos, and with most pictures being taken on smartphones now, digital frames are more convenient than finding a photo printer. [Wolfgang Ziegler] used an e-ink screen to create a colorful digital picture frame.

Starting with a seven color e-ink HAT he’d forgotten he had, a spare Pi Zero, and analog photo frame, he pieced the parts together into a pretty slick, sunlight readable photo frame. [Ziegler] details how he set up the frame to display new images using the Pimoroni inky library. He set a fifteen minute refresh interval since the color e-ink display takes 30 seconds to refresh to keep it from looking weird too often.

With the holidays coming up, this might make a perfect gift for family that wants to see the latest from your travels without blasting it to the whole internet. We’ve covered a few different options from a lightweight ESP8266 build, to this one that can rotate, and even issues with some of the commercial options.

Building A Weather Display In Rust

We’ve seen a lot of weather displays over the years, and plenty of the more modern ones have been using some form of electronic paper. So what makes this particular build from [Harry Stern] different? The fact that the firmware running on the ESP32 microcontroller at its heart was developed in Rust.

The weather station itself is capable of operating for several months on its rechargeable NiMH battery bank. The Rust section of the project is in two parts, the first of which runs on a server which downloads the weather data and aggregates it into an image. The second part runs on the ESP32 using esp-idf which configures peripherals, turns on and connects to Wi-Fi, retrieves the image from the server, displays the image and then puts the display to sleep. By doing the heavy lifting on the server, the display should be able to run for longer than it would if everything was happening on the ESP32.

The project code is available from this GitHub page which should allow even Rust beginners to follow along, and the case file is also available for those with a 3D printer. [Harry] has a few upgrades planned for future releases as well, including a snap-fit case, a custom PCB, and improved voltage regulator for better battery life, and enhanced error handling for the weather API. And Rust isn’t the only interesting part of this project, either. As prices for e-paper displays continue to fall, more and more of them are found in projects like weather stations and even complete laptops which use these displays exclusively.

E-Paper News Feed Illustrates The Headlines With AI-Generated Images

It’s hard to read the headlines today without feeling like the world couldn’t possibly get much worse. And then tomorrow rolls around, and a fresh set of headlines puts the lie to that thought. On a macro level, there’s not much that you can do about that, but on a personal level, illustrating your news feed with mostly wrong, AI-generated images might take the edge off things a little.

Let us explain. [Roy van der Veen] liked the idea of an e-paper display newsfeed, but the crushing weight of the headlines was a little too much to bear. To lighten things up, he decided to employ Stable Diffusion to illustrate his feed, displaying both the headline and a generated image on a 7.3″ Inky 7-color e-paper display. Every five hours, a script running on a Raspberry Pi Zero 2W fetches a headline from a random source — we’re pleased the list includes Hackaday — and composes a prompt for Stable Diffusion based on the headline, adding on a randomly selected prefix and suffix to spice things up. For example, a prompt might look like, “Gothic painting of (Driving a Motor with an Audio Amp Chip). Gloomy, dramatic, stunning, dreamy.” You can imagine the results.

We have to say, from the examples [Roy] shows, the idea pretty much works — sometimes the images are so far off the mark that just figuring out how Stable Diffusion came up with them is enough to soften the blow. We’d have preferred if the news of the floods in Libya had been buffered by a slightly less dismal scene, but finding out that what was thought to be a “ritual mass murder” was really only a yoga class was certainly heartening.

An Open Firmware For LILYGO’s E-ink Smart Watch

The world’s first quartz wristwatches were miles ahead of electric and mechanical wristwatches by most standards of the time, their accuracy was unprecedented and the batteries typically lasted somewhere on the order of a year. Modern smart watches, at least in terms of battery life, have taken a step backwards — depending on use, some can require daily charging.

If you’re looking to bridge the gap between a day and a year, you might look into a smart watch with an e-ink display. One option is the ESP32-based LILYGO T-Wrist. Of course, it’s not a smart watch without some software to run on it, which is where qpaperOS comes in.

Developed by [qewer33], this open source firmware for the T-Wrist is designed to get the most out of the battery by updating only once per minute. With a 250 mAh battery, it should last about five days on a charge. Of course, with the power of the ESP32 comes a whole host of other features including GPS, a step counter, and a weather display, although since the firmware is still under development, some of these features have yet to be implemented.

With all of the code available, qpaperOS could make an excellent platform from which to build your own smart watch around. Or perhaps you could chip in and add some of the features on the whislity. The ESP32 is a capable and versatile chip, even capable of playing popular 8-bit video games, although we’re not sure this functionality would fit in a smart watch and preserve battery life at the same time.

Very Slow Movie Player Avoids E-Ink Ghosting With Machine Learning

[mat kelcey] was so impressed and inspired by the concept of a very slow movie player (which is the playing of a movie at a slow rate on a kind of DIY photo frame) that he created his own with a high-resolution e-ink display. It shows high definition frames from Alien (1979) at a rate of about one frame every 200 seconds, but a surprising amount of work went into getting a color film intended to look good on a movie screen also look good when displayed on black & white e-ink.

The usual way to display images on a screen that is limited to black or white pixels is dithering, or manipulating relative densities of white and black to give the impression of a much richer image than one might otherwise expect. By itself, a dithering algorithm isn’t a cure-all and [mat] does an excellent job of explaining why, complete with loads of visual examples.

One consideration is the e-ink display itself. With these displays, changing the screen contents is where all the work happens, and it can be a visually imperfect process when it does. A very slow movie player aims to present each frame as cleanly as possible in an artful and stylish way, so rewriting the entire screen for every frame would mean uglier transitions, and that just wouldn’t do.

Delivering good dithering results despite sudden contrast shifts, and with fewest changed pixels.

So the overall challenge [mat] faced was twofold: how to dither a frame in a way that looked great, but also tried to minimize the number of pixels changed from the previous frame? All of a sudden, he had an interesting problem to solve and chose to solve it in an interesting way: training a GAN to generate the dithers, aiming to balance best image quality with minimal pixel change from the previous frame. The results do a great job of delivering quality visuals even when there are sharp changes in scene contrast to deal with. Curious about the code? Here’s the GitHub repository.

Here’s the original Very Slow Movie Player that so inspired [mat], and here’s a color version that helps make every frame a work of art. And as for dithering? It’s been around for ages, but that doesn’t mean there aren’t new problems to solve in that space. For example, making dithering look good in the game Return of the Obra Dinn required a custom algorithm.

A wall mounted picture frame with an e-ink newspaper displayed.

A Wall Mounted Newspaper That’s Extra

E-Ink displays are becoming more ubiquitous and with their low power draw, high contrast and hackability, we see many projects use them in framed wall art, informational readouts and newspaper displays. [Sho] uses this idea to create a wall mounted newspaper packed full of features.

The back of a picture frame with the electronics for an e-ink newspaper display.

[Sho] describes using a 13.3 inch ED133UT2 1600×1200 E-Ink display with an ITE IT8951 electronic paper display (EPD) driver, controlled by an ESP32. An RV-3028-C7 real time clock (RTC) is used to keep time and to wake up the ESP32 and other devices for daily refreshes. A 3.7V 1100mAh LiPo battery provides power through an MT3608 boost converter module to provide the 5V needed, with the E-Ink display driver further isolated from the power behind a KY-019 5V relay module to avoid unnecessary power draw when not needed.

The backend software uses the OpenWeatherMap API to get daily weather reports and scrapes news websites which are then fed through an OpenAI ChatGPT API to provide summaries. [Sho] reports that text is formatted using a combination of LuaTeX, Ghostscript, ImageMagick and other scripts to format the eventual displayed graphics, including newspaper texture and randomely placed coffee stain effects.

Be sure to check out [Sho]’s project page for some more details. E-Ink displays are still a bit pricey but the effect is hard to beat and they make great options for projects like infinite generative landscapes or low power weather stations.