Tutorial: MKS Pi Klipper Install

The MKS Pi is Makerbase’s offering for users who can’t get hold of a Raspberry Pi but want to run Klipper! In terms of hardware, MKS PI has a powerful 4-core 64-bit SOC onboard, with 1GBytes of DDR3 memory, supports HDMI screen interface and PI-TS35 screen interface, provides Ethernet port, 3-channel USB interfaces (can be connected to a 3D printer main board, USB Wireless network card, USB camera, U disk, USB keyboard and mouse, etc.)

Because people are struggling to get hold of Raspberry Pi’s I’ve seen a big demand in alternative cheap SBC sources. I have also seen a lot of questions arising on whether or not it’s possible to install Klipper on it. Well today I’m going to answer that question and take you through the process.

Specifications

The MKS Pi is available for around £36 plus taxes. It’s performance on paper should be similar to the Raspberry Pi 3 B+ but with the reliance on an external WiFi dongle rather than built in WiFi. I actually got sent the £57 kit which included a heat sink, USB-C wire EMMC module, TFT screen and WiFi dongle.

BOM

Unboxing

The MKS Pi came in a much larger box than it probably would normally. This is because MKS sent me a collection of their products to review. Regardless it appeared in a branded cardboard box with each individual product packaged in anti-static bags. The box had plenty of bubble wrap to ensure the products didn’t get damaged in transit but I would like to see that replaced by a more eco-friendly packaging solution in the future.

The board at first glance looks very similar to a Raspberry Pi but it is definitely not directly compatible with any RPi shields or cases etc. because the IO pins are very different as are the port locations. Soldering and silkscreen condition look nice. The provided heatsink is chunky – I will try to run without it initially to see how if I run into any issues. But it is good to see it come with one.

Setting up the OS

The board should be able to run a stock Armbian OS image as the chip is supported but MKS provide one with Klipper and Klipper screen pre-loaded so I will test out their image for now.

The official documentation for the board can be found on their github page. It is pretty good so the steps below are basically just me showing you me stepping through their process.

To write the OS image to the card I like to use the Raspberry Pi imager. Open the OS image in the Raspberry Pi imager and then select the SD card. Note – The SD card should be formatted with FAT32. Click write and then yes to acknowledge that any existing data on the SD card will be wiped.

Wait for the image to write to the SD card. This can take quite a while so grab a cup of tea or do whatever else you do to pass the time.

You have two options at this stage. If using ethernet simply plug the ethernet connection into your router and then locate the devices IP. Use a network scanning tool like advance IP scanner or your networks configuration interface to locate the IP address of the board.

If you are using WiFi. Plug the SD card back into your PC (you will need to remove it and plug it again because RPi imager unmounts the card after finishing) open up the boot disk segment of the SD card.

Open the wpa_supplicant file. Modify the ssid and psk to match the WiFi network you want the device to join. Save the file then remove the SD card from the PC and put it into the MKS Pi.

For some reason MKS opted not to allow power over the USB-C wire so this board needs 12-24V wired into the power in port on it to turn on. They also didn’t provide a jst connector + crimp pins. Thankfully most of you should have these lying around as they are the same ones used on almost all printer boards but it would of been a nice touch to include them.

The board should join your WiFi network automatically. Just like the ethernet step use a network scanning tool like advance IP scanner or your networks configuration interface to locate the IP address of the board.

Because the OS image comes with Klipper already pre-configured you can head into your browser at this point and go to the IP address. You should see the Fluidd interface appear.

If you want to swap to Mainsail follow the next set of steps. Otherwise skip to the section on finding out your MCU address and adding your printer.cfg file.

Swapping to Mainsail

Open a terminal client like PuTTY and use the IP address to SSH into the device.

You should be greeted with a command line interface prompting you to enter a username and password. Enter username ‘mks’ and password ‘makerbase’. Just for your information the root user password is also ‘makerbase’ by default.

You should be greeted with a command line interface that looks like this

Enter the command below to load up the KIAUH script. Complete any recommended script updates and then run the script again.

./kiauh/kiauh.sh

Press 3 to enter the remove menu. Then 4 to remove Fluidd. You will be prompted to enter the password for the MKS user which is ‘makerbase’

Once complete enter b to go back to the main menu. Now press 1 to enter the install menu and then 3 to install mainsail.

You will almost certainly have a Klippy error because you haven’t defined a board yet.

Plug in your controller board of choice and find the serial port using the following command. You should get the serial id you need to paste into your Klipper config.

ls /dev/serial/by-id/*

And that is it guys! you are ready to move onto setting up your printer controller board.

Follow instructions specific to your board to flash the firmware and then update your printer.cfg file as per any other Klipper install! Hope you liked it and that this helps some people out who are scared of using a non-official Raspberry Pi board!

Adding Klipperscreen using the MKS PI-TS35

Literally plug in the ribbon to the screen and the board then power back on. Everything is pre-configured. It could not be easier.

Support 3DP and ME! Help us keep producing tutorials, content and mods!

£5.00

20 thoughts on “Tutorial: MKS Pi Klipper Install

  1. What is the idle and active power consumption with all the addons during off state, on (idle) and active?
    I interested on how efficient it is.

    Also will a big tree tech tft50 screen work with it too? I am pretty sure its a standard and should work with anything the pi works with

    Like

    1. I am not certain on the idle and active power consumption. Its not something I’ve tested as all the SBC boards use relatively small amounts of energy vs your printer as a whole.

      I believe it should… I haven’t tested it but I don’t see why not as like you said it appears to be the standard tft screen connector

      Like

  2. Did you try installing a plain armbian distro? I tried the rockchip one that looked similar on the armbian site and it didn’t seem to take. I’m running the MKS klipper version, but just want to run octoprint without the klipper front end.

    Like

      1. Yeah, none of that worked. I’m still running the mks armbian and have an octoprint service running but can’t get any other distro to load

        Like

      2. You won’t be able to unless you find one that uses the exact same chip and mostly same additional parts

        I don’t understand the issue if you have the mks version working just uninstall klipper and run octoprint only?

        Like

      3. I was hoping to get an xfce desktop or at least an octoprint touch ui to come up on the mks screen, but only klipperscreen will load. It’s working fine the way it is, but i can’t do anything from the ts35. It’s all handled through web ui on a tablet

        Like

  3. VICTORY IS MINE!!! I was able to remove kipperscreen, install octoprint from kiauh, set up octodash and set up autologin to load it up native. I got XFCE4 to come out without the X11 errors I was getting by installing the xubuntu package, but with octodash, you don’t need a full desktop. Took a few days of tinkering with CLI commands and modifying some files through nano via ssh, but it’s finally doing what I want. TS35 is crap, though.

    Like

      1. You mean IPS50 ? Did you do anything special? When I hook this screen to mks pi, I see nothing on the screen. I know the hdmi port is alive because I see klipper when I hdmi connect to a monitor.

        Like

    1. Hi there! 🙂 Could you provide a bit more details about how you did it, or just point me out to the main key points of your journey? I’m basically trying to do a very similar thing, and bought the MKS PI board/display package to tinker with it, but I ended up with a totally closed system, pretty hard to customize and particularly bad for my use case, considering it cannot be powered through usb. As additional bad news, TS35 doesn’t even use standard cables, so it’s not even possible to attach it to a real rpi: it either works with this board or as a bad doorstop :S

      Like

  4. Hola. logre instalarlo con una ender 3 pro, pero al conectar una segunda impresora (en este caso CR10sPro) se desconecta casi que de inmediato de klipper. Probe instalando klipper en esta impresora pero en un portatil y si funciona. Me podrian indicar si hay que tener en cuenta algo en la configuracion para que esta impresora funcione? o la razon de porque no se conecta en el mks pi. gracias.

    Like

  5. It took a while for me to get this right. the wifi adapter keeps losing connection. and i had to order a different one, after a klipper and moonraker update it lost connection and lost all moonraker and klipperscreen files , so i had to reinstall .

    Like

  6. wifi adapter rtl8821cu don’t work with kernel 5.16.20-rockchip64.
    I’m want install kernel-headers and compile module rtl8821cu, but repository not have need package.
    It is very bad, if you want installing hardware unsupported with this kernel.
    Also update kernel security not work.
    linux-image-edge-rockchip64/now 22.05.0-trunk arm64 [installed,upgradable to: 22.11.4]
    I’m run update system, and install linux-dtb-edge-rockchip64=22.11.4 linux-image-edge-rockchip64=22.11.4
    System not boot with new kernel.

    Like

  7. I’m far out of my wheel house trying to det this thing set up, but finally managed to source some 12v and get it flashed. But, only with the sd-card in place I’m able to boot this thing. Is that how it’s supposed to work, running everything from sd-card and not some internal storage?

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: