Restoring the stock firmware [Plus4] - Phil1988/FreeDi GitHub Wiki
This section describes the procedure and some things to look for when restoring the stock firmware on your Qidi Plus4 printer.
Procedure
Revert Qidi Plus 4 to Upstream Firmware
This guide provides instructions for users who want to revert their Qidi Plus 4 3D printer from FreeDi firmware back to the upstream Qidi firmware.
Flash Display Firmware
Download the Qidi TFT Firmware
Download the Qidi TFT Firmware from Qidi's official GitHub repository.
Copy Firmware to the printer
Transfer the downloaded TFT firmware to your FreeDi installation folder:
cp /path/to/downloaded/xindi_800_480.tft ~/FreeDi/screen_firmwares/
Stop FreeDi Service
Before flashing the new firmware, stop the FreeDi service:
sudo systemctl stop FreeDi
(Optional) Backup Existing Firmware
It is good practice to make a backup of the current FreeDi firmware in case you want to revert back. You can do this with the following command:
mv ~/FreeDi/screen_firmwares/x-plus3_x-max3_plus4_stable_v2.00.tft ~/FreeDi/screen_firmwares/x-plus3_x-max3_plus4_stable_v2.00.bak
Rename Qidi Firmware to Match FreeDi Firmware
Rename the Qidi firmware file to match the existing FreeDi firmware filename:
mv ~/FreeDi/screen_firmwares/xindi_800_480.tft ~/FreeDi/screen_firmwares/x-plus3_x-max3_plus4_stable_v2.00.tft
Force Flash the Firmware to the TFT Display
Navigate to the FreeDiLCD
directory and force flash the firmware to the display:
cd ~/FreeDi/FreeDiLCD && sudo ~/klippy-env/bin/python3 start.py -debug -force_flash
Wait for the process to complete (approximately 8-10 minutes).
[!IMPORTANT] If the flashing gets stuck or errors occur, power cycle the printer and it the flashing process should restart automatically. It may take several tries before the printer succeeds in flashing the firmware.
Flash MCU Firmware
The next step is to flash the main board and the toolhead's firmwares. Please reach out on Discord to get hold of pre-compiled firmware binaries.
Mainboard Firmware Update
To update the firmware on the mainboard, copy the qd_mcu.bin
firmware file to a microSD card and insert it into the printer's mainboard.
[!IMPORTANT] The microSD card must be formatted in FAT32 and have no hidden partitions. FAT16 or ExFAT will likely fail. The partition must also be smaller than 32GiB. [!TIP] To verify that the flashing procedure succeeded, chech that the firmware file has been renamed on the microSD to
qd_mcu.CUR
.
Toolhead Firmware Update
To flash the firmware to the toolhead, first stop the Klipper service:
sudo systemctl stop klipper.service
Then, use the following commands to flash the toolhead firmware:
python3 ~/katapult/scripts/flashtool.py -b 250000 -d /dev/ttyS2 -r
python3 ~/katapult/scripts/flashtool.py -b 500000 -d /dev/ttyS2 -r
python3 ~/katapult/scripts/flashtool.py -b 250000 -d /dev/ttyS2 -f ~/klipper_500000_withOffset.bin
Once the flashing process is complete, restart the printer to finalize the firmware update.
How to fix the UI version mismatch error
[!IMPORTANT] If upon restarting the printer, the display is in Mandarin and shows an error like the image below, navigate to the settings tab (the cog icon on the bottom-right) where you can change the language, connect to WiFi, etc. It's likely that the error is
The UI version does not match the firmware, please check for updates or contact after-sales!
. In this case, follow Qidi's Plus4 Firmware Update instructions.
Troubleshooting
If the TFT display remains stuck during the flashing process, restart the printer and try again.
Ensure the correct device paths are used during the MCU flashing process (e.g., /dev/ttyS2
for the toolhead).
If any issues persist, refer to FreeDi or Qidi community forums for assistance.
This process will revert your Qidi Plus 4 printer to the upstream Qidi firmware. You can now use it as originally intended with Qidi's official software stack.