STM32 and APM32 Firmware Update Tutorial
- This tutorial only applies to FLY series products. Devices of other brands or models are not compatible, please do not attempt.
- This tutorial applies to updating firmware by entering flashing mode.
- This tutorial only applies to FLY products using APM32 and STM32 series chips.
Download Firmware
Please download the corresponding precompiled firmware based on the product type:
Mainboard Firmware
- MainBoard/C8/C8.bin
- MainBoard/C8/C8_PRO.bin
- MainBoard/CDY/CDYV3_V2.bin
- MainBoard/CDY/CDY.hex
- MainBoard/D/FLY_DP5.bin
- MainBoard/D/FLY_D8_H723.bin
- MainBoard/D/FLY_D8_F407.bin
- MainBoard/D/FLY_D7.bin
- MainBoard/D/FLY_D5.bin
- MainBoard/E3/E3_V2.bin
- MainBoard/E3/E3_Ultra.bin
- MainBoard/FLYF407ZG/FLYF407ZG.bin
- MainBoard/Gemini/GeminiV3.bin
- MainBoard/Gemini/GeminiV2_V1.1_V1.hex
- MainBoard/Mico/Mico_Katapult_USB.uf2
- MainBoard/ProX10/ProX10_USB_katapult.bin
- MainBoard/ProX10/BL.bin
- MainBoard/Rpfmex/rpfmex.uf2
- MainBoard/SUPER/SUPER8PRO.bin
- MainBoard/SUPER/SUPER8.bin
- MainBoard/SUPER/SUPER5PRO.bin
.txt 或其他扩展名。Tool Board Firmware
- ToolBoard/ERCF/FLY_ERCFV2_CANBOOT_CAN_500K.uf2
- ToolBoard/ERCF/FLY_ERCFV2_CANBOOT_CAN_1M.uf2
- ToolBoard/ERCF/FLY_ERCF_CANBOOT_USB.uf2
- ToolBoard/ERCF/FLY_ERCF_CANBOOT_500K.uf2
- ToolBoard/ERCF/FLY_ERCF_CANBOOT_1M.uf2
- ToolBoard/MMU/FLY_MMU_CANBOOT_USB.bin
- ToolBoard/MMU/FLY_MMU_CANBOOT_CAN_500K.bin
- ToolBoard/MMU/FLY_MMU_CANBOOT_CAN_1M.bin
- ToolBoard/SB2040/FLY_SB2040V3_CANBOOT_CAN_500K.uf2
- ToolBoard/SB2040/FLY_SB2040V3_CANBOOT_CAN_1M.uf2
- ToolBoard/SB2040/FLY_SB2040PROV3_CANBOOT_CAN_500K.uf2
- ToolBoard/SB2040/FLY_SB2040PROV3_CANBOOT_CAN_1M.uf2
- ToolBoard/SB2040/FLY_SB2040PRO_CANBOOT_500K.uf2
- ToolBoard/SB2040/FLY_SB2040PRO_CANBOOT_1M.uf2
- ToolBoard/SB2040/FLY_SB2040_CANBOOT_500K.uf2
- ToolBoard/SB2040/FLY_SB2040_CANBOOT_1M.uf2
- ToolBoard/SHT36/FLY_SHT36V3_katapult_CAN_500K.uf2
- ToolBoard/SHT36/FLY_SHT36V3_katapult_CAN_1M.uf2
- ToolBoard/SHT36/FLY_SHT36V2_103_CANBOOT_500K.BIN
- ToolBoard/SHT36/FLY_SHT36V2_103_CANBOOT_1M.BIN
- ToolBoard/SHT36/FLY_SHT36V2_072_CANBOOT_500K.bin
- ToolBoard/SHT36/FLY_SHT36V2_072_CANBOOT_1M.bin
- ToolBoard/SHT36/FLY_SHT36PRO_CANBOOT_500K.uf2
- ToolBoard/SHT36/FLY_SHT36PRO_CANBOOT_1M.uf2
- ToolBoard/SHT36/FLY_SHT36LIS3DH_CANBOOT_CAN_500K.uf2
- ToolBoard/SHT36/FLY_SHT36LIS3DH_CANBOOT_CAN_1M.uf2
- ToolBoard/SHT36/FLY_SHT36_072_CANBOOT_500K.BIN
- ToolBoard/SHT36/FLY_SHT36_072_CANBOOT_1M.BIN
- ToolBoard/TOOL-LITE/FLY_TOOL-LITE_CANBOOT_CAN_1M.uf2
- ToolBoard/USBADXL/FLY_USBADXL.uf2
.txt 或其他扩展名。Expansion Board and Screen Firmware
Please go to the corresponding product page to download. Direct download links are provided on the pages.
Firmware Path Description
| Folder Name | Description |
|---|---|
| ExtensionBoard | Firmware for FLY modules and expansion boards |
| Screen | Firmware for FLY screens |
| MainBoard | Firmware for FLY mainboards |
| ToolBoard | Firmware for FLY tool boards |
When flashing on Linux, the firmware path in the command needs to be fully specified down to the actual firmware file, not just the folder path. For example, after pulling FLY-Firmware on a local server or Linux host, first navigate to the corresponding product directory to view the actual file name, then replace the path after -D with a complete path like ~/FLY-Firmware/ExtensionBoard/ALPS/mergedBL/FLY-ALPS-V2.0-mergedBL.bin.
Entering Flashing Mode
- Prepare a Type-C data cable that supports data transmission.
- Ensure the device is completely powered off and not connected to any other devices.
- While powered off, plug the Type-C data cable into the device first.
- Press and hold the BOOT button on the device, then plug the other end of the data cable into the computer. Release the BOOT button once the computer recognizes the device.
Precautions
-
USB Port Compatibility: Some devices may not be recognized properly on USB 3.0 ports. It is recommended to prioritize using a USB 2.0 port for flashing.
-
Flashing Failure Troubleshooting Steps: If flashing still fails on a USB 2.0 port, try the following:
- Disconnect all non-essential external devices (such as drivers, limit switches, etc.);
- Completely power off the computer (unplug the power cord), wait a few seconds, then restart;
- Try using an external USB hub or switching to a different USB port.
Flashing Firmware
- Windows Flashing
- Linux Flashing
- STM32 Windows Flashing
- APM32 Windows Flashing
- DFU-AUTO Graphical Flashing
Before connecting or re-plugging the USB cable, completely shut down the printer and disconnect other power sources. Do not allow the tool board to be powered simultaneously via the printer's power supply and the USB interface.
Some computer USB ports may cause unstable flashing due to driver or signal compatibility issues. If connection fails, try switching to a different USB port on the computer or use a reliable USB hub. If the error shown below appears, check the USB connection and drivers first.
- Download and install
SetupSTM32CubeProgrammerand the STM32 DFU driver from the Auxiliary Software Download Page. - Save the firmware downloaded from this page to a location on your computer that is easy to find.
Windows may hide file extensions. Please check "File name extensions" in File Explorer to confirm the firmware is still in .bin or .hex format. Do not modify the file extension.
- Confirm the device has entered DFU flashing mode according to the product tutorial, then connect it to the computer using a USB cable that supports data transfer.
- Open STM32CubeProgrammer, select USB mode, refresh the device list, and connect.
- If no error popup appears, the connection is successful.
- Click the download icon on the left side, and check the flashing options as shown in the image below.
- Click
Browseand select the firmware to be flashed.
- When flashing
.binfirmware, setStart addressto0x08000000. When using.hexfirmware, keep the address embedded in the file.
- Click
Start automatic modeto begin flashing.
- When the success message appears, the firmware flashing is complete.
Before connecting or reconnecting the USB cable, fully shut down the printer and disconnect other power supplies. Do not allow the tool board to be powered simultaneously by the printer power supply and the USB interface.
- Download and extract
DFUProgrammerfrom the Auxiliary Software Download Page. - Manually install the APM32 DFU driver contained in the toolkit.
- Save the firmware downloaded from this page to an easily accessible location on your computer.
Windows may hide file extensions. Please check "File name extensions" in File Explorer, confirm the firmware is still .bin, and do not modify the file extension.
- After confirming the device has entered DFU flashing mode as per the product tutorial, connect it to the computer using a USB cable that supports data transfer.
- Open DFUProgrammer, and select the device and firmware as shown in the figure below.
- Click "Start Firmware Update" and wait for the progress to complete. Only after the success prompt appears, power off and restore the wiring according to the "Complete Flashing" requirements on this page.
Before connecting or reconnecting the USB cable, completely power off the printer and disconnect other power sources. Do not let the toolboard be powered simultaneously by both the printer power supply and the USB interface.
- Download and run FLY DFU-AUTO.
- If the "Driver Status" shows unavailable, click "Install Driver" to complete the WinUSB driver installation.
- Click "Browse" to select the
.binfirmware file to be flashed.
Windows may hide file extensions. In File Explorer, check "File name extensions" to confirm the firmware remains as .bin. Do not modify the file extension.
- Click "Start Flashing", monitor progress through the run log, and wait for the flashing process to complete.
Detailed Tutorial: FLY DFU-AUTO Download and Usage
- STM32 Linux Flashing
- APM32 Linux Flashing
-
Install the flashing tool
- No need to install the flashing tool for the FLY host computer
- If you need to install it, please note: The host computer must have internet access for proper installation
- If already installed, there is no need to install again
sudo apt updatesudo apt install dfu-util -y -
Run the following command to check if the connection is successful.
lsusb-
If no DFU device is found, please try re-entering flashing mode
-
Due to system version differences, it may display a different name. If you see
0483:df11, it indicates that the flashing mode has been enteredLoading...
-
-
Flash the firmware
- Run the command below to start flashing. Replace
<full path of firmware file>with the actual firmware file path
sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D <full path of firmware file> - Run the command below to start flashing. Replace
-
If the message
File downloaded successfullyappears as shown below, the flashing is successfulLoading...TipAfter flashing is complete, be sure to completely power off the motherboard once.
-
Install Flashing Tool
- No installation of flashing tool is required for FLY host computers.
- If installation is needed, please note: The host computer must have internet access for proper installation.
- If already installed, no need to install again.
sudo apt updatesudo apt install dfu-util -y -
Run the following command to check if the connection is successful.
lsusb-
If no DFU device is detected, please try re-entering flashing mode.
-
Due to system version differences, it may display other names. If
314b:0106appears, it indicates successful entry into flashing mode.Loading...
-
-
Flash Firmware
- Execute the following command to start flashing. Replace
<full path to firmware file>with the actual firmware file path.
sudo dfu-util -a 0 -d 314b:0106 --dfuse-address 0x08000000 -D <full path to firmware file> - Execute the following command to start flashing. Replace
-
The flashing is successful when the output shows
File downloaded successfullyas shown below.Loading...TipAfter flashing, the motherboard must be completely powered off once.
Each product documentation page provides automated flashing commands, eliminating the need to manually enter the firmware path. Please visit the corresponding product page for details:
- Mainboard:
/docs/ProductDoc/MainBoard/... - Tool Board:
/docs/ProductDoc/ToolBoard/... - Expansion Board:
/docs/ProductDoc/ExtensionBoard/... - Screen:
/docs/ProductDoc/Screen/...
Frequently Asked Questions
Q: What should I do if the computer cannot recognize the device?
A: Please troubleshoot by following these steps:
- Confirm that the data cable supports data transmission (charging cables are not usable).
- Check if the device has entered flashing mode (hold BOOT, then plug in USB).
- Change the USB port on the computer, a USB 2.0 port is recommended; if issues occur on a USB 3.0 port, try a USB 2.0 port or connect via a USB hub.
- Check if the computer has the relevant chip's USB driver installed (such as the DFU driver for STM32, or the virtual serial port driver for APM32).
Q: What should I do if the flashing process reports a failure or gets stuck?
A: You can try the following:
- Re-enter flashing mode and try flashing again.
- Switch to a different USB port (USB 2.0 recommended) or use a hub.
- Close other software that is occupying USB resources.
- Confirm that the selected firmware matches the device model (such as mainboard, screen, tool board, etc.).
Q: The device fails to start after flashing is complete?
A: Possible causes and solutions:
- After flashing is complete, completely power off the device (unplug the power supply), then power it back on to ensure the firmware starts normally.
- Firmware version mismatch: Re-download the firmware for the corresponding model and flash it again.
- The flashing was not completed: Re-enter flashing mode and flash again.
- Hardware issues: Check if the power connection is normal, or contact technical support.