Skip to content

giuliomagnifico/PiArtFrame-CPP

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tweaked C++ port by kevlol of the runezor/PiArtFrame python project.

Changes

  • The concept is the same, but the rendering algorithm is different.
  • You can also render the Julia set fractal instead of the Mandelbrot. Check out the image at the bottom of the README to compare the two fractals. For more details, read the tips.
  • I also added a simple bash script to set it up.

Final result

final-2

Requirement

  • Raspberry PI (Zero 2)
  • Waveshare 7.5" 800x480px e-ink display: Link
  • 10x15cm frame, I used this one from Amazon Basics

Install

First, you need to enable the SPI interface so the Raspberry Pi can connect to the display. Usually by running:

raspi-config
Interfacing Options -> SPI -> Yes - enable SPI interface

On DietPi is under:

dietpi-config
Advanced Options -> SPI state -> Turn ON

After that, you'll need to install some software based on your PI OS. I'm using DietPi, so I used:

apt install gcc g++ make liblgpio-dev -y

To install and run this project, just download it:

git clone https://github.com/giuliomagnifico/PiArtFrame-CPP

cdintro the folder PiArtFrame-CPP and launch the config.sh file using:

bash config.sh

It will ask you how many minutes you want between creating new images on the display (default is 15). After that, it will compile the code with your settings and add the command to launch PiArtFrame at every reboot.

Render the Julia instead of Mandelbrot

If you want to use the Julia set fractal instead of the Mandelbrot, do the same steps but using the "julia-set" branch:

git clone --branch julia-set https://github.com/giuliomagnifico/PiArtFrame-CPP.git

and

bash config.sh

Enjoy the fractals!

Assembly

Assembly

final

Tips

You can use any Waveshare display, also smaller or bigger, but you have to change the main.c and Makefile code according to the EPD library of your e-paper. The libraries are all included inside the lib folder of this repository.

About

CPP Port of PiArtFrame

Resources

Stars

Watchers

Forks

Languages

  • C 99.8%
  • Other 0.2%