Episode: 4652
Title: simon says
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr4652/hpr4652.mp3
Transcribed: 2026-07-31 16:16:02 (official HPR transcript)

---

This is Hacker Public Radio Episode 4652, for 2026-06-02
Today's show is entitled, "simon says"
The host is Brian-in-Ohio and the duration is 00:06:45
The flag is Clean, and the license is CC-BY-SA
The summary is "a game for my grandsons"
Hello, Hacker Public Radio Brian and Ohio here. I'm out from under my rock and it's been a while.
I've much enjoyed the HPR submissions recently and I'd realize it's high time I get off my
death and put together a couple of shows myself. I recently completed, while as much as any
hobby project is complete, a device that I hope my grandson may come to join all its ways.
What I built was a Simon game clone. If you haven't seen or played Simon, I'll give you
a quick description and I'll point you to a Wikipedia article of a link in the show notes.
The device is for integrated LED push buttons that are color green, yellow, red, and blue,
and it also has a small speaker. The device lights up an LED plays tones to the speaker
and accepts user input via buttons. The game plays simple. The device flashes a light and plays a tone.
You're then to echo the sequence by pushing the appropriate buttons and seeing the light
hearing the tone and with every correct play back on your part Simon adds a light and a tone.
You play until you hit 31 and a row or fail with flashing lights in a harsh buzzer.
I'll play a quick round here and record the sounds and I'll do a purposeful fail after three tries.
The rationale behind building this device came after reviewing and thinking about some of the
ZAD retro computing episodes that I've done quite a while ago, I should on
a hacker public radio. That time, without it, it would be fun to build and play with an
8-bit retro computer with my grandsons. Those boys for them and all are five years old and
under and while listening to podcasts about retro computing, I came to realize that many people
who began their journey into the world of computers began by playing computer games.
It became clear to me after reflecting that building a ZAD retro computer with one of those kids
would be something to do after they've shown some interesting computers and electronics. Not as
a way to further start into computers. So after much thought, I came up with the idea of building a
Simon game clone with a twist. The device can merely be a game but for the curious mind,
it's also is a fully interactive computer that can be programmed by putting a PC
and using a serial terminal to interact with the device. So what's this device made of
you might ask? Well, it shouldn't come to us as a surprise. It's in Arduino Uno,
R3 development board. It's controlled by 328 E4. It has a custom shield that has the buttons
and the speaker on it and it has a non 3D printer box to hold it all together. I'll put some pictures
in the show notes. Before I talk about how I put together the project, I want to take
moment to give props to the original Arduino project. A lot of people would say that Arduino's
are dried up and old and most projects you see today on the internet involved devices like
that use piepecos and ESP32s and things such as that. Most devices are fine but I bet many people
haven't really plumbed the depth of a microcontroller like the at mega 328. These chips are cheap and
powerful and there are many design files out there for projects. You can even build up an Arduino
from scratch if you want to and there's a lot to learn but there by doing that.
So after sketching up the bare circuit I settled on using the microcontrollers port b for the
button input port c for the LEDs and one pin on port d for the speaker.
These choices map into the Arduino world as digital pins 9 through 12 for the LEDs and
like pin 0 to 3 for the button input and digital 6 for the speaker. On the side note the
and like pins on the Arduino are not analog I only. These pins can be used as digital I also.
An abstraction in the Arduino world that has many people running to port expanders when they
might not need them. Building the device wasn't that difficult. Now and down the
components which ones to use and what would fit and what wouldn't was where the majority of my time
was spent. Sourcing the parts consisted of searching on Amazon. The key to the device was the
LED push button combinations. Once I found these LED push button switch combinations that is it's
a switch and an LED in one package that a device began to take shape almost designing itself.
I used a bare bone or Arduino shield to build up the circuit. These through hole and
popular chills are easy to come by as were the small speakers. The box to contain the
product was the hardest part. I ordered ended up ordering many different boxes before I found
one that would work. Being just the right size to hold the Arduino shield and the battery.
A few carefully drilled holes with some drama work and I had a box that I think looks pretty good.
I used a bare micro chip at mega 328p on a breadboard to confirm components and work up some of
the firmware before turning on any soldering arms. In the next episode I'll describe the fourth
vocabulary I built up to play the game. Some enhancements that I made to 328 e4 and just some
things I learned about some of the tricks of getting a game to play on a small 8-bit micro controller.
So that's it for now. Check out the show notes to see what the Sonic clone looks like.
With that Brian O'Neill you're signing off. Reminding everyone,
sublance and DB's Bedan. Pick up a mic and record a show for HPR. Bye-bye.
You have been listening to the Hacker Public Radio podcast, at hackerpublicradio.org.
Today's show was contributed by a HPR listener like yourself.
If you ever thought of recording a podcast, then visit the HPR site to find out how easy it really is.
Hosting for HPR has been kindly provided by anhonesthost.com, the Internet Archive, rsync.net, and the HPR Community Content Delivery Network.
Unless otherwise stated, today's show is released under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.
