Skip to content

Cannot flash a generic ESP32 #28

@jonnor

Description

@jonnor

I am trying to flash an M5StickC PLUS 2. I use a ESP32_GENERIC image with SPIRAM variant usually. It works great when flashing using esptool.py - but it does not work with mpflash which I just installed with "pip install mpflash".

Using no arguments

mpflash flash

Expected: Board is automatically identified, or if that fails, either fallback to generic - or inform me as use how to specify required information.

Actual, errors with UNKNOWN_BOARD

14:11:02 | ⚠️ No firmware files found for board UNKNOWN_BOARD version v1.25.0
14:11:02 | ⚠️ No v1.25.0 firmware found for UNKNOWN_BOARD on /dev/ttyACM0.
14:11:02 | ⚠️ No firmware files found for board UNKNOWN_BOARD version v1.25.0
14:11:02 | ℹ️ Downloading v1.25.0 firmware for UNKNOWN_BOARD on /dev/ttyACM0.
14:11:02 | ℹ️ Found 0 potentially relevant firmwares
14:11:02 | ❌ No relevant firmwares could be found on https://micropython.org/download
14:11:02 | ℹ️ versions=['v1.25.0'] ports=['esp32'] boards=['UNKNOWN_BOARD', 'UNKNOWN_BOARD']
14:11:02 | ℹ️ Please check the website for the latest firmware files or try the preview version.
14:11:02 | ⚠️ No firmware files found for board UNKNOWN_BOARD version v1.25.0

mpflash list is able to see that this is an ESP32 with SPIRAM

Using specific board and variant

mpflash flash --erase --variant spiram --board ESP32_GENERIC

Expected: Flash using the board/variant information I specify, regardless of what the device reports

Actual: Errors with UNKNOWN_BOARD

14:05:14 | ⚠️ No firmware files found for board UNKNOWN_BOARD-spiram version v1.25.0
14:05:14 | ⚠️ No v1.25.0 firmware found for UNKNOWN_BOARD on /dev/ttyACM0.
14:05:14 | ⚠️ No firmware files found for board UNKNOWN_BOARD-spiram version v1.25.0
14:05:14 | ℹ️ Downloading v1.25.0 firmware for UNKNOWN_BOARD on /dev/ttyACM0.
14:05:15 | ℹ️ Found 0 potentially relevant firmwares
14:05:15 | ❌ No relevant firmwares could be found on https://micropython.org/download
14:05:15 | ℹ️ versions=['v1.25.0'] ports=['esp32'] boards=['UNKNOWN_BOARD', 'UNKNOWN_BOARD']
14:05:15 | ℹ️ Please check the website for the latest firmware files or try the preview version.
14:05:15 | ⚠️ No firmware files found for board UNKNOWN_BOARD-spiram version v1.25.0

Traceback (most recent call last):
  File "/home/jon/projects/emlearn-micropython/examples/har_trees/venv/bin/mpflash", line 8, in <module>
    sys.exit(mpflash())
             ~~~~~~~^^
  File "/home/jon/projects/emlearn-micropython/examples/har_trees/venv/lib/python3.13/site-packages/mpflash/cli_main.py", line 29, in mpflash
    result = cli(standalone_mode=True)
  File "/home/jon/projects/emlearn-micropython/examples/har_trees/venv/lib/python3.13/site-packages/rich_click/rich_command.py", line 404, in __call__
    return super().__call__(*args, **kwargs)
           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/home/jon/projects/emlearn-micropython/examples/har_trees/venv/lib/python3.13/site-packages/click/core.py", line 1442, in __call__
    return self.main(*args, **kwargs)
           ~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/home/jon/projects/emlearn-micropython/examples/har_trees/venv/lib/python3.13/site-packages/rich_click/rich_command.py", line 187, in main
    rv = self.invoke(ctx)
  File "/home/jon/projects/emlearn-micropython/examples/har_trees/venv/lib/python3.13/site-packages/click/core.py", line 1830, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/home/jon/projects/emlearn-micropython/examples/har_trees/venv/lib/python3.13/site-packages/click/core.py", line 1226, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jon/projects/emlearn-micropython/examples/har_trees/venv/lib/python3.13/site-packages/click/core.py", line 794, in invoke
    return callback(*args, **kwargs)
  File "/home/jon/projects/emlearn-micropython/examples/har_trees/venv/lib/python3.13/site-packages/mpflash/cli_flash.py", line 229, in cli_flash_board
    jid.ensure_firmware_downloaded(worklist, version=params.versions[0], force=params.force)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jon/projects/emlearn-micropython/examples/har_trees/venv/lib/python3.13/site-packages/mpflash/download/jid.py", line 47, in ensure_firmware_downloaded
    raise MPFlashError(f"Failed to download {version} firmware for {mcu.board} on {mcu.serialport}.")
mpflash.errors.MPFlashError: Failed to download v1.25.0 firmware for UNKNOWN_BOARD on /dev/ttyACM0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions