When I first learned about computers in college (1963) I never quite understood the relationship between binary/octal/hex/ascii/op-codes and other details of computer innards. In the mid 80s I built an IMSAI 8080 and it had a set of switches to input data and I finally figured it out. That computer is long gone but the excitement of that learning experience has always stuck with me. Fast forward to 2020: I volunteer at a museum in Chatham, MA, and we desired some small STEM exhibits to teach basic math and engineering to school kids in the fourth grade and up. I built this game to engage kids and teach them how computers use binary numbers to encode alphabet letters. Here’s the challenge question:

Question:

If computers only know about ones and zeros, how do computers make letters?

The answer is “there is a code”, but kids get to have hands-on experience flipping the eight toggle switches to spell their names one letter at a time. They refer to the list of letters and their ASCII equivalent 8 digit binary code, flip the switches with satisfying clicks, and press the green Enter button to add on a letter. Make a mistake? Press the red Reset button to clear the display and start over. Youngsters will play the “game”, show their friends how to do it, and do it over and over… 16 letters is enough for most names as well as funny stuff like poopoohead.

Supplies
- 8 toggle switches SPST
- 8 tricolor LEDs, common Anode (I used RGB, but RG would work)
- 8 2.2K resistors
- 2 SPST pushbuttons
- 16x2 LCD Panel
- Arduino Mega or similar
- 10K potentiometer
- 1K potentiometer
- 9 volt power supply to power the Arduino which then feeds 5volts to LCD and LEDs”