darthcloud / BlueRetro Public
BlueRetro DIY Build Instructions
Pages 12
- HW Building
- SW Compiling
- Usage
- Debug
- 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
Clone this wiki locally
Bill of materials
- ESP32-DEVKITC-32E with ESP-WROOM-32 (Get it on Digikey or Mouser)
- DB-25 Female connector solder cup (or console plug if hardwired)
Build instructions
-
Install esptool and prerequisites (not required for Windows):
Linux: Install prerequisites.
macOS: Install prerequisites and USB driver (Note: You may need to Allow driver under System Preferences > Security & Privacy, and reboot).
Then run:
pip install esptool -
Download latest BlueRetro binary from GitHub and flash them on your ESP32.
Linux/macOS: Find your device path which should look like
/dev/tty*on Linux or/dev/cu.*on macOS. Then run the following (changing/dev/ttyUSB0to your actual device):esptool.py -p /dev/ttyUSB0 \ -b 460800 --before default_reset --after hard_reset --chip esp32 \ write_flash --flash_mode dio --flash_size detect --flash_freq 40m \ 0x1000 bootloader/bootloader.bin \ 0x8000 partition_table/partition-table.bin \ 0x10000 BlueRetro_universal_spiffs.binWindows: Flashing firmware Windows 10.
-
Install DB25 connector (or direct console plug).
https://github.com/darthcloud/BlueRetroHW/blob/master/DIY/BlueRetroDIY.pdf -
Build target system cable adapter (or use as reference for direct console plug).
https://github.com/darthcloud/BlueRetro/wiki/BlueRetro-Cables-Build-Instructions -
(Optional) Power on system and connect via Web Bluetooth to configure adapter.
The config mode is only available if no controller is connected.
https://blueretro.io -
BlueRetro is always in pairing mode if no controller connected.
Pair via inquiry first (SYNC or pairing mode), on subsequent connection you can simply page (button press or power on button).
See guide for more specific instruction: Pairing Guide -
(Optional) Wire IO17 as follow to get Bluetooth pairing mode status and error notification:
