Using the micropython REPL interface of the hub I've managed to dump the firmware using the built in tools. This was after I'd updated to
v1.0.03.0034-c3879ab. The commands on the hub to achieve this are:
This will output a 32 bytes of the firmware starting at location
BYTE_NUMBER which can be saved to a file. By calling this function repetitively, starting at
BYTE_NUMBER=0 and going until the function returns
false, the entire firmware can be dumped. I couldn't find a way of getting the current firmware length so dumps will contain the full memory of the board (~1Mbyte).
I've not found any online resources for old versions of the firmware of the SPIKE Prime hub.
However, the latest firmware seems to be inside the current version of the windows application [
SPIKE-PRIME_Full_1.2.0_Global_Win10]. This can be extracted by:
- Installing the SPIKE Prime Windows 10 application.
- Navigating to the resources directory inside the installed directory: [
- Creating a directory to hold the extracted source code of the electron application. (E.g. Output)
- Extracting the
app.asar file using the asar tool and the command
asar extract app.asar Output.
- Navigating to the firmware directory found inside the extracted code
- There you should find a
*.bin where its name is the md5 of its contents. (E.g
I compared the firmware I dumped from my hub to the one I found in the SPIKE Prime Windows 10 application and they matched exactly up to the size of the found firmware (it was smaller). I've uploaded the firmware to my github please feel free to PR more versions.