A simple mod for the Qidi X-Max 3 to run on a Rasperry Pi 4B instead of the weak RK3328 SoC
WARNING: This modification requires knowledge of electronics and embedded systems. Do not attempt this procedure if you are not confident in your technical abilities.
NO WARRANTY. The information, instructions, files, and materials in this repository are provided "as is" and without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, and non-infringement.
LIMITATION OF LIABILITY. To the fullest extent permitted by applicable law, the author shall not be liable for any direct, indirect, incidental, special, exemplary, or consequential damages whatsoever (including, but not limited to, damage to or destruction of hardware, loss of data, loss of revenue, or business interruption) arising out of or in connection with the use of, or inability to use, the information or materials in this repository, even if the author has been advised of the possibility of such damages.
ASSUMPTION OF RISK. By proceeding with this modification, you acknowledge that you have read and understood this disclaimer, that you are undertaking the modification entirely at your own risk, and that you assume sole responsibility for any and all consequences, including hardware damage, that may result.
You need:
- A X-Max 3 Printer with a X-6 V1.0 Motherboard
- A Raspberry Pi 4B with a micro SD card for the OS (>=32GB)
- 2 USB-A to USB-C cables of approximately 30-50cm length one angled by 90°
- A Step down power converter 24V -> 5V 3A like this for example
- 1 female USB C breakout board
- 1 male USB A breakout board
- 1 male USB C breakout board
- Some cables (0.5mm² e.g.: red, black, white, blue)
- 2 cable shoes (ring or the open variant)
- 4 Breadboard connection cables (as short as possible) female to male for the serial port connection to the stock screen
- A second micro SD Card (8-32GB) to flash the mainboard
- Print the Pi4 Holder in the STL folder and mount your Raspberry Pi4 to it. Or design your own...
You need a Y-Cable for the toolhead connection. Because the toolhead operates with 24V, this would turn your Raspberry Pi into a beautiful smoke machine.
So grab the USB breakout boards and build one:

- Install Rasbian on your Pi, use a version without GUI
- Backup your system
- Shut down and remove the power connector
- Open the back plate
- Remove the EMMC from the mainboard and store it in a safe location
- Remove the USB and Ethernet cables from the Motherboard
- Remove the USB C cable for the toolhead (Number 2 in the image below)
- Unplug the serial cable for the screen (Number 5 in the image below)
- Mount the Pi to the screw point
- Wire up the PI, plug Ethernet and USB Cables into the Pi

- Connect the Pi to the Mainboard MCU via USB A to USB C cable (Number 1 in the above image)
- Connect the Y-Cable to your PI and your Mainboard (Number 2 in image) connect the USB C cable from the toolhead to the Y-Connector
- Connect your Step down power converter to the 24V input on the motherboard (4). Use appropriate cable shoes for this.
- Plug a USB-Cable into the step down converter and connect it to the Pi (3). You'll need a short USB connector or one that is angled by 90° because of limited space
- Connect the breadboard connectors to the serial port of the Raspberry Pi see this tutorial Pin 4 (VCC), Pin 6 (GND), Pin 8 (TX) and Pin 10 (RX)
- Connect the male side of the breadboard connectors to the serial port cable for the screen. Connect the pins 1 on 1 (VCC to VCC, GND to GND, RX to RX, TX to TX)

- Boot up the system
- Enable the serial port using raspi-config (Terminal no, activate yes)
- Install Klipper, Moonraker, Mainsail, Crowsnest and other software
- Build klipper firmware for the Mainboard MCU with these settings:

- Copy the klipper.bin to your second micro SD and rename it to X_4.bin
- Shut down the printer
- Insert the SD card to the SD Slot on the X-6 mainboard
- Start the printer
- Now you should see two devices in /dev/serial/by-id/ one is the THR the other is the Motherboard

- Install FreeDi to make the screen works FreeDi. Clone the repository and run: FreeDi/install.sh When prompted if you're using the stock mainboard, chose no!
- Edit the FreeDi.cfg and set the Serial Port to /dev/ttyS0
- Reboot the system and complete the FreeDi wizard, this will add a base config for the printer
- Edit printer.cfg and change the serial port of the MCU to the new serial port
- Crowsnest won't work after FreeDi setup, you'll have to reconfigure it