A Tiny ESP32 Handheld NES Emulator for the ESP32

Поділитися
Вставка
  • Опубліковано 19 вер 2024
  • A Tiny ESP32 Handheld NES Emulator
    Requirements: ESP32 , ST7789 LCD, MICROSD CARD slot, PCM5102 I2S AUDIO MODULE, OTHER PARTS...
    if you enjoyed those videos, then please subscribe to my channel which I update every week
    👉 Subscribers : bit.ly/2EpEwrU
    +++++++++++++++
    ++ FEATURES: +
    +++++++++++++++
    MicroSD card support
    240*240 1.3" LCD ST7789 display
    I2S AUDIO support PCM5102 module
    huge NES ROMs up to 512kB (read from FLASH)
    ==========
    = Required =
    ==========
    □ ESP32 Development Board
    □ Using 7 push Buttons Switches
    □ 240*240 1.3" LCD ST7789 display
    □ PCM5102 I2S AUDIO MODULE,
    □ MICROSD CARD slot,
    =========================
    = Schematic is pretty simple: =
    =========================
    AUDIO i2S ======= TO ======== ESP32
    I2S_BCK_IO //BCK ---------------------- (GPIO 27)
    I2S_WS_IO //LCK ------------------------(GPIO 32)
    I2S_DO_IO //DIN ------------------------- (GPIO 25)
    Micro SD Card ========= TO ======= ESP32
    SD_MOSI_PIN -------------------------------------- (GPIO 17)
    SD_MISO_PIN ---------------------------------------(GPIO 16)
    SD_SCK_PIN -----------------------------------------(GPIO 21)
    SD_CS_PIN -------------------------------------------(GPIO 22)
    NES FOLDER ("/NES/") where to place the NES ROMs
    Buttons ========== ESP32
    ALL Buttons 5V ---- TO ----- ESP32 PINs -TO --10ohm resistor --- GND
    5V ------ Button UP ------------ 39 //SVN ---/|/\1k Ohm /\/\/\----- GND
    5V ------ Button DOWN --------- 35 //IO35 ---/|/\1k Ohm /\/\/\----- GND
    5V ------ Button LEFT ----------- 36 //SVP. ---/|/\1k Ohm /\/\/\----- GND
    5V ------ Button RIGHT --------- 34 //IO34. ---/|/\1k Ohm /\/\/\----- GND
    5V ------ Button A --------------- 2 //IO2. ---/|/\1k Ohm /\/\/\----- GND
    5V ------ Button B --------------- 14 //TMS. ---/|/\1k Ohm /\/\/\----- GND
    5V ------ Button START --------- 15 //TDO. ---/|/\1k Ohm /\/\/\----- GND
    5V ------ Button SELECT -------- 13 //TCK ---/|/\1k Ohm /\/\/\----- GND
    ============
    = VIDEO OUT =
    ============
    GPIO26 ------ VIDEO OUT ------- GND
    ===========================
    = The Source-Code here: =
    ===========================
    github.com/Dja...
    #esp32_arduino #esp32_nintendo_emulator #esp32_snes_emulator
    ------------------------------------------------------------------------
    About Social Media, Business, and Blogging
    ------------------------------------------------------------------------
    / djamaluk
    / djamal.uk
    / djamaluk
    Djamal.UK
    Code and Schematic OR Any Questions Please let me know in the comment section below
    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!

КОМЕНТАРІ • 132

  • @ВасилийСвиридов-ю8ц
    @ВасилийСвиридов-ю8ц 4 години тому

    Прикольно а экранчик хоть и малый но читабельный с хорошей цветопередачей

  • @diymicroelectronics2677
    @diymicroelectronics2677 3 роки тому +4

    That NesCat emu is incredible!!! Good work!!! But it will be best if there were 2 player for tv version project. But if lightgun will come out in package,it will be perfect!!! Make that project blow mind!!!

    • @DjamalUk
      @DjamalUk  3 роки тому +1

      Yes 👍 you can play 2 players on TV version, using 2 NES controllers for example

    • @diymicroelectronics2677
      @diymicroelectronics2677 3 роки тому

      @@DjamalUk yeah,but how to realise that in code?

    • @diymicroelectronics2677
      @diymicroelectronics2677 3 роки тому +1

      @@DjamalUk code only uses 8 buttons

    • @DjamalUk
      @DjamalUk  3 роки тому

      @@diymicroelectronics2677 buy esp32 first , I need to change the code

    • @diymicroelectronics2677
      @diymicroelectronics2677 3 роки тому

      @@DjamalUk i have ttgo t8,but that project uses wroom. I think everything is ok

  • @ivanz9324
    @ivanz9324 9 місяців тому +2

    Hi! Have you already tried to do full-scaled NES emulator on the new T-deck ? It has keyboard, touch screen and trackball. +sdcard integrated into the one board. So no need to pick wires around. looks cool )

  • @lucanoacco3220
    @lucanoacco3220 2 роки тому +2

    congratulations it works great

  • @u.koenig
    @u.koenig 5 місяців тому +1

    Amazing! 👍

  • @pravikhm
    @pravikhm 3 роки тому +6

    Is ESP32 pins 5v tolerant? The buttons are connected directly through 5v.

    • @DjamalUk
      @DjamalUk  3 роки тому +2

      yes there is a PIN 5V

    • @ivanz9324
      @ivanz9324 3 роки тому +1

      Only for power supply (usb or vin pin) . But all logics is 3.3v only... dont melt your ESP32 board ))

  • @happycrazyboy1
    @happycrazyboy1 2 роки тому +1

    I have some problem,first,myTFT screen display from the right,not the top.Second,when I press the button START, ESP32 seem can't download the game,it just rebooting. Could you help me to solve this two problem? thanks

  • @杨燕军
    @杨燕军 3 роки тому +3

    sir great work! I successfully replicated your project, same i2s divice used, however, I can only use air pod to connect, if use eternal speaker, it has sound, but very very low, may I know any special setting to make the external speaker loader? Or can you tell me what is the spkeaker you are using. Many thanks in advance!!

    • @DjamalUk
      @DjamalUk  3 роки тому

      I2s quality some are not good use digspark or Adafruit they are good

    • @CodedGamer972
      @CodedGamer972 Рік тому

      how did you get the code to work it say dac pin were not declared

  • @2DKnight
    @2DKnight 2 роки тому +2

    Apologies for commenting on such an old video, but would it be possible to get a copy of the schematic for this project? I did not see it in any of the comments, and saw you said to ask in comments.

    • @21351
      @21351 2 роки тому +3

      I think his channel would have been super helpful with many more subscribers if he would explain things and post circuit diagrams not just postin a finish project and thats all.

  • @DNAP460
    @DNAP460 Рік тому +1

    i have a little problem compiling i.e. src/hid_server/hid_server.h: no such file or directory

    • @WorkFromHome-th2eq
      @WorkFromHome-th2eq 11 місяців тому

      copy the available src folder into the NesCat folder (same folder with ino file)

    • @DjamalUk
      @DjamalUk  6 місяців тому

      Help available

  • @MRDD-dr9ig
    @MRDD-dr9ig 3 роки тому +4

    cant it run without sd car and if yes how pls

  • @nageshwarrao8629
    @nageshwarrao8629 3 роки тому +2

    bravo

  • @fahrezapriyatnaputra2261
    @fahrezapriyatnaputra2261 2 роки тому +2

    how do you fix error compiling for board?

  • @albertoleal1180
    @albertoleal1180 3 роки тому +1

    Yes please show how to connect ST7789 LCD screen to which pins does it connect¡¡¡ :(

    • @DjamalUk
      @DjamalUk  3 роки тому

      Please read video description

  • @Evilslayer73
    @Evilslayer73 Рік тому +1

    Hi Jamal do you a version of the arduino code that work? this one is full of bugs

  • @hippopothomas1980
    @hippopothomas1980 3 роки тому +1

    NIce

  • @BQ201
    @BQ201 Рік тому +1

    Nice video! Will this emulator work with a display ST7789V 320×240 ?

  • @WorkFromHome-th2eq
    @WorkFromHome-th2eq 11 місяців тому +1

    This is awsome. Anyway where can i find the files for the game that saved in SD card later on ?

    • @DjamalUk
      @DjamalUk  11 місяців тому +1

      Search game rom online?!

    • @WorkFromHome-th2eq
      @WorkFromHome-th2eq 11 місяців тому

      @@DjamalUk Hi mate would you please share wiring for TFT Display to ESP32?

    • @WorkFromHome-th2eq
      @WorkFromHome-th2eq 11 місяців тому

      still fail with TFT display :(

    • @DjamalUk
      @DjamalUk  11 місяців тому

      @@WorkFromHome-th2eq library lcd ?

  • @kushagramahajan2924
    @kushagramahajan2924 7 місяців тому +1

    Can i use 2.8 inch tft with different ic?
    Edit if yes then please tell the changes to make

  • @lordeleal
    @lordeleal 3 роки тому +1

    and the ST7789 LCD screen to which pins does it connect?

    • @ivanz9324
      @ivanz9324 3 роки тому +1

      like standard SPI interface: DC - SDL - RES - SDA (D5-D19-D18-D23)

  • @ScienceLab760
    @ScienceLab760 3 роки тому +2

    Hi nice work, is possible use other display for example 2.4 in thanks.

    • @DjamalUk
      @DjamalUk  3 роки тому

      You got to change the library to adafruit

    • @ScienceLab760
      @ScienceLab760 3 роки тому +1

      @@DjamalUk thanks i will try with other LCD thanks for your reply and for share your project and happy new year

    • @ellwhinn3445
      @ellwhinn3445 2 роки тому

      @@ScienceLab760 were you able to get it to work with a larger display?

  • @Evilslayer73
    @Evilslayer73 3 роки тому +2

    Hi Jamal do the lcd pinout is the same as ILI9341?? do it work?

    • @DjamalUk
      @DjamalUk  3 роки тому +1

      No

    • @Evilslayer73
      @Evilslayer73 3 роки тому +1

      what i have to change to make it work ??

    • @DjamalUk
      @DjamalUk  3 роки тому +1

      @@Evilslayer73 library

    • @Evilslayer73
      @Evilslayer73 3 роки тому

      @@DjamalUk i replace the library? what is the way to do it?

  • @180darkman
    @180darkman 2 роки тому

    Don't get me wrong this is awesome but, will it run doom?👀 Hehehehe I tried to look up for a SNES emulator or a doom ROM but i got stuck any ideas? I tried also looking for the ordroid but i cannot finish to understand it

    • @DjamalUk
      @DjamalUk  2 роки тому

      check my other videos

  • @realbyte2048
    @realbyte2048 Рік тому

    Have you tried the new NCAT? It's like this but it's better.

  • @briannoels5548
    @briannoels5548 7 місяців тому +1

    Have you code for it on the arduino uno r3 ? I want to make that 😊

    • @DjamalUk
      @DjamalUk  7 місяців тому

      ESP32

    • @briannoels5548
      @briannoels5548 7 місяців тому

      @@DjamalUk is it possible to make that on a uno

    • @DjamalUk
      @DjamalUk  7 місяців тому

      @@briannoels5548 arduino due possibly

    • @briannoels5548
      @briannoels5548 7 місяців тому +1

      @@DjamalUk but not with a arduino uno

    • @DjamalUk
      @DjamalUk  7 місяців тому

      @@briannoels5548 impossible with uno

  • @daniel454fk
    @daniel454fk 3 роки тому

    where the "fonts" folder goes?

  • @CodedGamer972
    @CodedGamer972 Рік тому +1

    the nesCat code gave me video out dac pin error

    • @DjamalUk
      @DjamalUk  Рік тому

      Arduino ID version change it

    • @alxbux
      @alxbux Рік тому

      ​@@DjamalUkhi it's me from another account what version should I change it to??

    • @DjamalUk
      @DjamalUk  Рік тому

      @@alxbux try 11 can’t remember

    • @alxbux
      @alxbux Рік тому

      @@DjamalUk ok thx, I'm try it

  • @erfansn869
    @erfansn869 3 роки тому

    Wow

  • @felipelucio1622
    @felipelucio1622 3 роки тому +2

    esp32 without psram?

    • @DjamalUk
      @DjamalUk  3 роки тому +1

      No just that cheap ESP32 wroom no param

    • @felipelucio1622
      @felipelucio1622 3 роки тому

      @@DjamalUk thank you i will try with an ili9341 LCD i hope it works

  • @shivaKumar-ed5vh
    @shivaKumar-ed5vh Рік тому +1

    Bro we need circuit diagram bro to make connections please bro

  • @kosmicdakerbal
    @kosmicdakerbal 2 роки тому

    Can I use the inbuilt SD card slot from let's say an ESP32-Cam?

  • @roostertechchan
    @roostertechchan 3 роки тому +2

    What speaker do you use?

    • @DjamalUk
      @DjamalUk  3 роки тому

      Was taken from old Samsung tablet 😁

    • @DjamalUk
      @DjamalUk  3 роки тому

      SparkFun I2S Audio Breakout - MAX98357A , you use any I2S DAC ! No problem

    • @nageshwarrao8629
      @nageshwarrao8629 3 роки тому +1

      only issue with the speak rest is awesome

    • @DjamalUk
      @DjamalUk  3 роки тому +1

      @@nageshwarrao8629 couldn’t find better one , no problem 😉 temporary until I found better one from old tablets or laptops

    • @nageshwarrao8629
      @nageshwarrao8629 3 роки тому

      @@DjamalUk Yes our project complets only when there is low cost involved, there we satisfy.

  • @fahrezapriyatnaputra2261
    @fahrezapriyatnaputra2261 2 роки тому

    Hello, im new to this arduino and esp32 stuff, but im thrilled to make this one.. can you tell me how to insert the code to the esp32 system?

  • @Saifali-tu1ik
    @Saifali-tu1ik 3 роки тому

    Bro where to place NES folder

  • @felipelucio1622
    @felipelucio1622 3 роки тому +1

    I'm having trouble compiling on the Arduino IDE can you help me

    • @DjamalUk
      @DjamalUk  3 роки тому +1

      Try Arduino 1.8.13 version

    • @felipelucio1622
      @felipelucio1622 3 роки тому +1

      @@DjamalUk and the same I'm using, this is an excerpt from my error
      narrowing conversion of '-1' from 'int' to 'uint32_t {aka unsigned int}'

    • @DjamalUk
      @DjamalUk  3 роки тому +1

      @@felipelucio1622 you should use library included with the code

    • @felipelucio1622
      @felipelucio1622 3 роки тому +1

      @@DjamalUk sorry for the inconvenience I installed the libraries that were next to the code and I still have some errors, the code does not compile

    • @DjamalUk
      @DjamalUk  3 роки тому +1

      @@felipelucio1622 contact me please on my Facebook page

  • @lavacat720
    @lavacat720 Рік тому

    Does it work on a esp32 with only 4mb of storage?

  • @KashifKhan-kw3ez
    @KashifKhan-kw3ez 2 роки тому +1

    Where is NES roms folder or files??

    • @DjamalUk
      @DjamalUk  2 роки тому

      “NES” is the folder create one in your sd-card

    • @KashifKhan-kw3ez
      @KashifKhan-kw3ez 2 роки тому

      Ok m create a folder in sd card its name is NES it is empty folder . rom file?

    • @KashifKhan-kw3ez
      @KashifKhan-kw3ez 2 роки тому +1

      @@DjamalUk just create NES in sd card???

    • @DjamalUk
      @DjamalUk  2 роки тому

      @@KashifKhan-kw3ez works ?

  • @Saifali-tu1ik
    @Saifali-tu1ik 3 роки тому

    It showing error for "src/hid_server/hid_server.h: No such file or directory

    • @anthonyrossi5255
      @anthonyrossi5255 2 роки тому

      Did you ever figure it out? i get the same

    • @nishandevkar2709
      @nishandevkar2709 2 роки тому

      Have you made a folder to place the .ino file in it? With the file name as the folder name automatically with Arduino? If so then you have to copy the src folder in that newly created folder

  • @ivanz9324
    @ivanz9324 3 роки тому +1

    Is it possible to do the same on Wemos D1mini (8266)? Especially with standard joystick sheild for Arduino? Maybe already done somewhere?

    • @DjamalUk
      @DjamalUk  3 роки тому

      Sorry 😞 no

    • @ivanz9324
      @ivanz9324 3 роки тому

      Or maybe buttons should be connected firstly (and maybe sth to be pressed?)
      Another question - is it possible to use standard keys+joystick shield for Arduino?

    • @ivanz9324
      @ivanz9324 3 роки тому

      @@DjamalUk And about using another screens - is it just a matter of drivers? is it possible to use any acceptable screen 320*240 or 320*480 pixels?
      And another question about changing platform to 8266 (nodeMCU or wemos-like) - is it the matter of unsufficient pins available? If this is the only reason - then its possible to use convertor from SPI to I2C, right? (just to connect several SPI devices to I2C interface with different addresses)..?

    • @ivanz9324
      @ivanz9324 3 роки тому +1

      I connected mini 5d joystick (instead of 6 buttons), works fine, less wires. The only issue is just the sound quality. Used ordinary LM-386 with just 1 pin25 connected to in, sounds ugly ))) waiting ordered amplifier 5102. Next step is just to increase screen size (3.2-3.5`inches).
      Does this emulator work with .nes files only ? or possible to try some SEGA roms? Or another emulator needed? (by the way, which emulator is compatible with different platforms? is it possible to make universal multi-platform emulator for ESP32?
      Anyway, Thank you so much for this project, enjoyed so much while making!

    • @DjamalUk
      @DjamalUk  3 роки тому

      @@ivanz9324 this one only nes game as you are using esp32 wroom , check this out using esp32 wrover ua-cam.com/video/Ra-IzbRg0bM/v-deo.html

  • @DNAP460
    @DNAP460 Рік тому

    please
    can i get the bin file esp32

  • @shivaKumar-ed5vh
    @shivaKumar-ed5vh Рік тому +1

    Bro circuit diagram bro 😢😢😢😢😢😢

  • @happycrazyboy1
    @happycrazyboy1 2 роки тому +1

    1G?where can find the iG SD card ? XDDDD

  • @Ylamona
    @Ylamona 2 роки тому

    вместо кнопок нужен 3d джойстик и дисплей 2,5 дюйма. автору ролика удачи в развитии. мир всем.

    • @DjamalUk
      @DjamalUk  2 роки тому

      English please

    • @Ylamona
      @Ylamona 2 роки тому

      @@DjamalUk instead of buttons, you need a 3d joystick and a 2.5-inch display. good luck to the author of the video in development. peace to all.

  • @sebastiandisanti3092
    @sebastiandisanti3092 Рік тому

    lastima que ya no funciona

  • @DNAP460
    @DNAP460 2 роки тому

    I got a little problem
    I get a message SdFat-UNRAVENY config cannot be used

    • @DNAP460
      @DNAP460 Рік тому +1

      @PoXX1 i have fixed it but i got a new problem which is src/hid_server/hid_server.h: no such file or directory