A minimalist animated cat running on a Raspberry Pi Zero 2 WH with a 2.13" Waveshare Touch e-Paper display (250Γ122).
The cat idles, walks, sleeps, and reacts over time with smooth transitions and a cozy e-ink aesthetic.
- Raspberry Pi Zero 2 WH (or any Pi with GPIO and Python 3)
- Waveshare 2.13" Touch e-Paper display (250Γ122)
- Raspberry Pi OS (Bookworm or Bullseye recommended)
- Python 3.9+
- A set of
.pnganimation frames exported from.giffiles
Directory structure:
catmagotchi/
βββ animations/
β βββ idle/
β βββ sleep/
β βββ β¦
βββ lib/
β βββ waveshare_epd/
βββ main.py
βββ requirements.txt
βββ README.md
sudo apt update
sudo apt install -y python3 python3-pip python3-pil python3-pil.imagetk python3-numpy python3-spidev python3-tk gitPillow, NumPy and SPI support are installed via APT for performance and compatibility reasons.
git clone https://github.com/waveshare/e-Paper
cd e-Paper/RaspberryPi_JetsonNano/pythonInstead of installing the driver with setup.py, copy it manually to the project:
mkdir -p ~/catmagotchi/lib
cp -r lib/waveshare_epd ~/catmagotchi/lib/If youβre using the preview mode on macOS or a Linux desktop:
pip3 install -r requirements.txt --break-system-packagesOr use a virtualenv:
python3 -m venv cat-env
source cat-env/bin/activate
pip install -r requirements.txtTo run on the e-Paper display:
cd ~/catmagotchi
python3 main.pyTo run desktop preview mode (for development on macOS/Linux):
python3 main.py --previewPillow
spidev
numpy
Note: numpy, spidev, and pillow are preferably installed via apt for best performance on Raspberry Pi.
- Add touch support (wake, play, feed)
- Integrate a basic UI with bubbles or reactions
- Trigger behaviors based on time of day or sensors
Built with β€οΈ and Python by Maxence Rose, inspired by Tamagotchis, e-ink magic, and cozy low-power interfaces.