Each year around Halloween these spooky eye projects keep popping up in my timelines. There are all kind of really fancy hardware (e.g. circular displays) and software (e.g. motion tracking eye movements) solutions out there for these projects. However, I decided to do a spontaneous quick build with what I had lying around.
Luckily, I have a couple of spare Raspberry Pi Picos (a rare luxury these days, I heard) and this Waveshare 1.8 inch LCD for the Pico. I had not find a good application for this display yet, so this was the perfect opportunity.
As it turned out, it only took a few steps to turn this display into a spooky eye project.
Download the Display Driver for the Pico LCD
The driver software is directly available from the product site.
The driver is a simple MicroPython program that must be deployed
onto the Pico as
main.py which then takes control over the LCD.
Upon a closer look, we can see that the
LCD_1inch8 class that acts as the
driver for the hardware derives from the MicroPython
This means all its convenience methods like
are available to us.
The Spooky Eve Code
Knowing that, we can do the whole (admittedly very plain) implementation of the spooky
eye with just a few
ellipse instructions. But don't judge me - I'm a bit late for this
whole project, as it's Halloween today 😆.
# # ... downloaded driver code # offs = 20 while True: x = 80 + offs y = 64 LCD.fill(0) LCD.ellipse(x, y, 55, 55, LCD.RED, True) for r in range(25): LCD.ellipse(x, y, 30 + r, 30 + r, LCD.WHITE) LCD.ellipse(x, y, 30, 30, LCD.RED, True) LCD.ellipse(x, y, 15, 15, LCD.BLACK, True) LCD.show() offs = offs * -1 time.sleep(2)
(find the complete source code here)
And we're done already!
Now I only need to attach the Pico to a portable battery and mount it somewhere outside our house to scare a few trick-or-treaters tonight.