HackerBox 0114: WOPR
by HackerBoxes in Circuits > Microcontrollers
357 Views, 1 Favorites, 0 Comments
HackerBox 0114: WOPR

Welcome to HackerBox 0114. Assemble a 1U Server Rack Display of Blinkenlights inspired by the WOPR computer from the movie WarGames. Scroll messages or display patterns on the 8x96 LED pixel matrix. Configure an ESP32-C3 Supermini Development Board as well as an ESP32-S3 Development Board featuring an integrated 1.9 inch 170x320 resolution full-color smart display. Explore various sample firmwares. Experiment with the ESP32 Marauder's suite of Wi-Fi and Bluetooth security tools for both offensive and defensive operations. Study the history of telephone phreaking exploits.
There is a wealth of information for current and prospective members in the HackerBoxes FAQ. Almost all of the non-technical support emails that we receive are already answered there, so we'd really appreciate it if you can take a few minutes to read the FAQ.
Supplies
This Instructable contains information for getting started with HackerBox 0114. The full box contents are listed on the product page for HackerBox 0114 where the box is also available for purchase while supplies last. If you would like to automatically receive a HackerBox like this right in your mailbox each month, you can subscribe at HackerBoxes.com and join the party. Subscription members save at least $15 every month and automatically receive each new HackerBox shipped immediately off the production line.
A soldering iron, solder, and basic assembly tools are generally needed to work on the monthly HackerBox. A computer for running software tools is also required. Have a look at the HackerBox Workshops for tools and supplies along with a wide array of introductory activities and experiments.
The most import thing you will need is a sense of adventure, hacker spirit, patience, and curiosity. Building and experimenting with electronics, while very rewarding, can be tricky, challenging, and even frustrating at times. The goal is progress, not perfection. When you persist and enjoy the adventure, a great deal of satisfaction can be derived from this hobby. Take each step slowly, mind the details, and don't be afraid to ask for help.
WEAR SAFETY GLASSES WHEN SOLDERING, WHEN TRIMMING WIRE LEADS, OR WHEN CUTTING, DRILLING, ETC.
Blinkenlights

This project was inspired by the 1U Rack mount WOPR LED Enclosure from [aforsberg] as reported in Add A Little WOPR To Your Server Rack from Hackaday. Fascinated by the WOPR computer from the movie WarGames, [aforsberg] recreated the WOPR's LED display at a scale suitable for a 1U server rack.
The image above is from the 1U WOPR (printables remix) by Seth.
In computer jargon, blinkenlights are diagnostic lights on front panels of old mainframe computers. More recently the term applies to status lights of modern network hardware (modems, network hubs, etc.). Blinkenlights disappeared from more recent computers for a number of reasons, the most important being humans can no longer interpret the processing of faster CPUs on the fly.
ESP32-C3 Supermini Development Board

For the W.O.P.R. project, we'll be leveraging the ESP32-C3 Supermini Development Board.
Before doing any soldering...
Let's power up the ESP32-C3 development board and verify the tool chain.
When power is first applied to the board using a USB-C cable, the Red Power LED will illuminate but nothing else will happen.
Install the Arduino IDE, if necessary.
Within the IDE, use the Boards Manager to search for ESP32 (by Espressif Systems).
Select that board package and hit install.
Select: Tools > Board > ESP32 > Nologo ESP32C3 Super Mini
Open the example sketch:
File > Examples > Basics > Blink
Program the sketch to the board.
If the programming process has a connection error, force the development board into bootloader mode:
- Hold down the BOOT button
- Press the reset (RST) button
- Release the RST button
- Release the BOOT button
- Try to program the sketch again
If everything is in order, the blue onboard LED (GPIO 8) will blink.
After programming, you may need to reset the development board (press the RST button) to force a restart.
Some interesting thoughts on the CA-C03 ceramic chip antenna used on this development board.
The First LED Module

Solder the ESP32-C3 Supermini onto the purple WOPR Control Interface PCB as shown in Figure A. If you are new to soldering castellated modules, review this SparkFun tutorial.
Open one of the MAX7219 8x32 Dot Matrix Display Modules. Note that there are four white 8x8 LED packages on the module. Next, identify the INPUT end and the OUTPUT end from the pin labels and/or the arrows. Once you know your GUZ-INTAS from your GUZ-OUTAS, focus on the INPUT end. Gently unseat and remove the white 8x8 LED package from the INPUT end of the module.
Snap off five male header pins. Place the short side of the header pins through the back of the INPUT header as shown in Figure B. Check again that this is the INPUT and NOT the OUTPUT. Solder the five header pins. Gently reseat the 8x8 LED package making sure to orient it so that the printed edge marking (and the little white tab next to that) face the same way as the other three 8x8 LED packages. Now the INPUT will look like Figure B.
Gently slide the black plastic insulation from the header pins that were soldered to the INPUT of the LED module.
Place the purple WOPR Control Interface PCB onto the header pins as shown in Figure C.
Holding the purple WOPR Control Interface PCB onto the header pins as shown in Figure D (parallel to the MAX7219 module), solder the five pins onto the purple WOPR Control Interface PCB.
Apply USB-C power. If nothing is shorted out, the blue onboard LED (GPIO 8) will still blink.
Time for some code...
Using the Library manager in the Arduino IDE, search for and install MD_Parola by majicDesigns.
While installing, let is also pull in MD_MAX72xx as a dependency.
Open the sketch: File > Examples > MD_MAX72XX > MD_MAX72xx_Test.ino
Replace the five #defines starting at line 24 with these:
Program the sketch to the development board for some happy fun LED time. Do not taunt happy fun ball.
Link Up Two More LED Modules

On the same MAX7219 8x32 Dot Matrix Display Module with the ESP32 controller, prepare header pins on the OUTPUT end in a similar fashion as we did with the INPUT end:
- Gently unseat and remove the 8x8 LED package from the OUTPUT end.
- Snap off five male header pins.
- Place the short side of the header pins through the back of the OUTPUT header as shown above.
- Solder the five header pins.
- Gently reseat the 8x8 LED package - again match the orientation.
- Gently slide the black plastic insulation from the header pins.
Open the second one of the MAX7219 8x32 Dot Matrix Display Modules.
Prepare the header pins on the INPUT end, just as before.
Abut the OUTPUT end of the first LED Module with the INPUT end of the second LED Module.
Slide one of the blue WOPR Connector PCBs over the ten pins as shown in the image above.
The blue WOPR Connector PCB can be oriented either way and flipped with either side facing up.
Holding the blue WOPR Connector PCB flat against the LED Modules, solder the ten header pins.
Now the first MAX7219 8x32 Dot Matrix Display Module is coupled (mechanically and electrically) to the second one.
Repeat this entire process to couple the second one to the third one.
Make sure all of the arrows are pointing in the same direction.
Time for some code...
Open the sketch: File > Examples > MD_MAX72XX > MD_MAX72xx_Pacman.ino
Replace the five #defines starting at line 24 with these:
Program the sketch to the development board.
For some WOPR-style blinkenlights, download the attached WOPR_BLINKENLICHTEN.ino sketch.
Downloads
ESP32-S3 Development Board With Smart Display

This super thin ESP32-S3 Development Board features a built-in 1.9" 170x320 Smart Display. The board is also known as ESP32-1732S019. It's sort of a cousin to the ESP32-2432S028R (CYD) that we explored in HackerBox 0099.
When power is first applied to the dev board, we see a nice colorful graphics demo.
For your reference, the board schematics are attached below in PDF format.
CONFIGURE THE ARDUINO IDE
Use the IDE Board Manger to roll ESP32 (from Espressif) back to version 2.0.11
Use the Library manager to install TFT_eSPI by Bodmer
Next, configure the User_Setup.h file associated with TFT_eSPI.
In Linux, it is located here: ~/Arduino/libraries/TFT_eSPI/User_Setup.h
In Windows, it is located here: Documents\Arduino\libraries\TFT_eSPI\User_Setup.h
Edit the file to configure these parameters:
Select: Tools > Board > ESP32 > ESP32S3 Dev Module
Select: Tools > Port > wchusb
Open an example sketch, such as:
File > Examples > TFT_eSPI > Generic > Julia_Set.ino
Program the sketch to the development board.
A COOL STATUS DISPLAY EXAMPLE
Grab the sketch from this repo.
Use the Arduino IDE Library Manager to add these three additional libraries:
- NTPClient by F.Weinberg
- HTTPClient by A.McEwen
- ArduinoJson by B.Blanchon
Next enter the SSID and password for a 2.4GHz Wi-Fi Network.
Program the sketch to the development board.
Downloads
ESP32 Marauder

Talking Sasquatch Video: Definitive Guide to JustCallMeKoKo's ESP32 Marauder!
Many of us know of Fr4nkFletcher from his amazing work porting the ESP32-Marauder firmware to the Cheap Yellow Display (CYD). Well, we sent him one of the ESP32-1732S019 development boards and he quickly worked his magic once again! So now the ESP32-Marauder firmware is available for the ESP32-1732S019.
Explore the main Cheap Yellow Marauder (CYM) Repo for all the details.
OR JUST QUICK START...
Go to the CYM Web Flasher
Hit Connect and Select the wchusb port
Select Board: Type-C w/o touch 1.9"
Select Version: Current
Hit Program and watch the progress
SCROLL DOWN BUTTON
Navigating the ESP32-Marauder firmware requires at least two buttons. The boot button (GPIO 0) serves as the select button, but another button needs to be added to provide the "scroll down" menu functionality. This input is mapped to GPIO 47.
In a pinch, you can scroll down by tapping a jumper wire between GND and GPIO 47.
For a more robust solution, solder a button between those two pins. The pin spacing supports insertion of a very common 6x6mm (4 pin DIP) Tactile Button. You probably have one of these sitting around. Check the HackerBox Basics Workshop, Core Workshop, or HackerBox 0102 among others.
For a tighter and more finished looking solution, try something like a 3x4x2 mm SMD Tactile Micro Pushbutton like the one shown in the image. Amazon has some here: https://amzn.to/3GvEb9s
Both of those types of buttons (along with 24 other types) are also included in this nice collection of 260 pushbuttons: https://amzn.to/4jxscXI
Phreak Out

Phreaking is a slang term coined to describe the activity of a culture of people who study, experiment with, or explore telecommunication systems, such as equipment and systems connected to public telephone networks. The term phreak is a sensational spelling of the word freak with the ph- from phone, and may also refer to the use of various audio frequencies to manipulate a phone system. Phreak, phreaker, or phone phreak are names used for and by individuals who participate in phreaking.
The term first referred to groups who had reverse engineered the system of tones used to route long-distance calls. By re-creating the signaling tones, phreaks could switch calls from the phone handset while avoiding long-distance calling charges which were common then. These fees could be significant, depending on the time, duration and destination of the call. To ease the creation of the routing tones, electronic tone generators known as blue boxes became a staple of the phreaker community. This community included future Apple Inc. co-founders Steve Jobs and Steve Wozniak.
The blue box era came to an end with the ever-increasing use of digital telephone networks which allowed telecommunication companies to discontinue the use of in-band signaling for call routing purposes. By the 1980s, most of the public switched telephone network (PSTN) in the US and Western Europe had adopted the SS7 system which uses out-of-band signaling for call control (and which is still in use to this day), therefore rendering blue boxes obsolete. Phreaking has since become closely linked with computer hacking.
Additional interesting videos...
The 8-Bit Guy: How Telephone Phreaking Worked
Connections Museum: 2600? How Phreaking Really Worked
Cybercrime Magazine: Steve Wozniak Phreaks Out On The History Of Hacking
War Operation Plan Response

We hope you are enjoying this month's HackerBox adventures into electronics, computer technology, and hacker culture. We aim to curate a challenging and rewarding experience of learning through experimentation and exploration. Thank you for joining us on this journey.
Reach out and share your success in the comments below. Email support@hackerboxes.com anytime with questions or whenever you need some help.
Hungry for more? Surf over to HackerBoxes.com and join us as a monthly HackerBox subscription member. You'll get a cool box of hackable gear delivered right to your mailbox every month and you'll enjoy a generous member discount.
Please consider sharing this free Instructable with others who may be interested in learning about these subjects. Word of mouth advertising is the greatest compliment that we can receive. We sincerely appreciate your support.