ESP32 Arduino Based NES Console - Play Nintendo Games
ESP32 Arduino Based NES Console - Play Nintendo Games
Panel Cookies
Do you also want to make an old Nintendo console for less than 20 dollars? You could
play thousands of old NES games and get the same nostalgia I had when I’ve played
them once again. All we need are a few components, make some simple connections
for some buttons and other modules, download and then upload NES games to an SD
card, upload the Arduino code and play the games, and obviously, have some fun. I’ve
been testing this project for a long time because I wasn’t able to make the code work,
but I finally did it by trial and error. By the way, this project was made by a user called
Nathalis on GitHub (https://github.com/nathalislight/NCAT). A huge thank you to
Nathalis for his great work, and please consider checking his YouTube channel
(https://www.youtube.com/@nathaliscortex4125). Anyway, that being said, let’s see
what we need, how to adjust the code, how to get NES games for free and make a
crude homemade Nintendo console. So guys, let’s get started.
Content has been hidden because cookies are blocked. Allow cookies from: YouTube. Accept all Configure
https://electronoobs.com/eng_arduino_tut181.php 1/17
21/9/23, 1:28 ESP32 Arduino based NES console - Play Nintendo games
https://electronoobs.com/eng_arduino_tut181.php 2/17
21/9/23, 1:28 ESP32 Arduino based NES console - Play Nintendo games
Part 2 - Connections
The original schematic was something that didn't work for me and it was very difficult to
follow where each connection goes. Finally, the connections that I’ve used are these
ones below. For some reason, If I use any other pin for the push buttons for example,
the code wont work. I don’t know why, but after weeks of trial and error and getting
frustrated, it finally worked. Also, if I remove the 100nF capacitor
Content has been hidden because cookies are blocked. Allow cookies from: YouTube. Accept all
between
Configure
ground and
https://electronoobs.com/eng_arduino_tut181.php 3/17
21/9/23, 1:28 ESP32 Arduino based NES console - Play Nintendo games
the CS pin, the screen would get crazy and even stop working. Another error I’ve
noticed is that sometimes, the start button does the same as the left button, I don’t
know why neither. Anyway, connect everything on the breadboard or on the PCB like in
this schematic. The MISO and MOSI pins for the display must be the ones I’ve used,
otherwise it won’t communicate with the SPI port. Next, let’s take a look at the code.
Then, if you don’t have them, you need to install the ESP32 boards. In the Arduino IDE
go to preferences. In the additional URLs you have to copy and paste the link from
Content has been hidden because cookies are blocked. Allow cookies from: YouTube. Accept all Configure
https://electronoobs.com/eng_arduino_tut181.php 4/17
21/9/23, 1:28 ESP32 Arduino based NES console - Play Nintendo games
below. Now go to tools, boards and select boards manager. Here search for ESP32.
Select these boards and click install, and as you can see in the tutorial video, I already
have them installed. And now if you go again to tools, boards, you will see that you now
have a bunch of ESP32 based boards. Select the ESP32 Dev Module board and make
sure you have my same configuration as you can see below. Click compile. If it
compiles, we upload it to the ESP32 board. Click upload and press the boot button, and
keep it pressed till you see the connecting message on the Arduino IDE. Then release
the button and the code will be uploaded. If you power on the console at this point you
will get the SD card fail message. That’s because we have no games inserted.
Content has been hidden because cookies are blocked. Allow cookies from: YouTube. Accept all Configure
https://electronoobs.com/eng_arduino_tut181.php 5/17
21/9/23, 1:28 ESP32 Arduino based NES console - Play Nintendo games
Pin definition
//micro_SD_Card:
#define SOFTSD_MOSI_PIN 12
#define SOFTSD_MISO_PIN 13
#define SOFTSD_SCK_PIN 14
#define SD_CS_PIN 22
//LCD_ST7789:
#define TFT_CS -1 // define chip select pin
#define TFT_DC 5 // define data/command pin
#define TFT_RST 19
#define TFT_MOSI 23 // Data out (SDA) //better not change
#define TFT_SCLK 18 // Clock out (SCL) //better not change
//AUDIO_i2S:
#define I2S_BCK_IO 27 //BCK
#define I2S_WS_IO 32 //LCK
#define I2S_DO_IO 25 //DIN
#define I2S_DI_IO -1
Content has been hidden because cookies are blocked. Allow cookies from: YouTube. Accept all Configure
https://electronoobs.com/eng_arduino_tut181.php 6/17
21/9/23, 1:28 ESP32 Arduino based NES console - Play Nintendo games
Content has been hidden because cookies are blocked. Allow cookies from: YouTube. Accept all Configure
https://electronoobs.com/eng_arduino_tut181.php 7/17
21/9/23, 1:28 ESP32 Arduino based NES console - Play Nintendo games
So guys, that's how you could make your own NES console and play any game that
you want. Obviously this would go better with a custom made PCB, some better push
buttons and also a 3D printed case, but that will probably be for a future update. By the
way, this project also has an AV video output so you could connect it to an old TV as
we had back in the day with the yellow connector. And again, a huge thank you to
Nathalis for sharing such a project with the community. His work is amazing and brings
me a lot of happy memories.
Page 1/1
Content has been hidden because cookies are blocked. Allow cookies from: YouTube. Accept all Configure
https://electronoobs.com/eng_arduino_tut181.php 8/17
21/9/23, 1:28 ESP32 Arduino based NES console - Play Nintendo games
LAST TUTORIALS
RLC Transistor Tester PCB with Arduino
(eng_arduino_tut191.php)
Content has been hidden because cookies are blocked. Allow cookies from: YouTube. Accept all Configure
https://electronoobs.com/eng_arduino_tut181.php 9/17
21/9/23, 1:28 ESP32 Arduino based NES console - Play Nintendo games
(eng_arduino_tut189.php)
(https://electronoobs.com/eng_arduino_tut188.php)
Content has been hidden because cookies are blocked. Allow cookies from: YouTube. Accept all Configure
https://electronoobs.com/eng_arduino_tut181.php 10/17
21/9/23, 1:28 ESP32 Arduino based NES console - Play Nintendo games
(eng_circuitos_tut83.php)
(eng_arduino_tut184.php)
Content has been hidden because cookies are blocked. Allow cookies from: YouTube. Accept all Configure
https://electronoobs.com/eng_arduino_tut181.php 11/17
21/9/23, 1:28 ESP32 Arduino based NES console - Play Nintendo games
ADVERTISERS
ADVERTISERS
Official Creality
Ender 3 Pro...
$219.99
Shop now
Content has been hidden because cookies are blocked. Allow cookies from: YouTube. Accept all Configure
https://electronoobs.com/eng_arduino_tut181.php 12/17
21/9/23, 1:28 ESP32 Arduino based NES console - Play Nintendo games
(https://www.pcbway.es/?from=electronoobs.com00)
Content has been hidden because cookies are blocked. Allow cookies from: YouTube. Accept all Configure
https://electronoobs.com/eng_arduino_tut181.php 13/17
21/9/23, 1:28 ESP32 Arduino based NES console - Play Nintendo games
(https://s.click.aliexpress.com/e/_9jqPR0?
bz=300*250)
Content has been hidden because cookies are blocked. Allow cookies from: YouTube. Accept all Configure
https://electronoobs.com/eng_arduino_tut181.php 14/17
21/9/23, 1:28 ESP32 Arduino based NES console - Play Nintendo games
(https://bit.ly/2ZNWgqy)
Content has been hidden because cookies are blocked. Allow cookies from: YouTube. Accept all Configure
https://electronoobs.com/eng_arduino_tut181.php 15/17
21/9/23, 1:28 ESP32 Arduino based NES console - Play Nintendo games
(https://s.click.aliexpress.com/e/_AF7EeE?
bz=500*500)
(https://bit.ly/2ZNWgqy)
TUTORIALS
Arduino (eng_tutoriales_arduino.php)
Circuits (eng_tutoriales_circuitos.php)
Robotics (eng_tutoriales_robotica.php)
Arduino Course
(https://electronoobs.io/shop/index.php/courses/curso-arduino-
desde-cero-nivel-1)
Blogs (blogs.php)
Content has been hidden because cookies are blocked. Allow cookies from: YouTube. Accept all Configure
https://electronoobs.com/eng_arduino_tut181.php 16/17
21/9/23, 1:28 ESP32 Arduino based NES console - Play Nintendo games
SUPPORT
Terms and Conditions (terms_and_conditions.php)
Privacy Policy (privacy_policy.php)
Contact me (eng_contacto_mobile.php)
Forum (https://electronoobs.io/forum)
ADVERTISERS
Donate (eng_donate.php)
Reviews (eng_reviews.php)
Advertising (eng_advertising.php)
Content has been hidden because cookies are blocked. Allow cookies from: YouTube. Accept all Configure
https://electronoobs.com/eng_arduino_tut181.php 17/17