Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
VGSources
Blog

Building Two Handheld Pong Consoles With Local Wireless Connectivity

A practical guide to the two-unit ESP8266 Pong project: how its ESP-NOW host/client design works, what parts it needs, and what to verify before building.
Length9 min Posted Quest giverVGSources Team

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

This project builds two small handheld Pong consoles that communicate directly over ESP-NOW: no Wi-Fi router or internet connection is needed. Each unit uses a LOLIN D1 Mini with an ESP8266, an 84×48 Nokia 5110 display and physical controls; one runs as the host and the other as the client. The original project, published by All About Circuits on March 3, 2024, is a useful reference build, but its linked software instructions are version-specific and some wiring and library details need checking before assembly.

What the project builds

The demonstration is a pair of handhelds for a two-player Pong-style game, not a single console or a general-purpose emulator. The host starts each match and keeps the authoritative game state. The client sends its paddle input and renders state received from the host. The original article’s parts list is for one unit, so a multiplayer pair needs two complete builds. See the original project and its downloadable files.

Each console combines a LOLIN D1 Mini (ESP8266), Nokia 5110 LCD, PCF8574 I/O expander, buttons, buzzers and an ATtiny85/45 audio controller. It can be prototyped on a breadboard, moved to perfboard, or built around the Eagle PCB files supplied with the project.

How the local wireless link works

ESP-NOW uses the ESP8266’s Wi-Fi radio for direct device-to-device communication. In this design, each board addresses its peer by MAC address. That is distinct from ordinary infrastructure Wi-Fi: the consoles do not need to join a router, reach the internet or use a cloud service.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
5-in-1 Hand Held Poker Game - Electronic Handheld Games for Adults Includes Draw, Deuces, Bonus, 2X and 2x2 Bonus - 3.9x3.4-Inch Pocket-Sized Travel Casino by Trademark Poker
  • HANDHELD VIDEO GAMES - Thanks to the deluxe handheld games for adults, "what happens in Vegas" can now happen wherever you are. This small games machine is pocket-size so you can play five of the most exciting classic poker games anytime and anywhere.
  • 5 IN 1 HANDHELD GAME MACHINE - This hand held game device features five classic casino games in one pocket-sized device. The ultimate in gambling gifts, this handheld game comes with Draw, Deuces, Bonus, 2x Bonus, and 2x2 Bonus for hours of entertainment.
  • AUTO SHUT-OFF - This hand held poker machine features a shut-off timer that automatically turns off after 2 minutes of inactivity. Powered by the included AA battery, this casino games compendium will have you playing and laying bets straight out the box.
  • HANDHELD GAMES FOR ADULTS AND TEENAGERS - It's recommended this handheld game machine is only used by adults and children aged 13 and older. These electronic games are a fun and popular gambling gift idea for those who enjoy the thrill of playing poker.
  • PRODUCT DETAILS - Materials: Plastic. Dimensions: (L) 3.9" x (W) 3.4" x (H) 0.6". 1AA Battery Included. Color: Red.

The host calculates the moving ball, collisions and score, then sends relevant game state to the client. The client sends paddle direction and displays the received state. Keeping one authority avoids two independent simulations drifting apart—a useful design choice on an 84×48 display, where a one-pixel difference is noticeable. The project’s sketches include a MAC-address finder; the resulting peer addresses are hard-coded into the host and client firmware.

The article does not document packet fields, sequence numbers, update rates, loss handling, reconnection, or a pairing interface. Treat its communication design as a fixed-pair example rather than a finished general-purpose multiplayer protocol. If a board is replaced, its MAC address may need to be found again and updated in the opposite unit’s sketch.

Parts list

The source list is per console. Quantities for two matching units are shown alongside it; these are counts from the published design, not a verified purchase list for every module revision.

Rank #2
Sale
TaddToy 16 Bit Handheld Game for Kids Adults, 3.0'' Large Screen Preloaded 230 HD Classic Retro Video Games with USB Rechargeable Battery & 3 Game Cartridges for Birthday Gift for Kids 4-12 (Blue)
  • Brand New Game Console: This handheld video games built-in 230 newly designed educational puzzle and leisure, racing, fighting, adventure games without repetition. Also comes with 3 game cartridges, each with a separate classic game. Have fun playing the game console while they work on important developmental skills such as hand-eye coordination, thinking and problem-solving skills
  • Larger and Clearer Screen: 3 inch high definition ​display and substantially more stable, no longer prone to black screen. To ensure the portability and the comfort of playing the game. Our gameboy is not too bulky or too small, perfectly tailored for children. Warm tip: Please tear off the protective film before use
  • Rechargeable Battery: Our handheld games built-in 800mAh high-capacity lithium battery, which can be charged and played at the same time. After each full charge, the game can be played for 5 hours. When you are on a business trip, travel, camping, you don't have to worry about running out of power. (Note: Please fully charge the battery before the first use
  • Sturdy and Durable: The shell of this handheld game console is made of sturdy and environmentally friendly plastic. Anti-fingerprint and anti-scratch. Tested for a long time and real experience, it is strong enough to withstand daily drops
  • Perfect Gift for Kids & Adults: This retro handheld game systems can definitely bring you and your children a surprise. It is perfect as a gift for birthday, Christmas, party
Part Per console For two consoles Purpose
LOLIN D1 Mini (ESP8266) 1 2 Main controller and wireless radio
ATtiny85 or ATtiny45 1 2 Music playback
Nokia 5110 LCD 1 2 84×48-pixel monochrome display
PCF8574 1 2 Eight-bit button I/O expansion
Buzzer 2 4 Game effects and music audio paths
Buttons 8 16 Directional and general-purpose controls
10 kΩ resistors 10 20 Button and I²C networks
330 Ω resistors 2 4 Buzzer circuits
Two-position DIP switch 1 2 Audio muting
On/off switch 1 2 Main power control
Header set 1 2 Interconnections
Four-cell AA or AAA battery holder and cells 1 holder, 4 cells 2 holders, 8 cells Portable power
Breadboard, perfboard or custom PCB 1 2 Assembly platform

The original design’s eight-button arrangement allows room for menus or future games, although its basic Pong controls need only two paddle buttons per player plus the host’s separate start control. The article does not provide a verified enclosure, battery-runtime figure or measured current draw.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Plan and assemble the circuit carefully

The original article supplies a schematic and Eagle PCB files, but not a reliable text-rendered pin-by-pin wiring table. Without inspecting the schematic and files for the exact board revisions being used, it would be unsafe to invent pin assignments. Use those design files as the wiring reference and verify every module’s pin labels and voltage requirements before applying power.

  • Connect the ESP8266 to the Nokia 5110 module according to the project schematic; the display uses a PCD8544 controller and an Adafruit PCD8544-compatible library.
  • Connect the PCF8574 to the ESP8266’s I²C lines, and wire buttons to the expander inputs using the intended pull-up arrangement. Confirm the expander address pins and the actual board’s I²C pull-ups.
  • Place the specified 330 Ω resistors in the buzzer paths as shown in the schematic. Check whether the buzzer is passive or active and its voltage and current requirements; do not assume every buzzer can be driven safely from a GPIO. Add a driver if the load exceeds the board’s GPIO limits.
  • Wire the ATtiny’s music-selection inputs and reset control to the ESP8266 as shown. Give the systems a common ground so control signals have a shared reference.
  • Check the four-cell battery pack’s voltage against the specific D1 Mini regulator/input limits. The source also permits powering a D1 Mini through USB during development; it does not establish that any four-cell pack can connect directly to every board.

Module layouts vary, especially among inexpensive LCD and D1 Mini variants. Confirm supply voltage, logic levels, polarity and pinout from the exact module documentation. A breadboard is fastest for initial experiments but can be bulky and prone to intermittent connections; perfboard is more durable but demands careful point-to-point wiring; a custom PCB is compact and repeatable but adds fabrication and validation work.

Rank #3
Sale
John N. Hansen Mega Screen Handheld Solitaire Game - Klondike Style Video Play for Ages 8+
  • 2 Games in 1
  • Large easy to read screen
  • Play Draw 1 or Draw 3 Klondike Solitaire
  • Game turns itself off after sitting idle for two minutes
  • 2 AAA batteries included

Prototype in stages

  1. Test the display alone. Wire the LCD, compile a minimal PCD8544 graphics example, and check that text and pixels appear before adding wireless or button circuitry.
  2. Test the controls. Verify each PCF8574 input changes predictably, with no floating lines. Confirm the expander address and library match the installed hardware.
  3. Test ESP-NOW between the two boards. Run the MAC-address finder sketch on each D1 Mini, record both addresses, and verify a small message passes in each intended direction before loading the game.
  4. Test each audio path separately. Confirm game tones from the ESP8266 buzzer and separately program and test the ATtiny music controller.
  5. Integrate one unit at a time. Add the full host and client firmware only after the display, controls, link and audio work independently; this narrows the cause of failures.

Set up the display, controls and sound

Graphics and controls

The Nokia 5110 display is 84×48 pixels. The project uses Adafruit GFX with PCD8544 support to draw the menu, court borders, center divider, player labels, paddles, ball and scores. Artwork can be converted into bitmap data with image2cpp.

The PCF8574 supplies eight I/O lines for Left, Right, Up, Down and A–D. The project text also names a PCF8575.h library while describing a PCF8574. These are different expander families, not interchangeable labels. Check the supplied code and schematic to identify the intended chip-library pairing before installing a library or wiring a board; do not assume a PCF8575 library works with a PCF8574.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Audio

The ESP8266 uses Arduino’s tone() function for game effects. A separate ATtiny plays looping music: two ESP8266 outputs select among tracks, and a third resets the ATtiny so it can leave a loop and read a new selection. MIDI-to-Arduino conversion is used for short music snippets, but the ATtiny’s limited memory constrains their size.

Rank #4
Sale
Mega Screen LCD Electronic Handheld Slot Machine Game, Ages 8+
  • Large Screen for Easy Viewing
  • Unit Measures 6 x 4.25 x 0.75 inches
  • Requires (2) AAA Batteries (included)
  • For Teens and Adults - Ages 13+

Conversion does not grant permission to use a composition or recording. Use music you created, material with a license that permits the intended use, or material in the public domain, and retain any required attribution. The separate microcontroller also means more programming, wiring and debugging than a sound-effects-only build.

Install and upload the software

The original project provides a ZIP with the host sketch, client sketch, audio sketch and MAC-address-finder sketch: download the project code. The source’s ESP8266 installation link documents Arduino Core 2.0.0, so its steps are a historical reference, not a guarantee of current 2026 menu labels or sketch compatibility.

  1. Install the ESP8266 board package through Arduino IDE’s Boards Manager, following documentation for the specific core version you intend to use. The project-linked instructions are for ESP8266 Arduino Core 2.0.0; its package URL is http://arduino.esp8266.com/stable/package_esp8266com_index.json.
  2. Install the display libraries required by the sketches, including Adafruit GFX and PCD8544 support, and the correct I/O-expander library after resolving the PCF8574/PCF8575 mismatch.
  3. Select the board entry matching the actual D1 Mini and confirm the sketch’s pin definitions against the board. Compile a display or communication test before the complete firmware.
  4. Flash the MAC-address-finder sketch to each board, record the addresses, then enter each peer’s address in the opposite host/client sketch as required by the project code.
  5. Upload the host sketch to one console and the client sketch to the other. Confirm their roles and peer addresses before attempting a match.

For the music controller, the linked 2019 third-party Arduino-as-ISP guide uses an Arduino Uno and ATTinyCore. Its procedure calls for uploading the ArduinoISP example, wiring the Uno to the ATtiny85, placing a 10 µF capacitor between Uno reset and ground to prevent auto-reset, then selecting ATtiny25/45/85, ATtiny85, Internal 1 MHz and Arduino as ISP before burning the bootloader and uploading the audio sketch. Verify the guide’s current core instructions and pin mapping for your hardware before following it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Retro Handheld Games Console Built-in 400 Video Games (Red(800 Games))
  • 【Pre-loaded Classics】This new style of handheld game console is designed to bring fun to young gamers, built-in different classic games. No matter what kind of games you want, you can find them in this retro game console. Let you play games without repetition every day and bring back your memory to the fun,enjoy family entertainment time.
  • 【3.0-Inch LCD Display】Featuring a clear 3.0-inch screen with vibrant colors, this video game console delivers excellent visuals for all handheld games. The bright display ensures smooth gameplay while protecting eyesight. Enjoy classic gaming anywhere.
  • 【Rechargeable Battery: This retro gaming console delivers 6 hours of stable gameplay on a single charge. With USB plug-and-play charging, enjoy uninterrupted handheld video game sessions during long trips without battery changes (Please charge fully before first use)
  • 【2 Players & Play on TV】Rediscover the fun of classic games with our nostalgic gamepads. Even better, you can play two-player games with friends or family. Connect the 3.0-inch LCD screen to your TV via AV output and use the included gamepad to play games with friends for a more immersive gaming experience, double the fun.
  • 【Easy to Operate】This mini handheld console is extremely easy to operate, suitable for all ages. It's an ideal gi-ft for birthdays, Christmas, Thanksgiving, and other holidays, sure to bring great surprise and joy to your loved ones.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How a Pong match runs

  1. Draw the static court and keep the paddle positions, ball coordinates and direction as game state.
  2. Move the ball and check whether it overlaps the paddle at the relevant vertical position. On a hit, reverse or alter its direction and play a hit tone.
  3. If the ball passes a paddle, pause for about 0.5 seconds, play a miss tone, award a point and reset the ball near the center.
  4. End the example match when a player reaches five points; the score threshold is configurable in the game logic.
  5. After the match, prompt the host to start another game. Only the host has the separate start control.

The project’s host-authoritative split means the client renders received state instead of running a second independent ball simulation. It does not describe a stale-packet policy or recovery handshake, so those are sensible additions if adapting the design: sequence-number state updates, define what the client does while updates stop, and provide a way to reinitialize the peer link.

Troubleshooting

Symptom Checks
No wireless connection Confirm the correct host and client sketches are on the respective boards, recheck the copied MAC addresses, and ensure both devices run compatible ESP-NOW setup. Investigate channel and API compatibility if the boards still do not exchange packets.
Blank display Check LCD power and ground, controller-compatible library, signal wiring, pin definitions and contrast. Confirm the module’s voltage and logic requirements.
Buttons act unpredictably Check common ground, I²C wiring, PCF8574 address pins, pull-ups, floating inputs and switch bounce. Resolve the PCF8574 versus PCF8575 library mismatch.
ATtiny upload fails Verify ISP wiring, selected board, processor, clock and programmer, and that the Uno reset capacitor is in place as directed by the guide.
Music will not change or stop Check the selector lines, shared ground, reset connection and ATtiny startup behavior; the reset signal is used to break the music loop so a new selection can be read.
Client freezes or looks delayed Check whether the host is still sending state and whether the client receives it. The published project reports no measured latency or packet-loss behavior, so diagnose with packet logging rather than assuming a particular range or update rate.
Random resets or power problems Check battery polarity, pack voltage, regulator limits, wiring and supply stability. The original project reports no measured runtime or current draw; do not size a battery from an assumed runtime.

Choices and upgrade paths

  • Keep the ESP8266: It matches the published sketches and ESP-NOW design and is adequate for this small monochrome game. Preserve the original board and pin assumptions if reproduction is the goal.
  • Redesign around ESP32: It offers more GPIO and processing headroom, but the project does not provide an ESP32 port. Expect code and wiring changes, not a drop-in substitution.
  • Simplify audio: Omit music and retain game tones, or generate both on the main controller; either option avoids the ATtiny programming and reset subsystem.
  • Change the assembly method: Breadboard for experimentation, perfboard for a more durable one-off, or validate the Eagle design and use a custom PCB for a compact pair.
  • Improve portability: A rechargeable pack and USB-C charging can be considered, but charging and protection circuitry, regulator compatibility and enclosure changes are additional design work not specified in the original build.

The original project is a practical starting point for learning direct ESP-NOW communication and embedded game design, but it does not report measured range, latency, packet rate, current draw or battery runtime. Treat those as quantities to test on the hardware you build rather than promised specifications.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How To Create Custom Stickers & Shoutouts In Monster Hunter WildsMonster Hunter WildsBlog20min
  2. How to Get XL Gogoat in Pokemon Legends Z-A (An Extra-Large Gogoat)Pokemon Legends Z-ABlog20min
  3. How to Get Rotting Lightbringer in Diablo 4Diablo 4Blog17min
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.