Flash PCB - Micha213/BlueRetro-PS1-2-Receiver GitHub Wiki
SOICbite:
For this project I chose the SOICbite as the programming interface. It saves a lot of space and I really like the idea.
To use these you need a SOIC8 test clip. They can be found very cheaply on ebay, aliexpress and co. Unfortunately the clip cannot be used as it is as the clip does not close far enough to make contact. Therefore, the clip has to be processed a bit by grinding away some plastic on the inside.
This works best by disassembling the clip. To do this, slide the stud out on the side.
You can then rework the area shown with a flat file or sandpaper. Not much needs to be grinded away. Put the clip back together in between and test how far it closes. When the front contacts almost touch it's enough.
Finally, solder a couple of Dupont wire to the back of the clip. Normally four wire are sufficient for VIN, RXD, TXD and GND. On the other side you can also connect IO0 and EN if you want to operate the BOOT and EN button externally. Since these are also on the circuit board, you do not have to connect them. Note the pin assignment of the SOICbite on the circuit board. I recommend to mark the first pin on the clip.
More information can be found here:
Alternative with wires:
If you don't want to buy a SOIC8 test clip, you can also temporarily solder four Dupont cables to the contacts (VIN, RXD, TXD and GND) for programming.
ESP32 flash mode:
The board does not have an auto program circuit like some ESP32 dev boards have. Therefore you have to trigger the programming mode of the ESP32 yourself with the two buttons. Connect the board to the USB to UART converter and connect it to the PC. Note that RXD from the board must be connected to TXD from the programmer and otherwise. VIN goes to the voltage converter on the board. Therefore you can connect 5V from the USB to UART converter here. When the board is powered, press and hold the BOOT button and then press the EN button once to reset the ESP32. Keep the BOOT button pressed for 2-3 seconds after the reset before releasing it. The ESP32 is now in programming mode and can be flashed. The two buttons for Reset (EN) and BOOT (IO0) are also connected on the other side of the SOICbite interface. You can also operate them externally or even connect them externally to an auto program circuit.
Flashing firmware:
For detailed instructions on flashing the firmware, look at the BlueRetro Wiki page:
Flashing instructions for Linux/macOS
The firmware only needs to be flashed once via USB. Future updates can be made via the web Bluetooth interface (OTA FW update).
The current BlueRetro firmware is available here: BlueRetro releases