My goal here was to figure out a way to program long sequences based on real events.

For instance, each pulse of channel A can used to represent as a single day in history. The rest of the channels can then be programmed using a text file stored in a MicroSD card.

In my demo, I have a 42-thousand day sequence that would fire off gate signals if an earthquake happened that day.

I have yet to try it with other datasets. What would typhoons over the Philippines sound like? Meteor showers? Jupiter visible over your house?

Because the sequence is read and looped directly from the MicroSD card, it is not bound by the Arduino’s RAM limitations. I’ve tried 160k+ steps with no problem!


Here’s a demo if on Youtube!


This build is composed of an Arduino, a MicroSD adapter, some pots, and an output buffer that woud boost the outputs up to +12V.


This circuit off of a +12V supply and GND. Click on the image for a larger view.

Arduino Code

The full Arduino code for this can be found on my Github page.

Pattern Generator

Some pattern files can be downloaded from the repository. Right now, the module is hardcoded to read the sequence from a file called default.txt.

Replace the contents of that file with the pattern you like. It has to be in the following format:


Where each row is a step in the sequence and each character represents gate B, C, and D from left to right. There has to be no extra rows before and after the file.

I also have a Jupyter Notebook that I used to generate the Earthquake sequence based on data I’ve downloaded from NOAA.


I this build has a lot of potential. I will definitely build on this more. Maybe add a way to switch between multiple sequences loaded on to the card?

Let me know what you think! Tag or DM me on Instagram @benjiaomodular.