Transmitter Mode (OpenRetroPad) Guide - GrechTech/RetroRosetta GitHub Wiki
OpenRetroPad
Turn various input devices into Bluetooth outputs.
Get the code here: https://github.com/OpenRetroPad/OpenRetroPad (This page is adapted from the source)
We have recently committed updates to this codebase to implement support for BlueRetro hardware
Build using PlatformIO using pio run or pio run -e $board-$input-$output for a specific target/env.
To compile for BlueRetro units such as RetroRosetta, use board option "esp32" and output option "out-br".
For RetroRosetta V1, use a serial input to program the board with the pinout shown here.
For RetroRosetta V2, use the Micro USB input to program the board.
Currently supported inputs: SNES/NES, Sega Genesis/Megadrive/Atari, Sega Saturn, Playstation (and PS2) Digital and Dual shock, Nintendo 64, Nintendo Gamecube, Nintendo Wii Nunchuck/Wii Classic/SNES+NES Mini
Wiring
| GTRR Pins | ESP32 GPIO | SNES | PSX | N64 | Gamecube | Genesis | Dreamcast | Saturn | Wii Ext |
|---|---|---|---|---|---|---|---|---|---|
| 6B | 19 | LATCH | - | - | - | P1-1 | P1-DATA1 | P1-7 | - |
| 5B | 21 | CLOCK | DATA | P1-DATA | P1-DATA | P1-3 | P1-DATA5 | P1-2 | SDA |
| 2B | 22 | P1-DATA | CMD | - | - | P1-4 | - | P1-3 | SCL |
| 16B | 16 | P3-DATA | CLK | - | - | P1-7 | - | PX-5 | - |
| 11B | 17 | - | - | - | - | P2-7* | - | - | - |
| 18B | 35 > 1k Ω | 330 Ω | 100 Ω | 220 Ω | 680 Ω | 470 Ω | 820 Ω | 1000 Ω | 1500 Ω |
| 17B | 32 | P2-DATA | ATT | - | - | - | - | P2-6 | - |
| 14B | 27 | - | - | - | - | P2-1 | - | P2-7 | - |
| 13B | 26 | - | - | - | - | P2-2 | - | P2-8 | - |
| 15B | 25 | - | - | - | - | P2-3 | - | P2-2 | - |
| 16B | 33 | - | - | - | - | P2-4 | - | P2-3 | - |
| 20A | 3.3V VCC | - | - | 3.3V VCC | 3.3V VCC | - | - | - | 3.3V VCC |
| 19D | 5V VCC | 5V VCC | 5V VCC | - | 5V VCC | PX-5 5V VCC | 5V VCC | PX-1 5V VCC | - |
| 18A | GND | GND | - | GND | GND | PX-8 GND | GND | PX-9 GND | GND |
| 17A | GND | GND | - | GND | GND | PX-8 GND | GND | PX-9 GND | GND |
| 1B | 23 | - | - | - | - | - | - | P1-6 | - |
| 8B | 5 | - | - | - | - | - | - | PX-4 | - |
| 19B | 34 | - | - | - | - | P1-6 | - | - | - |
| 18B | 35 | - | - | - | - | P1-9 | - | - | - |
| 12B | 36 | - | - | - | - | P2-6 | - | - | - |
| 20B | 39 | - | - | - | - | P2-9 | - | - | - |
** Not connected on RR
Ω This is optional and only used for dongle detection, available to test here. On the microcontroller side, put a 1k resistor between DB-25 pin 9 and VCC (3.3v for ESP32). On each controller dongle, put a resistor of the given value between pin 18B and GND.
All connected pins can also function as Digital pins (RR EXT 3 - 6 input only).