Overview
The animated eyeballs on the MONSTER M4SK and Hallowing boards are an Adafruit spooky season staple. But, new boards and displays have come into vogue and it was time to revisit this code base. The amazing ground work had been laid by Phil B., so it was just a matter of reorganizing and porting the math.
The new version is called Adafruit Monster Eyes, and it's an Arduino library! That makes it a lot easier to integrate into your projects. It has been tested with the following platforms:
- RP2 (RP2040 and RP2350) with ST7789 and GC9A01A TFT LCD displays
- Espressif (ESP32 family) with ST7789 and GC9A01A TFT LCD displays
- Qualia ESP32-S3 with round TTL RGB-666 LCD displays
- PicoDVI boards (output goes to HDMI monitors)
That's a lot of eyeballs! But is the blinking and gazing as eye-catching as the original code? Here is the FPS performance across platforms that you can expect:
| MCU:Display | 1 eye | 2 eyes |
|---|---|---|
| RP2040 : TFT | 24 FPS | 13 FPS |
| RP2350 : TFT | 37 FPS | 19 FPS |
| RP2040 : DVI | 180 FPS | 100 FPS |
| ESP32-S2 : TFT | 32 FPS | 16 FPS |
| ESP32-S3 : TFT | 39 FPS | 20 FPS |
You can also see demo GIFs for the various boards and displays throughout the guide.
Order of Operations
This guide will walk you through how to hit the ground running with Adafruit Monster Eyes. You will:
- Install CircuitPython on your board to drag and drop your chosen eyeball graphics
- Install the Adafruit Monster Eyes library
- Wire up your hardware with your board and display choice
- Upload the example code for your hardware setup
Page last edited September 25, 2026
Text editor powered by tinymce.