SliceWorx KP3S Pro S1

Living document that serves as notes on and a review of this 3D printer


stock

The SliceWorx KP3S Pro S1 is a version of the Kingroon KP3S Pro, which itself is a version of the Kingroon KP3S. The selling point of the SliceWorx KP3S Pro S1 over the Kingroon KP3S Pro is that it ships with linear rails on all axes. Kingroon does sell an upgrade kit to convert the Y axis to linear rails, but their kit will cost you ~1cm of build height, whereas SliceWorx redesigned the Y axis a bit so you can have your cake and eat it too.

In my opinion, this printer has great value for the 250 USD I paid for it. As far as I can tell, it's only possible to buy this version of the printer through SliceWorx themselves, since they make some modifications before sending it to you. If you're looking for a relatively well-designed first printer, I'd say this fits the bill. Of course, there's always room for tinkering if you're into that, but the out-of-the-box experience is fine for typical use-cases.

Mainboard

mainboard

As you can see, this uses a GD32F303VET6, which is unsupported by Marlin.

Marlin

I'm currently running Marlin bugfix-2.1.x on it anyway using my configuration here. I'm going to be doing a lot of rebasing/force-pushing so be aware of that if you're going to be using or basing off of my configuration. Don't expect anything to work properly until you cherry-pick this patch into your tree, reproduced here just in case:

From 1940418bbe89d07863ed05c6cddb1edf285a5a31 Mon Sep 17 00:00:00 2001
From: Alexander Gavrilenko <jmz52@users.noreply.github.com>
Date: Tue, 24 Jan 2023 20:37:03 +0300
Subject: [PATCH] Update tft_fsmc.cpp

---
 Marlin/src/HAL/STM32/tft/tft_fsmc.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/Marlin/src/HAL/STM32/tft/tft_fsmc.cpp b/Marlin/src/HAL/STM32/tft/tft_fsmc.cpp
index cf9e569336bc..aad796231436 100644
--- a/Marlin/src/HAL/STM32/tft/tft_fsmc.cpp
+++ b/Marlin/src/HAL/STM32/tft/tft_fsmc.cpp
@@ -100,11 +100,11 @@ void TFT_FSMC::Init() {

   HAL_SRAM_Init(&SRAMx, &Timing, &ExtTiming);

-  __HAL_RCC_DMA2_CLK_ENABLE();
-
   #ifdef STM32F1xx
-    DMAtx.Instance = DMA2_Channel1;
+    __HAL_RCC_DMA1_CLK_ENABLE();
+    DMAtx.Instance = DMA1_Channel1;
   #elif defined(STM32F4xx)
+    __HAL_RCC_DMA2_CLK_ENABLE();
     DMAtx.Instance = DMA2_Stream0;
     DMAtx.Init.Channel = DMA_CHANNEL_0;
     DMAtx.Init.FIFOMode = DMA_FIFOMODE_ENABLE;

In order to get a basic config going, you'll want to find and cherry-pick the configure electronics and copy mechanical configuration from manufacturer commits into your tree.

Klipper

I hear it's supposed to be possible to put Klipper on this, but I have yet to try. Currently stuck in decision fatigue for which SBC to get.