Play Most Famous Classic GAMES On This「ESP8266 - Based Mini Game Console」

Опубликовано: 22 Июнь 2026
на канале: Djamal.Uk
4,810
109

THIS IS #HANDHELD #GAMING ON THE #ESP8266

THINGS USED IN THIS PROJECT

Software:
Download the Arduino IDE ( ESP8266 Core )
Hardware:
ESP8266 - 12E
ssd1306 OLED I2c Display
Piezo Speaker
Stripboard with ESP8266 BreakOut
6 x Push Button
On/Off Slide Switch
2 x Resistor 10k
lithium Battery 3.3V
lithium battery charger


Make sure you got all the ESP8266 libraries installed correctly and compatible with the Arduino IDE version used

===============
Source Code Here
===============
https://github.com/JimmySoftware/ESPert

Arduino IDE version 1.8.1

Install Arduino 1.8.1 from https://www.arduino.cc/en/Main/Software


ESP8266 Board Manager


Start Arduino and open Preference
Enter the URL http://arduino.esp8266.com/stable/pac... into Additional Board Manager URLs field. If you have multiple URLs, separating them with commas.
Open Boards Manager from Tools Board Board Manager then install esp8266 by ESP8266 Community (version is 2.2.0)
From menu Tools Board select Generic ESP8266 Module

Open Library Manager (menu Sketch Include Library Manage Libraries…) then install the following libraries

DHT sensor library by Adafruit (version 1.2.3)
PubSubClient by Nick O'Leary (version 2.6.0)
ArduinoJson by Benoit Blanchon (version 5.8.3)
HttpClient by Adrian McEwen (version 2.2.0)
ESP8266 Oled Driver for SSD1306 display by Daniel Eichborn, Fabrice Weinberg (version 3.2.5)
Adafruit NeoPixel by Adafruit (version 1.0.6)

=========
Schematic
=========

Remember VCC 3.3v . NO LESS OR MORE

GamePad
GPIO13 ---- . Right button ---- .GND
GPIO12 ---- . Left button ---- .GND
GPIO14 ---- . UP button ---- .GND
GPIO1 ---- . Down button ---- .GND
GPIO0 ---- . Start button ---- .GND
GPIO15 ---- .Speaker ---- .GND

ESP8266 Oled i2c Display
GPIO5 ----- .SCK
GPIO4 ----- .SDA
3.3V ----- VCC
GND . ----- GND
====================================
In Case using Oled 1.3" I2C 128x64 SH1106
====================================

You got to try these File Changes
ESPert/src/ESPert.h


At Line 20 #include "SSD1306.h" Change it TO #include "SH1106Wire.h"
At Line 262 SSD1306* display; Change it TO SH1106Wire* display;
At Line 278 SSD1306* getDisplay(); Change it TO SH1106Wire* getDisplay();


AND
ESPert/src/ESPert.cpp


At Line 778 display = new SSD1306(0x3c, ESPERT_PIN_SDA, ESPERT_PIN_SCL);
Change it TO
display = new SH1106Wire(0x3c, ESPERT_PIN_SDA, ESPERT_PIN_SCL);


At Line 915 SSD1306* ESPert_OLED::getDisplay() {
Change it TO
SH1106Wire* ESPert_OLED::getDisplay() {

=====================================================
Adding the the Rest button function and the battery level indicator
=====================================================
Pin A0 is the Pin ADC for battery level is located directly under the Rst pin
it depends on the Esp8266 board you are using
Just Google Esp8266 + ( board type ) Pinout
or Let me know the Esp8266 Board Type I'll try to help you

Making the Rest button in fact very easy as the following
Rst pin ---- Button ---- GND


Good Luck :)

Enjoy :)

Thank you everyone for stopping by my youtube channel I would love to hear from you, so leave a comment to let me know you were here!