NOTE: If you have a V2 board/screen(HDMI),click here
First, a few requirements:
- You need Klipper setup on your Raspberry PI ( borad that support DSI) with your favorite control interface (Octoprint, Fluidd, Mainsail, etc..).
- I recommend installing official Raspberry Pi OS
- Download this file https://downloads.raspberrypi.com/raspios_armhf/images/raspios_armhf-2023-05-03/2023-05-03-raspios-bullseye-armhf.img.xz and use the Raspberry Pi Installer and select custom image.
- I recommend installing official Raspberry Pi OS
- Install the Drivers for V3 screen https://github.com/bigtreetech/BIQU-BX/tree/master/Firmware/RPi-Linux-RPi-7inch-DSI
- You need your favorite Touchscreen UI installed (unless you just want to run headless).
- Use this to install all you need https://github.com/dw-0/kiauh
- If you have a issue with the screen is black, press the smal button under the turn knob
- Use this to install all you need https://github.com/dw-0/kiauh
- You MUST have removed the Z endstop physical switch. Not disconnected, but completely removed.
NOTE: CAN will not work on this board due to a hardware mis-configuration
NOTE: I2C is not quite working yet!
Ok, so let's get started.
When configuring the klipper firmware to run on the BTT SKR SE BX board, there are a couple things to know about.
- Use the main klipper branch.
- In order for the toucscreen to work, you will need to set GPIO pins PB5 and PE5 to an initial state during the config
- Use the
config/printer-biqu-bx-2021.cfg
file for your intial printer.cfg - Once you are setup, you will need to calibrate your sensorless homing: https://www.klipper3d.org/TMC_Drivers.html?h=sensorless+ho#sensorless-homing
There are 4 different connections you can make from the Raspberry Pi to the mainboard, 2 Serial and 2 USB.
Serial (on UART4 PA0/PA1)
<--- For v3 board/screen you need to use this
To use serial connections, you have to enable the serial port on the raspberry pi and compile the correct serial port for the BX mainboard. Once you have the serial port enabled on the raspberry pi, it will show up as /dev/ttyAMAx
, with x being the port number.
Once you have it setup, your printer.cfg should then contain the following under the MCU section: serial: /dev/ttyAMAx
, substituting the x for your port number.
As v3 uses DSI you don't need any HDMI settings
- Go to and follow the guide https://github.com/bigtreetech/BIQU-BX/tree/master/Firmware/RPi-Linux-RPi-7inch-DSI
Example on /boot/config.txt
Make sure this are in the config.txt file, some wil be added by the drivers installation skript.
[all]
dtparam=i2c_vc=on
dtparam=i2c_arm=on
enable_uart=1
dtoverlay=disable-bt
dtoverlay=vc4-kms-dsi-btt-bxv3-7inch
disable_splash=1
For your slicer, you need to call the PRINT_START macro instead of any preliminary gcode. The NOZZLE and BED temps get passed in as arguments. Some examples for the more popular slicers:
- Cura:
PRINT_START BED={material_bed_temperature_layer_0} NOZZLE={material_print_temperature_layer_0}
- PrusaSlicer:
PRINT_START NOZZLE=[first_layer_temperature] BED=[bed_temperature]
- Ideamaker:
PRINT_START NOZZLE={temperature_heatbed} BED={temperature_extruder1}
- Simplify3D:
PRINT_START NOZZLE=[extruder0_temperature] BED=[bed0_temperature]
- Kiri:Moto:
PRINT_START NOZZLE={temp} BED={bed_temp}
Here are some notes on how I have Klipper setup and working quite well for my machine.
The Touchscreen will go dark when the printer idle timeout occurs. This happens when there is not a print job in action and currently set for 5 minutes. Pressing the Menu Knob on the display will wake up the Touchscreen.
The Neopixels are setup and will cycle through colors on bootup. I have the idle timeout set to shut off the LEDS when the printer is inactive. The LEDs automatically come on when a print is started or when the LCD is wakened.
I have programmed a reliable homing routine that works well for me, however you can adjust or setup your own to taste. My routine will do the following:
- Raise the Z axis
- Home the X axis
- Home the Y axis
- Move the probe to the center of the bed (different than the nozzle at center)
- Home the Z with the probe.
- When starting a print, additionally:
- After the bed reaches temp, the printer waits for 90 seconds with the probe close to the bed to warm up the probe.
- Steps 1-5 are repeated with a warm probe
- Move to the origin to start the print.
ls /dev/* shows a serial0 and serial1 symlink files.