Updating FreeDi - Phil1988/FreeDi GitHub Wiki

The update process has changed.

You are at least on firmware v1.20:

If you are at least on firmware v1.20 you can update with just one click.
Simply go to the Machine tab and klick on "UPDATE": image

The new release will be downloaded and the FreeDi service will be restarted.
If your screen firmware needs to be updated, it will automatically send the firmware to the screen and update it.
This needs ~4min to finish.
After this a reboot of the system is recommended but not mandatory.

Warning:
Please make sure to not shut the printer off during this process as it will interrupt the firmware uploading process.
This will lead to a broken screen firmware.
Don't panic: You can simply recover from that if you shut the printer off and on again.
FreeDi will see the broken status and clears this for you.
If it doesnt work: Ask for help. We can help you to recover :)

You are on a firmware lower than 1.20 and you want to update to v1.20 or newer:

Click here for the guide
  1. First, open your printer.cfg:

image

Insert this section to it:

[freedi]
# Printer model. Currently supported: x-smart3, x-plus3, x-max3, q1-pro, plus4
printer_model: x-max3
# Baud rate for serial communication. Stock mainboard with standard firmware: 921600 | Legacy firmware: 115200
baudrate: 921600
# Serial port for the LCD. Stock: /dev/ttyS1 | USB<->TTL adapter: /dev/ttyUSB0 | BTT Manta M5P: /dev/ttyS0
serial_port: /dev/ttyS1
# URL of the printer service
url: 127.0.0.1
# API key for the printer
api_key: XXXXXX
# Path to the Klippy socket file
klippy_socket: /home/mks/printer_data/comms/klippy.sock
# Specify if you want to use the stable or beta channel. Caution: beta firmwares have more potential to have bugs.
channel: stable

image

Dont forget to modify it according to your machine ;)

Then click "SAVE & RESTART": image

You will get a error message, because klipper doesnt know this section (yet): image

  1. SSH to your printer (eg. via putty) and run these commands to download and install FreeDi:
cd ~ && git clone https://github.com/Phil1988/FreeDi ~/FreeDi && cd ~/FreeDi && ./update.sh && ./install.sh

This will update the screen firmware as well as soon as the FreeDi service started.
This will take ~4min to complete.

You are on a firmware lower than 1.20 and you want to update to a firmware lower than v1.20:

Click here for the guide

The update process depents on weather there are:
**A: Only changes at the software (on your operating system)**
**B: Only changes at the screen firmware**
**C: Both have been changed**

A: Updating the software

  1. Use your favorite SFTP Client (eg. WinSCP) and connect to your printer
  2. Go to ~/X3seriesLCD (from root its /home/mks/X3seriesLCD/)
    Replace these files on your printer:
  • main.cpython-311-aarch64-linux-gnu.so
  • printer.cpython-311-aarch64-linux-gnu.so
  • lcd.cpython-311-aarch64-linux-gnu.so

B: Updating the screen

  1. Copy the latest *.tft file to a microSD card
  2. Turn off your printer.
  3. Insert the microSD card into your screens sd card slot.
  4. Turn on your printer. The flash process will start automatically:
    image
  5. Wait until you see "update successed" (no typo - its an error in the bootloader of the tft from the manufacturer)
    image
  6. Turn off your printer.
  7. Remove the microSD card.
  8. Turn on your printer.
⚠️ **GitHub.com Fallback** ⚠️