MicroPython on M5Stamp-C3

  • No idea why the ESP32-C3 needed to be written starting at 0x0, rather than 0x1000, but sure enough it did. I couldn't figure out why nothing could seem to be written successfully to my STAMP-C3, but basically nothing was working. Now, thanks to a blog post I found, it's successfully running the generic ESP32-C3 MicroPython binary.

    Successful esptool.py commands:

    esptool.py -p COMx -b 1500000 --before default_reset erase_flash
    esptool.py -p COMx -b 1500000 --before default_reset write_flash -z 0x0 esp32c3-20210902-v1.17.bin

    Result on REPL:

    Build:Feb 7 2021
    rst:0x1 (POWERON),boot:0xc (SPI_FAST_FLASH_BOOT)
    mode:DIO, clock div:1
    entry 0x403ce000
    MicroPython v1.17 on 2021-09-02; ESP32C3 module with ESP32C3
    Type "help()" for more information.

  • Hello @mlindholm

    thank you for sharing. The bootloader address is different between ESP32 and ESP32c3.

    • ESP32: Bootloader is located at the address 0x1000 in the flash. See here.
    • ESP32c3: Bootloader is located at the address 0x0 in the flash. See here.


  • The difference is because the C3 uses a RISC V core and not an esp32 core.

  • @mlindholm would you share the link to that blog post?. Thanks.