The Goal

To create a module for my modular synth that had a screen and would play the bongo cat gif when given a gate signal.

The Process

I first had to find out how exactly to use an arduino to play a gif. I found the AnimatedGif library that was robust and quick, and then bought a microcontroller that meant the minimum specs given by the library, namely the 24K of RAM. The Adafruit Feather M0 Express with the Adafruit 1.14" 240x135 Color TFT Display were the board and screen that I decided to use.

After I got the hardware, I started to experiment with the library and modified an example sketch to get the screen working (after many difficulties that I can't recall). Once I had the gif playing regularly, it was a simple matter of adding the audio jack to trigger the frames and treating it like a button input.

After everything worked, I soldered it to a breadboard and ordered my custom front panel. The only problem I had when putting that on was the pins from the display were touching the faceplate which was aluminum and was getting grounded so my display wasn't working on boot. After messing around for a few minutes, I discovered this issue and resolved it with a bit of tape. This problem added kapton tape to my next online parts order.

Lessons

I learned two main things from this project. The first that I should ALWAYS check the power requirements of the board before buying. The board I chose did not have direct power in except for USB or a battery pack through JST. Since this project was part of a modular synth with an internal power supply, I wasn't going to use a battery, so I ended up buying a simple USB module that I stuffed into my case and plugged in power through that. The second thing I learned was that there's probably a better way to step down voltage. I used a voltage regulator between the input jack and the arduino, but after some research I did after completing this project, I found that I should have used a clamping diode or voltage divider.

Result

Gif showing off the Hard G module at various angles and frames of animation