FkEhSyj7gy

[Fully Open Source] Old Tyrant Game Console Ornament, based on ESP32-S3 development board, supports external gamepad and keyboard operation.

 
Overview
This is a game console accessory
based on the ESP32-S3, capable of playing NES games and supporting ROMs up to 1MB in size.
Games support onboard controllers, WeChat mini-program controllers, HID controllers, and HID keyboards (two-player mode supported).
XBOX and PS4 controllers require additional modules for support. Already compatible.
Additional features: MJPEG video playback/computer status monitoring, etc.
Author:
Up: Twilight of Sanaran
Up: Mysterious Treasure Room
Video Overview :
https://www.bilibili.com/video/BV1eh4y1F7rn
Video Function Usage Demonstration:
https://www.bilibili.com/video/BV16F411o7L7
QQ Group
Number: 739444215, details and materials shared in the group. Source Code
Download
: The overall code uses the Arduino framework, developed based on the VSCODE+PlatFormIO platform. This code has also been adapted. Project: Eye of God [Up: Twilight of Sanaran], Project: 50mm Beam Spectroscope Large TV [Up: Mysterious Treasure Room]
Open Source Code Address: https://github.com/planevina/esp32s3_nes_gamer
After two months of tinkering, I tried all the NES emulators on GitHub. They were either too slow, had too many bugs, or were IDF versions. I encountered countless pitfalls, all tears.
The final main emulator code framework was reorganized and repaired using the GitHub NESCat project, ported to the S3, and many processes were moved to PSRAM, resulting in loading and running speeds that are more than ten times faster. After all, we're using the N16R8 module, which has 8MB of PSRAM. Furthermore, the number of ROMs that can be emulated has been increased to 1MB. Currently, except for some very large ROMs and some heavily modified ROMs that cannot run, most ROM games can be emulated smoothly.
Functionality Overview
: 1. As an NES game emulator, after parsing the game, it displays the game on a 3.2-inch color screen, outputs sound signals via I2S, and uses a super powerful speaker; the sound combined with the vibration feels fantastic! 1. **Mute Functionality:
** Can be set to automatically launch an application or a specific game upon startup. [As a decorative piece, it runs a game demo upon startup, which is quite cool.]
2. **Secondary Functionality:** MJPEG player for playing MJPEG video files. [Applications can be set to automatically launch upon startup.]
3. **Secondary Functionality:** Secondary computer monitoring screen, used with AIDA64 to display real-time CPU/memory usage status. [Applications can be set to automatically launch upon startup.]
Hardware:
1. The Old Tyrant core board
can be used not only for this game console project but also as a comprehensive ESP32-S3 development board. It features 2.54mm pitch header pin headers for I/O and power expansion, allowing for future expansion to accommodate any desired functions.
The core board features:
UART interface: for programming and debugging;
USB Type-C interface: for programming and designing USB applications;
TF/SD card interface: MMC mode, supporting up to 32GB capacity;
Standard USB A female connector: for expanding HID controllers, HID keyboards, etc.;
Lithium battery charging/discharging circuit: can be disconnected from the USB cable;
DC-DC power supply: provides sufficient power to modules and accessories, and reduces power consumption and heat;
I2S audio amplifier circuit: excellent sound quality;
IPS display interface: also includes a reserved touchscreen circuit, allowing it to function purely as a touchscreen development board for ESP32-S3, and is also good for LVGL development. The touchscreen can be directly attached to the back of the old-style core board for perfect compatibility.
2. Joystick expansion board
for expanding the front joysticks and buttons of game consoles.
3. USB expansion module:
this board is not needed if you don't use XBOX or PS4 controllers.
This module is a patch because the 2-bit up's capabilities are limited, and they are not familiar with HID development. Currently, there is not much reference code for S3 to directly drive XBOX and PS4 controllers, so hardware is used to compensate.
I hope that one day other experts will fill in this gap and fully debug the USB library that comes with the S3.
For those who want to expand their PS4 or Xbox controller usage, this expansion board is needed. It plugs into the dual-row expansion pins of the core board, and resistors R27 and R28 are removed to expand the USB-A female connector, allowing for compatibility with more USB HID devices. The
casing
is designed separately; you can see how detailed it is when you print it yourself. The QQ group also provides more building materials, including BOM recommendations, component links, etc., and you can also build it with other like-minded friends. Keep going, build your own game console and give yourself a proper ending to your childhood!


参考设计图片
×
 
 
Search Datasheet?

Supported by EEWorld Datasheet

Forum More
Update:2026-03-28 16:53:49

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
community

Robot
development
community

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号