-
-
Notifications
You must be signed in to change notification settings - Fork 115
BlueRetro SNES Mini Internal Install
Original Kernel is supported ONLY. A glitch create random button press when using Hakchi2 CE kernel. No idea why!
This instructions will show you how to install BlueRetro within your SNES mini. Special perk in doing so are the ability to power on/off & reset the console from the the Bluetooth controllers. Ability to use the wired controller is retained and is detected at any time.
Famicom & NES mini should be supported as well, the technical aspect is the same except the point on PCB are likely different. I do not own either so I can't provided pictures myself.
Unfortunately this doesn't work with the Hakchi CE kernel. For some reason random buttons press glitch appear when using that kernel. I debugged this for a week and couldn't figure it out...
- ESP32-DEVKITC-32E with ESP-WROOM-32 (Get it on Digikey or Mouser)
- 150 ohm resistor (x1) (DKPN: S150CACT-ND PN: RNMF14FTC150R)
- PMIC Supervisors (x1) (DKPN: DS1233A-10+T&R PN: DS1233A-10+T&RCT-ND)
- 100uF capacitor (x1) (DKPN: 1276-3399-2-ND PN: CL32X107MQVNNNE)
- 1uF capacitor (x1) (DKPN: 587-1241-2-ND PN: EMK107B7105KA-T)
- Green LED (x1) (DKPN: 160-1130-ND PN: LTL-4233)
- 2K resistor (x4) (DKPN: CF14JT2K00CT-ND PN: CF14JT2K00)
- 47K resistor (x2) (DKPN: CF14JT47K0CT-ND PN: CF14JT47K0)
- (Optional) DPDT toggle switch (x1) (DKPN: 450-2097-ND PN: TMD1T3B1M1QE) (Needed if you need to get into Recovery mode for Hakchi)
Assuming you already took apart your SNES mini, either use a hot air rework station or use chip quick to desolder with iron to remove the two resistors highlighted in RED near the controllers connectors.
- Download latest BlueRetro firmware and unzip. Download the ESP32 Flash Download Tools and unzip.
- Connect DevKit-C board with USB and execute flash_download_tool_x.y.z.exe
- Set chipType: ESP32, workMode: develop and click OK
- Select and checkbox the 3 BlueRetro binary files in the first 3 field.
In order each bin offset are: 0x1000, 0x8000 & 0x10000.
Take firmware file called: BlueRetro_wii_ext_internal.bin
- Select proper COM port for your machine.
- Press START
- Wait for status to change to FINISH.
Some of the pin used in this mod are ESP32 strapping, so we need to use a PMIC supervisor to hold the ESP32 in reset for some time when power cord get connected. We also improve the decoupling of the ESP32 module to avoid current draw spike to lower the voltage below the PMIC threshold.
-
Remove the header from the DevKit-C by cutting them.
-
Install PMIC on ESP32 back with pin on 3V3, pin on GND and pin on EN.
-
Install 1uF cap between pin 1 & 2 of the ESP32 module.
-
Install 100uF cap between pin 1 & header 3V3 pin of the ESP32 module.
-
Mount the ESP32 on the back of the SNES mini PCB with double sided tape
-
Wire up the ESP32 to PCB point.
Note that the PCB point # are not marked on the SNES mini PCB.IO13 & IO14 will interfere with getting the SNES mini in recovery mode which Hakchi install require. Use the optional DPDT toggle switch to allow easily disconnecting both pad from the ESP32 when needed
ESP32 IO SNES mini point Description IO14 1 Reset button IO13 2 Power button IO26 3 P1 SDA IO25 4 P1 SCL IO4 5 P1 Detect from CTRL IO39 6 P1 Power (ON state sense) IO2 7 P1 Detect to mini IO2 8 P2 Detect to mini IO27 9 P2 SDA IO5 A P2 SCL IO15 B P2 Detect from CTRL -
Add I2C 2K pull-up resistor to ESP 3V3 to ESP32 pin IO5, IO25, IO26 & IO27.
-
Add detect input 47K pull-down resistors on ESP32 pin IO4 & IO15.
-
RE notes
- ESP32 RTOS + Bare Metal: Best of Both Worlds?
- Learning Bluetooth Classic (BR/EDR) with HCI traces
- Xbox One Adaptive controller
- Evolution of SEGA's IO Interface from SG-1000 to Saturn
- Famicom & NES controller shift register: Parallel-in, Serial-out
- SNES 2P & Super Multitap
- PlayStation & PlayStation 2 SPI interface
- 3DO interface
- PC-FX interface
- CD-i interface
- PCE & TG16 interface
- Jaguar Interface
-
Deprecated content