STM32 and APM32 Firmware Update Tutorial
- This tutorial applies only to FLY series products. Devices of other brands or models are not compatible. Do not attempt.
- This tutorial is for updating firmware by entering flash mode.
- This tutorial applies only to FLY products using APM32 or STM32 series chips.
Download Firmware
You can obtain the firmware via the following links:
- Download Firmware Package - Direct download of the latest firmware archive.
- Repository Address - Access 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 data 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 insert the Type-C cable into the device.
- Press and hold the BOOT button on the device, then insert the other end of the cable into the computer. Release the BOOT button once the computer recognizes the device.
Notes
-
USB Port Compatibility: Some devices may not be properly recognized on USB 3.0 ports. It is recommended to use a USB 2.0 port for flashing.
-
Flashing Failure Troubleshooting Steps: If flashing fails on a USB 2.0 port, try the following:
- Disconnect all unnecessary external devices (e.g., drivers, endstops).
- Completely power off the computer (unplug the power cable), wait a few seconds, then restart.
- Use an external USB hub or try a different USB port.
Flashing Firmware
- Flashing with Windows Tutorial
- Flashing with Linux Tutorial
- Flashing STM32 with Windows Tutorial
- Flashing APM32 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.
- Flashing STM32 with Linux Tutorial
- Flashing APM32 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: What should I do if the computer doesn't recognize the device?
A: Follow these steps to troubleshoot:
- Ensure the data cable supports data transfer (charging cables won't work).
- Check that the device has entered flash mode (hold BOOT, then plug in USB).
- Try a different USB port on the computer. Use a USB 2.0 port; if using a USB 3.0 port causes issues, try a USB 2.0 port or connect via a USB hub.
- Verify that the correct USB driver for the chip is installed on the computer (e.g., DFU driver for STM32, virtual serial port driver for APM32).
Q: What if the flashing process fails or gets stuck?
A: Try the following methods:
- Re-enter flash mode and attempt flashing again.
- Change the USB port (recommend USB 2.0) or use a hub.
- Close other software that may be using USB resources.
- Confirm that the selected firmware matches the device model (e.g., motherboard, screen, tool board).
Q: What if the device won't start after flashing?
A: Possible causes and solutions:
- After flashing, completely power off the device (unplug the power), then power it back on to ensure the firmware starts properly.
- 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.