kbeckmann / PicoCart64

N64 development cart using a Raspberry Pi RP2040
BSD 2-Clause "Simplified" License
775 stars 44 forks source link

Implement ESP32-C3 firmware update #4

Closed kbeckmann closed 10 months ago

kbeckmann commented 2 years ago

Write/port code that updates the ESP32-C3 WiFi module over UART and toggles the boot/reset pins, from an rp2040.

See https://github.com/espressif/esp-serial-flasher

kbeckmann commented 2 years ago

After reviewing the third v2 concept, using SPI for both communication and firmware update seems to be the way to go (same pins and more reliable probably).

kbeckmann commented 2 years ago

Connect wires to the module so that: GPIO2 has a pull-up GPIO8 has a pull-up GPIO9 is controllable from MCU2. EN has pull-down and is controllable from MCU2. (force it to not boot until MCU2 says so)

Connect MCU2 UART peripheral pins to ESP32 UART.

See https://www.espressif.com/sites/default/files/documentation/esp32-c3-wroom-02_datasheet_en.pdf for details