Installation ‐ mainboard firmware - ThomasToka/MarlinFirmware GitHub Wiki

Check Printer Chip

On the motherboard, there will be a square chip that reads something like; ARMz STM32F401 or ARM STM32F103 If the letters contain F4, you have an F4 chip. If the letters contain F1, you have an F1 chip.

Alternatively, you can visit the printer's About page where you should see either F1 or F4 on the F/W VER.

SD Card

To update the board firmware, you will need to insert an SD card into the card reader on the front panel of the printer. Note: You can use a microSD and a microSD to SD card adapter

It is advisable to use an SD card that has a total capacity of less than 64GB. It is best to use a card smaller than 32GB. If the capacity of the card is larger than 8GB, create a partition on your SD card. 2GB partitions work well. The card should be formatted as FAT32 with a 4096 unit size.

Preparing the card(s)

Windows Users

Open Disk Management, if your card has no partitions it may look something like this.

image

Delete the existing volume

image

On the now unallocated space, create a new simple volume

image

In the wizard, set the volume size to 2048, assign the drive a letter and format with the following settings;

File System: FAT32

Allocation Unit Size: 4096

Volume Label: Set your own name, or leave as default 'New Volume'

Perform a quick format: Yes

image

You should now have a 2GB partition on your card which is visible in File Explorer

image

Mainboard Firmware

Download the bin file relevant to the chip you have and the release you wish to install, from Git. The firmware is named according to the release e.g. abl5x5 or ubl e.g. firmware-{date}-{time}-E3S1Pro-abl7x7-v004-F1.bin

https://github.com/ThomasToka/MarlinFirmware/releases

If you cannot find the file, click 'Show all assetts>

If you have an F4 printer, create a new folder on the card called STM32F4_UPDATE and place the bin file inside.

image

If you have an F1 printer, place the bin file on the root.

image

  • Turn your printer off
  • Insert the SD card into the card reader on the front panel of the printer
  • Turn your printer on
  • The firmware will be installed, there is no progress screen - it will simply boot after the firmware has been installed.

To confirm the successful installation, visit the printer's About page. You will see the version number as well as "-byTT".

Appendix 1: Check if the card is formatted right under Windows:

  • first check if the card is fat32 and has a unit allocation size of 4096:
  • open cmd by with "Win + s" -> open command line
  • type "chkdsk d:" where d: is your sd card grafik
  • second check if your sd card has a msdos partition table (MBR):
  • open disc management with "Win + x" -> open disc management
  • navigate to your disc, right mouse button, open properties, click on "Volumes" grafik

Appendix 2: Check with octoprint or pronterface if the mainboard flashes:

  • shut down printer, it disconnects from octoprint/pronterface
  • go to the terminal (in case of octoprint) tab and "clear all"
  • as soon as you power on your printer and the connect button appears, connect (you need to be fast!)
  • you should see something like this in octoprint and similar in the pronterface terminal:
Trying port /dev/ttyUSB0, baudrate 115200
Connecting to port /dev/ttyUSB0, baudrate 115200
Handshake attempt #1 with timeout 2.0s
Connected to: Serial<id=0xecb4dfa0, open=True>(port='/dev/ttyUSB0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=2.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
Send: N0 M110 N0*125
Recv: fileName=[0:/STM32F4_UPDATE/firmware-20250914-180301-E3S1Pro-abl-v034-F4.bin]
Recv: Start copy app ...
Handshake attempt #2 with timeout 2.0s
Send: N0 M110 N0*125
Recv: Running APP Data...
Recv: start
Changing monitoring state from "Detecting serial connection" to "Operational"
Recv:  External Reset
Send: N0 M110 N0*125
Recv: Marlin abl-v034-byTT
Recv: echo: Last Updated: 2025-06-29 | Author: Thomas Toka fork
Recv: echo: Compiled: Sep 14 2025 18:02:29
Recv: echo: Free Memory: 25835  PlannerBufferBytes: 2240
Recv: Warning:EEPROM Corrupt
Recv: //action:notification Hardcoded Default Settings Loaded
Recv: echo:Hardcoded Default Settings Loaded
Recv: //action:notification Hardcoded Default Settings Loaded
Recv: echo:Hardcoded Default Settings Loaded
Recv: echo:Settings Stored (757 bytes; crc 33562)
Recv: //action:notification Settings Stored
Recv: //action:notification Settings Stored

Appendix 3: Bootloader filename remembering:

  • the bootloader always remembers the last flashed filename (eg. firmware-20250717-214027-E3S1Pro-abl-v034-F4.bin)
  • if you had a "bad flash" or simply want to reinstall the actual release file you need to rename the file if you had this file flashed already like firmware-20250717-214027-E3S1Pro-abl-v034-F4-1.bin
  • it does not matter what you change in the end section. for example you could also do "firmware-20250717-214027-E3S1Pro-abl-v034-F5.bin"
  • so the F4 for example is only a visual thing and F5 is not processed in any form by the mainboard like F4. its only the filename..
  • firmware-20250717-214027-E3S1Pro-abl-v034.bin will also work as a new filename as far as the bin itsself is the right one..
summarize for concurrent flashes:

possible:
firmware-20250717-214027-E3S1Pro-abl-v034-F4.bin
firmware-20250717-214027-E3S1Pro-abl-v034.bin
firmware-20250717-214027-E3S1Pro-abl-v034-F4.bin
firmware-20250717-214027-E3S1Pro-abl-v034.bin

not possible:
firmware-20250717-214027-E3S1Pro-abl-v034-F4.bin
firmware-20250717-214027-E3S1Pro-abl-v034-F4.bin

also not possible:
firmware-20250717-214027-E3S1Pro-abl-v034.bin
firmware-20250717-214027-E3S1Pro-abl-v034.bin

Hope it is clear that it only remembers the last flashed filename!

⚠️ **GitHub.com Fallback** ⚠️