Arduino Projects

October 2022

Although my main focus is software, I do like to dabble with hardware from time to time as well. I have a few projects that I threw together using Arduino.

Gatsby Painting

Back in high school I bought an Arduino starter kit so that I could teach myself the basics of electronics. Once I completed the starter projects that come with the kit I wanted to do a project of my own. I had just read The Great Gatsby for a class and the movie came out recently, so I decided to do a painting of Gatsby's hand reaching out to the green light, but I wanted the green light to fade in and out like dock lights do.

With the help of one of my artistic friends, this was the final result:

The code was pretty simple, just two for loops inside of a while loop, one that added power to the LED until it hit 255 and one that subtracted power until it zero.

The only issue was the Uno was too big to fight behind the canvas and I wanted to use it for other projects as well. This led me do discovering a smaller microcontroller, an ATTiny85, that I could upload my program onto and keep taped to the back of the canvas. I added a battery pack and the whole thing turned out exactly like I hoped it would.

Wrench Mask

Several years later and I was trying to figure out a Halloween costume to wear to my friends party. I had just played the game Watchdogs 2 which has a character named Wrench who has a cool mask that displays LED emoticons. I wanted to try to recreate the mask but I didn't have a lot of money so I had to DIY it.

This is the result:

I achieved this by buying a strip of programmable LED lights, cut it up into ten strips that were seven LEDS long to make two 5x7 LED matrixes over each eye, leaving space between them to see through. I then stuck them to an old airsoft mask I had and had a friend help me solder them together.

The rest of the hardware was just a few buttons to swap the expressions, and once again I put the program on an ATTiny85 so that I could keep the whole thing in my pocket with a wire running up my shirt to connect to the mask.

In terms of software, I used a generic library for controlling LED strips and stored the facial expressions I wanted in bit arrays, one for each expression. One of the button switches the default expression from neutral to happy and back again, and the other button cycles through the other 4 or 5 expressions I made before returning to the default expression.

I learned a lot about electronics with these projects, and the interactions that occur between hardware and software. It's satisfying to be able to work on both and see the results of your effort in a very tangible manner.