Code & Graphics

Let’s get the tech set up before working on the crafty stuff.

Our MONSTER M4SK guide walks through the process of setting up the board for the first time. There are two, maybe three steps to this process:

  1. Get the onboard flash filesystem working. If your MONSTER M4SK board already shows up as a flash drive called “CIRCUITPY,” you can skip the initial steps!
  2. Get the eye code running in a basic state. If your M4SK board is already running eyes, do this step anyway to make sure you have the latest code.
  3. Install some graphics for this project’s eye designs.

Here’s the link to that guide:

The “Download Eye Graphics” button on that page gives you a ZIP file containing not just the default hazel eyes, but some specially-designed ones for this project as well. These are in two folders called “doom-red” and “doom-spiral.” With the MONSTER M4SK board connected to USB, copy both of these folders over to the CIRCUITPY drive.

Inside each of the folders is a file called config.eye. Move or copy that file out of one of those folders, into the “root” directory of CIRCUITPY. If you’ve been customizing the eyes on the board already, make sure you back up the original config.eye first!

“Doom” in this case refers to the character Judge Doom from Who Framed Roger Rabbit? In the film’s climax, freaky 2-D animated cartoon eyes were superimposed over actor Christopher Lloyd’s face, fueling kids’ nightmares for generations to come! I was aiming to mimic a couple of these effects…

The doom-red eyes are modeled after the red-irised eyes he wears for most of this part of the movie.

There’s a short moment where the character’s eyes go through several bizarre patterns, including the classic cartoon “hypno eyes.” A last-minute addition to the eye animation code made it possible to spin the eye graphics…specifically so I could make this effect!

Most any MONSTER M4SK eye graphics should work okay, but I made a few tweaks to these specifically to assist with the Pepper’s ghost effect…

  • Both of these eye designs are more wide-open than the stock eye graphics. This helps obscure the wearer’s own eyes at more angles…and conveniently is more on-model with this character.
  • Also, they don’t blink all the way closed. Because “off” pixels are transparent in this gag, the wearer’s eyes would briefly be visible any time the overlaid eyes blink. This half-blink still gives a reasonable impression of blinking and misdirects watchers from seeing your eyes.

These adjustments were made using the upper.bmp and lower.bmp eyelid bitmaps, plus the squint setting in config.eye. If making your own ghost-eyes, you can copy those files as a starting point. Or you could do no eyelids at all. Even the default eyes would be intense over a skull-painted face that way!

But Wait, There’s More…

If the eye code just doesn’t do what you want…really any graphics you can display on the MONSTER M4SK screens could be used with this gag. Writing your own code is one option. Or, as I’m writing this, Ladyada is making headway on an animated GIF player, which opens this up to pretty much anything!

If there’s any content that’s left/right sensitive (e.g. text or certain graphics), flip the image horizontally, since this project uses a reflection. We don’t bother with the eyes since they look OK either way.

This guide was first published on Sep 10, 2019. It was last updated on 2019-09-10 01:49:31 -0400. This page (Code & Graphics) was last updated on Sep 16, 2019.