Cyber Gamming Console Ver 1.0 - by Nihilan S

by nihilan2106 in Circuits > Electronics

39 Views, 0 Favorites, 0 Comments

Cyber Gamming Console Ver 1.0 - by Nihilan S

WIN_20260626_16_44_53_Pro.jpg
instructables.jpg

Cyber Console Overview

The Cyber Console is a compact retro-inspired handheld gaming system built using the NodeMCU ESP8266 and a 128Ɨ64 SSD1306 OLED display. It combines classic arcade games with a futuristic cyberpunk interface to create an engaging portable gaming experience.

The console is controlled using a joystick for navigation and movement, while the joystick's push button is used for actions such as selecting menu options, jumping, shooting, and restarting games. The built-in FLASH button (GPIO0) serves as a pause button and allows the player to return to the main menu with a long press. An active buzzer provides sound effects for gameplay and menu interactions, while a red LED acts as a status indicator, displaying different blink patterns during startup, gameplay, collisions, low health, and game over events.

To enhance the user experience, the console features a polished boot animation with a loading sequence, animated diagnostics, and a cyber-themed startup screen. A smooth animated menu lets users choose between five built-in games:

  1. šŸƒ Cyber Runner
  2. šŸ Snake
  3. šŸ“ Pong
  4. šŸŽÆ Dodger
  5. šŸš€ Space Shooter

Additional sections such as Settings and About allow users to adjust difficulty, toggle sound, and view system information.

The project demonstrates how a low-cost ESP8266 can be transformed into a feature-rich handheld gaming console through efficient programming, optimized graphics, responsive controls, and thoughtful user interface design. It showcases embedded systems programming, game development, hardware integration, and user experience design in a single project.


Supplies

Materials Used

  1. NodeMCU ESP8266 – Main microcontroller that runs the entire gaming console.
  2. 0.96" SSD1306 OLED Display (128Ɨ64, I2C) – Displays the boot animation, menus, and games.
  3. Joystick Module – Used for menu navigation and in-game movement, with its push button for actions like jump, shoot, and select.
  4. Active Buzzer – Produces sound effects for the menu, gameplay, and startup.
  5. 5 mm Red LED – Provides visual status indications such as booting, warnings, and game events.
  6. 220 Ī© Resistor – Limits current to protect the red LED.
  7. Breadboard or Custom PCB – Holds and connects all the components.
  8. Jumper Wires – Used to make electrical connections between components.
  9. Micro USB Cable – Powers and programs the NodeMCU.

Software Used

  1. Arduino IDE – Used to write, compile, and upload the code.
  2. ESP8266 Board Package – Enables programming the NodeMCU within the Arduino IDE.
  3. Adafruit GFX Library – Provides graphics functions for drawing text and shapes.
  4. Adafruit SSD1306 Library – Controls the OLED display.
  5. Wire Library – Handles I²C communication between the ESP8266 and OLED display.

Tools Used

  1. Soldering Iron (if assembling on a PCB)
  2. Solder Wire
  3. Wire Cutter/Stripper
  4. Small Screwdriver (optional)
  5. Computer or Laptop for programming
  6. USB Cable for uploading the code and powering the console

Gather the Components

Electronics

  1. 1 Ɨ NodeMCU ESP8266
  2. 1 Ɨ SSD1306 OLED Display (128Ɨ64, I2C)
  3. 1 Ɨ Joystick Module
  4. 1 Ɨ Active Buzzer
  5. 1 Ɨ 5 mm Red LED
  6. 1 Ɨ 220 Ī© Resistor
  7. Jumper Wires
  8. Breadboard or Custom PCB
  9. Micro USB Cable

Software

  1. Arduino IDE
  2. ESP8266 Board Package
  3. Adafruit GFX Library
  4. Adafruit SSD1306 Library


Install the Arduino IDE

Download and install the Arduino IDE.

Open the Arduino IDE.

Go to File → Preferences.

In Additional Boards Manager URLs, add the ESP8266 package URL.

Open Boards Manager.

Install ESP8266 by ESP8266 Community.

Install the Required Libraries

Open

Sketch → Include Library → Manage Libraries

Install:

  1. Adafruit GFX
  2. Adafruit SSD1306

The Wire library is already included with Arduino IDE.

Assemble the Circuit

connect the OLED display.

OLED to NodeMCU

VCC

3.3V

GND

GND

SDA

D2

SCL

D1

Connect the joystick.

Joystick to NodeMCU

VCC

3.3V

GND

GND

VRX

A0

SW

D5

Connect the active buzzer.

Buzzer to NodeMCU

+

D6

–

GND

Connect the LED.

LED Positive

↓

220 Ī© resistor

↓

NodeMCU D7

LED Negative

↓

GND

Connect the NodeMCU

Connect the NodeMCU to your computer using a Micro-USB cable.

The power LED should turn on.

Configure the Arduino IDE

elect:

Board

NodeMCU 1.0 (ESP-12E Module)

Select the correct COM Port.

Leave the remaining settings at their defaults unless you have a specific reason to change them.

Upload the Program

  1. Open the Cyber Console sketch.
  2. Click Verify to compile it.
  3. Click Upload.
  4. Wait for the upload to finish.

Do not hold the FLASH button during upload unless the IDE specifically requires it.

First Start Up

After programming:

The console will display:

  1. Cyber boot animation
  2. Loading bar
  3. System diagnostics
  4. Cyber Console logo

The red LED will blink according to the startup sequence.

The buzzer will play startup sounds.

Navigate the Menu

Use the joystick:

  1. Move Left → Previous menu item
  2. Move Right → Next menu item

Press the joystick button to select a game.

Long press the FLASH button to return to the main menu or pause the current game, depending on your software design.

Play the Games

The console includes:

  1. Cyber Runner
  2. Snake
  3. Pong
  4. Dodger
  5. Space Shooter

Each game has its own controls, score system, and game-over screen.

Sound and LED Feedback

The active buzzer provides feedback for:

  1. Startup
  2. Menu navigation
  3. Game events
  4. Collisions
  5. Game over
  6. Victory

The red LED indicates different system states, such as:

  1. Booting
  2. Menu
  3. Gameplay events
  4. Warnings
  5. Victory
  6. Game over


Troubleshooting

OLED is blank

  1. Check SDA and SCL wiring.
  2. Confirm the display uses I²C.
  3. Verify the display address (commonly 0x3C).

Joystick does not respond

  1. Check the VRX connection to A0.
  2. Verify the SW connection to D5.
  3. Ensure the joystick is powered from 3.3V.

Buzzer does not sound

  1. Confirm it is an active buzzer.
  2. Check polarity and the D6 connection.

LED does not light

  1. Verify the LED polarity.
  2. Ensure a 220 Ī© resistor is used.
  3. Check the D7 connection.

Upload fails

  1. Confirm the correct board and COM port are selected.
  2. Avoid holding the FLASH button unless needed for programming.


Customization

Once everything is working, you can personalize your console by:

  1. Designing a custom 3D-printed or laser-cut enclosure.
  2. Painting or vinyl-wrapping the case with a cyberpunk theme.
  3. Adding custom boot logos and animations.
  4. Creating new games or expanding the menu.
  5. Improving graphics and sound effects.
  6. Using a rechargeable battery pack for portability.