In this installment of our Paragon Projects series, we’re covering a project that will bring fractals to life. It’s a picture frame that renders and zooms in on the Mandelbrot set, creating Raspberry Pi fractal art!
The Mandelbrot set, of course, is that famous mathematical set of complex numbers out of which visually stunning fractal patterns emerge.
This project was put together and shared by wearemessingup Reddit, who goes by the name runezor on GitHub. Best of all, they were willing to share all the code and the details on how to create the project yourself!
This setup is wonderfully straightforward. You’ll need a Raspberry Pi Zero, a picture frame for 7.5 inch e-Paper, and a Waveshare e-Paper Display HAT.
Naturally, you’ll also need 7.5 inch e-Paper.
However, if you’ve got a different size in mind, you shouldn’t have any problem configuring the code.
As you can see in the photo, it’s as easy as cutting a hole in the back of the picture frame so that you can connect the e-Paper to the Waveshare HAT.
After you hook up the Raspberry Pi Zero to the Waveshare HAT, you’re ready to set up the code.
The project code is Python. You’ll first need to go to the Waveshare instruction manual for the e-Paper Display HAT and enable the SPI interface. Then you’ll need to install the Python function library.
Once you’ve done that, you’ll need to install three Python packages: Pillow, NumPy, and tqdm.
In case you didn’t know, Pillow makes it possible for the Python interpreter to process images. NumPy, of course, takes care of numerical computation. And tqdm gives you a progress bar to see how far along a loop is.
Fun fact: tqdm is actually short for the Arabic word “taqaddum”, which means “progress”.
Then it’s just a matter of getting two Python scripts onto the Pi Zero. You can find them over on the GitHub repository here.
My favorite Paragon Projects are those that are just as simple as they are brilliant.
And if you’re looking for more Paragon Projects, you can check them out here.
I’d love to make it with a stronger Pi and then see if I could get a color screen!
What would you do with this project?