Exploring Chaotic Beauty: Creating Generative Art with Raspberry Pi and Inky Impression
Generative art is a fascinating field that combines creativity and algorithmic design to create unique and unpredictable visual experiences. I’ve been working with eink displays for several years now, but this was the first time I’ve had a chance to take advantage of a full color display. I have several projects that I started working on, but since this is the first I thought I would share it with you all here. Since the display supports 7 colors the end results actually end up looking a lot like a printed color newspaper quality image. With this project I’m using random colors for the circles, but the display is a bit more desaturated and has muted tones than the actual image file. I think this actually adds to the artistic look. I love walking by this and being delighted by what has been created, since it's always changing.
Project Overview
The project revolves around randomly selecting a grid size with between 1 and 40 columns, while using the screen resolution to determine the optimal number of rows. Each cell within this grid becomes a canvas for a randomly sized and colored circle. Every 30 minutes, a new image is generated and layered over the previous image, gradually transforming the artwork into a mesmerizing display of chaotic patterns.
Hardware
To bring this generative art project to life, I used the following hardware components:
Raspberry Pi Zero W: This compact and affordable single-board computer is the heart of our project. It provides the necessary computing power and connectivity to drive the generative art creation process. (Image: Raspberry Pi Zero W)
Pimoroni Inky Impression 4": The Inky Impression display is a high-quality e-ink display specifically designed for Raspberry Pi. With its impressive grayscale capabilities, it enables us to showcase the generative art with clarity and elegance. (Image: Inky Impression 4")
The Code
The project is implemented using Python, which allows us to leverage the capabilities of Raspberry Pi and the Inky Impression display seamlessly. By using libraries such as PIL (Python Imaging Library) and random, we can generate the grid of circles and control their size, color, and placement. I’m considering sharing the code here, but I’m also thinking about keeping the exact code private for now since I would like to sell some version of this in the future. If you know you’re way around Python and you want your own, I think you could pull something together relatively quickly.