STM32 and APM32 Firmware Update Tutorial
- This tutorial only applies to FLY series products. Devices of other brands or models are not compatible. Do not attempt.
- This tutorial covers firmware updates by entering flash mode.
- This tutorial only applies to FLY products using APM32 and STM32 series chips.
Download Firmware
You can obtain the firmware via the following link:
- Download Firmware Package - Download the latest firmware archive directly
The downloaded archive must be extracted before use.
- Repository Address - Visit the firmware repository
Firmware Path Description
| Folder Name | Description |
|---|---|
| ExtensionBoard | Firmware for FLY modules and expansion boards |
| Screen | Firmware for FLY screens |
| MainBoard | Firmware for FLY motherboards |
| ToolBoard | Firmware for FLY tool boards |
Entering Flash Mode
- Prepare a Type-C cable that supports data transfer.
- Ensure the device is completely powered off and not connected to any other devices.
- While the device is powered off, first connect the Type-C cable to the device.
- Press and hold the device's BOOT button, then connect the other end of the cable to your computer. Once the computer recognizes the device, release the BOOT button.
Important Notes
-
USB Port Compatibility: Some devices may not be recognized correctly on USB 3.0 ports. It is recommended to use 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 (e.g., drivers, endstops);
- Completely power off your computer (unplug the power cable), wait a few seconds, and restart;
- Use an external USB hub or try a different USB port.
Flashing Firmware
- Flashing with Windows Tutorial
- Flashing with Linux Tutorial
- STM32 Flashing with Windows Tutorial
- APM32 Flashing with Windows Tutorial
To ensure successful STM32 flashing, please note the following:
- The USB port on some computers may cause unstable flashing due to driver or signal compatibility issues. It is recommended to try a different USB port for connection.
- If changing ports does not work, an effective solution is to connect via an external USB hub, which often improves compatibility.
- When the flashing software reports the error shown below, please also prioritize trying a USB hub. If the issue persists, check or use the host computer for flashing.
Loading...
- Flashing tool Download Link
- You need to download
SetupSTM32CubeProgrammerandSTM32 DFU Driver - Download the firmware to any directory on your computer
- Connect the motherboard to the computer using a Type-C cable, ensuring it has entered
dfuflashing mode - In STM32CubeProgrammer, select USB mode, refresh, and connect
Loading...
- If no error popup appears, the connection is successful.
Loading...
- Click the download icon on the left and check the following options
Loading...
- Click
Browseas indicated by the arrow, then select the firmware you need to flashLoading... - Set
Start addressto0x08000000- Note: If the firmware is in
HEXformat, please skip this step!!
Loading... - Note: If the firmware is in
- Click
Start automatic modebelow to begin flashing the firmwareLoading... - The following prompt indicates that the firmware flashing is complete
Loading...
- Download the flashing tool: Download Link
- Install the DFU driver: Download and extract
DFUProgrammer. The package includes the DFU driver for APM32. Please install this driver manually. - Prepare the firmware: Copy the previously compiled firmware file to any directory on your computer (e.g., the desktop) for easy selection later.
- Enter DFU mode: Connect the mainboard to the computer using a Type-C cable. Ensure the mainboard is in DFU flashing mode (usually set via a jumper cap; for specific methods, refer to the mainboard's DFU entry instructions).
- Run the flashing tool: Open DFUProgrammer and select and configure as shown in the images below:
Loading...Loading...
- Start flashing: Click the "Start Updating Firmware" button and wait for the progress bar to complete. Once the flashing is successful, you can disconnect the Type-C cable and remove the jumper cap.
- STM32 Flashing with Linux Tutorial
- APM32 Flashing with Linux Tutorial
-
Install the Flashing Tool
- No need to install a flashing tool for FLY host machines.
- If installation is needed, note: The host machine must have internet access for a successful installation.
- Skip this step if it has already been installed.
sudo apt updatesudo apt install dfu-util -y -
Execute the command below to check if the connection is successful.
lsusb-
If no DFU device is found, try re-entering flashing mode.
-
Due to system version differences, it may display a different name. If
0483:df11appears, it indicates entry into flashing mode.Loading...
-
-
Flash the Firmware
- Execute the code below to start flashing.
sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/klipper/out/klipper.bin -
The flashing is successful when the following message appears:
File downloaded successfullyLoading...TipAfter flashing, power off the motherboard completely once.
-
Install flashing tool
- FLY host machine does not require installing a flashing tool
- If you need to install it, please note: The host machine must have internet access for proper installation
- If already installed, no need to install again
sudo apt updatesudo apt install dfu-util -y -
Execute the following command to check if the connection is successful.
lsusb-
If there is no DFU device, try re-entering flashing mode
-
Due to system version differences, it may display other names. If
314b:0106appears, it indicates entry into flashing modeLoading...
-
-
Flash the firmware
- Execute the following code to start flashing
sudo dfu-util -a 0 -d 314b:0106 --dfuse-address 0x08000000 -D ~/klipper/out/klipper.bin -
If the content
File downloaded successfullyappears as shown below, the flashing is successfulLoading...TipAfter flashing, the motherboard must be completely powered off once.
Frequently Asked Questions
Q: The computer cannot recognize the device. What should I do?
A: Please follow these steps to check:
- Confirm the cable supports data transfer (charging cables will not work).
- Check if the device has entered flash mode (hold BOOT, then connect USB).
- Try a different USB port on your computer. A USB 2.0 port is recommended; if issues occur with a USB 3.0 port, try a USB 2.0 port or connect via a USB hub.
- Check if the corresponding chip driver is installed on your computer (e.g., STM32 DFU driver, APM32 virtual serial port driver).
Q: What if the flashing process fails or gets stuck?
A: Try the following methods:
- Re-enter flash mode and attempt to flash again.
- Switch to a different USB port (USB 2.0 recommended) or use a hub.
- Close other software that may be using USB resources.
- Ensure the selected firmware matches your device model (e.g., motherboard, screen, tool board).
Q: The device won't start after flashing?
A: Possible causes and solutions:
- After flashing is complete, fully power off the device (unplug the power), then power it back on to ensure the firmware starts correctly.
- Firmware version mismatch: Re-download the correct firmware for your model and flash again.
- Incomplete flashing: Re-enter flash mode and flash again.
- Hardware issue: Check the power connection, or contact technical support.