# Sovol SV06 Ace Updated firmware to Mainline Klipper

**URL:** <https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656>\
**Category:** General Discussion\
**Created:** [February 18, 2026, 9:08pm UTC](https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656 "2026-02-18T21:08:13Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![shep](https://avatars.discourse-cdn.com/v4/letter/s/9de0a6/32.png) [@shep](https://klipper.discourse.group/u/shep)\
**Post date:** [February 18, 2026, 9:08pm UTC](https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656/1 "2026-02-18T21:08:13Z")

</div>

### Basic Information:

Printer Model:Sovol SV06 Ace  
 MCU / Printerboard: OEM  
 Host / SBC Integrated  
 klippy.log

_Fill out above information and_ _ **in all cases attach your** _ **`klippy.log` _file_** (use zip to compress it, if too big). _Pasting your_ `printer.cfg` _is **not** needed_  
_ **Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there** _

### Describe your issue:Updating Machine to Mainline Klipper

…

I have a working OEM printer.cfg that I would like to modify for use in a Mainstream Klipper installation. It looks possible but there are two things, that I’ve identified, that should be sorted out before executing. New user, can’t put 2 links in a post but you can browse to .printer\_data/config/printer.cfg in the link below.

The SV06 Ace uses a load cell on the nozzle for bed leveling/meshing and wrote their own code:

`[hx711]`  
`sclk_pin: extra_mcu:PB13`  
`dout_pin: extra_mcu:PB15`  
`single_pin: extra_mcu:PB5`  
`hx711_diff: 0.01 #Trigger sensitivity, the smaller the value, the easier it is to trigger`

[Sovol GLP’d source for hx711.py](https://github.com/Sovol3d/SV06-ACE/blob/main/sovol/klipper/klippy/extras/hx711.py)

Mainstream kipper uses /klipper/klippy/extras/hx71.py. The mainstream entry covers the hx711 and the hx717 chips.

The printer.cfg entry is done under load\_cell. So it appears I need to pull pins/calibration values and generate a [load\_cell] entry to replace [hx711]

The other thing I’d like to sort out is flashing the mcu. It is a custom makerbase board similar to the MKS Skipr series, has no sd card slot and the emmc is soldered on. Firmware is flashed, brom mode, using a rockchip update utility via a usb c connection. It is also accessible by adb over the usb c connection.

The factory recommended J-Link in this [Sovol3D Forum Thread](https://forum.sovol3d.com/t/scripts-for-creating-a-custom-debian-update-image-for-sv06-ace-plus/9509)

OEM uses a framebuffer touch screen setup - I think the guppyscreen project would be a lightweight replacement.

It’s my only printer; should go into this with a well thought out plan.

Thanks for any guidance

[klippy.log](https://klipper.discourse.group/uploads/short-url/a6BSCRXSJMp9M7tPGJaqz0XZy8q.log) (103.1 KB)

---

<div class="post-metadata">

**Author:** ![cardoc](https://avatars.discourse-cdn.com/v4/letter/c/ec9cab/32.png) [@cardoc](https://klipper.discourse.group/u/cardoc)\
**Post date:** [February 18, 2026, 9:51pm UTC](https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656/2 "2026-02-18T21:51:49Z")

</div>

> [@shep](#):
>
> I think the guppyscreen project would be a lightweight replacement.

People have klipperscreen running on the Sovol Ace stock touchscreen.

> **[KlipperScreen for Sovol SV06 Ace](https://forum.sovol3d.com/t/klipperscreen-for-sovol-sv06-ace/9112)**
>
> Hi everyone! I successfully managed to get KlipperScreen running natively on my Sovol SV06 Ace using the stock display. No extra hardware is needed. I created an automated installation script that sets everything up. ...

---

<div class="post-metadata">

**Author:** ![hcet14](https://avatars.discourse-cdn.com/v4/letter/h/ecd19e/32.png) [@hcet14](https://klipper.discourse.group/u/hcet14)\
**Post date:** [February 18, 2026, 9:53pm UTC](https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656/3 "2026-02-18T21:53:21Z")

</div>

I guess, I understand your concerns.

> [@shep](#):
>
> MCU / Printerboard: OEM

What µC is on the board?

---

<div class="post-metadata">

**Author:** ![shep](https://avatars.discourse-cdn.com/v4/letter/s/9de0a6/32.png) [@shep](https://klipper.discourse.group/u/shep)\
**Post date:** [February 19, 2026, 2:50am UTC](https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656/4 "2026-02-19T02:50:40Z")

</div>

RockChip rk3308B

Extra mcu: stm32f103xe

 ![Sovol_SV06_ACE_3D_printer_Mainboard](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/c/c/cc2816a862b4ec86450f1f74ff600b49618baaaa.webp)

 ![Sovol_RG-4Z_v1.1](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/d/d/dd327d7bdf3ce27d2cb93f03a07a693303f92444.jpeg)

---

<div class="post-metadata">

**Author:** ![Mulcmu](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/mulcmu/32/18255_2.png) [@Mulcmu](https://klipper.discourse.group/u/Mulcmu)\
**Post date:** [February 20, 2026, 1:38pm UTC](https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656/5 "2026-02-20T13:38:03Z")

</div>

I’ve got some mini adc published on github that might be useful. The strain gauge output from the load cell would need rewired to the input of the mini module. The spi pins of the mini module would then need connected to available io on the motherboard. Preferably free pins that support hardware spi. [GitHub - mulcmu/Plimsoll: Kicad PCB design with XH717 ADC to support Klipper load cell](https://github.com/mulcmu/Plimsoll?tab=readme-ov-file#mini-hx717--mini-ads1220)

---

<div class="post-metadata">

**Author:** ![cardoc](https://avatars.discourse-cdn.com/v4/letter/c/ec9cab/32.png) [@cardoc](https://klipper.discourse.group/u/cardoc)\
**Post date:** [February 20, 2026, 3:49pm UTC](https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656/7 "2026-02-20T15:49:05Z")

</div>

> [@shep](#):
>
> RockChip rk3308B

That is the SOM (system on module) that runs Linux and the Klipper host. There is also a MCU that runs Klipper firmware and actually runs the motors, heaters, etc.

 ![image](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/4/8/48f9b423ca4e836dc77113db145a148b9f66e285.jpeg)  
What is printed on this chip?

---

<div class="post-metadata">

**Author:** ![shep](https://avatars.discourse-cdn.com/v4/letter/s/9de0a6/32.png) [@shep](https://klipper.discourse.group/u/shep)\
**Post date:** [February 20, 2026, 3:53pm UTC](https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656/8 "2026-02-20T15:53:55Z")

</div>

GD32F425

RET6

ALJU863

GigaDevice

ARM

---

<div class="post-metadata">

**Author:** ![garethky](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/garethky/32/956_2.png) [@garethky](https://klipper.discourse.group/u/garethky)\
**Post date:** [February 20, 2026, 6:13pm UTC](https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656/9 "2026-02-20T18:13:59Z")

</div>

In the 9 months since the last PR was posted I’ve continued development over in Kalico. I’ve made a lot of updates to the documentation, fixed bugs and added a set of calibration tooling.

> **[GitHub - garethky/kalico at load-cell-probe-community-testing](https://github.com/garethky/kalico/tree/load-cell-probe-community-testing)**
>
> load-cell-probe-community-testing

Nowhere yet has the entire set of changes been merged into mainline. This branch is the testing branch that has everything and is being actively used to test load cell implementations.

The [docs are here](https://github.com/garethky/kalico/blob/load-cell-probe-community-testing/docs/Load_Cell.md).

Based on Sovol’s config you would start with this:

[load\_cell\_probe]  
sensor\_type: hx711  
sclk\_pin: extra\_mcu:PB13  
dout\_pin: extra\_mcu:PB15  
sample\_rate: 10 # 10 or 80 depending on how its wired  
z\_offset: 0.0

Once you get this running you can run a `LOAD_CELL_DIAGNOSTIC` and find out what the same rate is. I hope its not actually 10, because wiring it to be 80 was free.

Then you can use `LOAD_CELL_CALIBRATE` to save the sensors tare value and its counts per gram.

Then you can use `LOAD_CELL_TEST_TAP` to make sure that tapping the nozzle with your finger triggers the probe before attempting any probing.

If I was in your shoes I would have a plan to convert the printer back to its original configuration if things don’t work out. Have a backup and a way to deploy it to the machine.

---

<div class="post-metadata">

**Author:** ![cardoc](https://avatars.discourse-cdn.com/v4/letter/c/ec9cab/32.png) [@cardoc](https://klipper.discourse.group/u/cardoc)\
**Post date:** [February 20, 2026, 6:46pm UTC](https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656/10 "2026-02-20T18:46:23Z")

</div>

Is the GD32F425 supported by klipper? Call it a STM32F401 and hope??

---

<div class="post-metadata">

**Author:** ![shep](https://avatars.discourse-cdn.com/v4/letter/s/9de0a6/32.png) [@shep](https://klipper.discourse.group/u/shep)\
**Post date:** [February 20, 2026, 7:00pm UTC](https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656/11 "2026-02-20T19:00:08Z")

</div>

Thanks for your work on this.

I do have a [backup](https://wiki.sovol3d.com/en/SV06-ACE-image-flashing-tutorial) and after a Kiauh upgrade to the debian components, bork’d the system, some experience.

I was hoping to pull some of the factory configuration values from [hx711.py](https://github.com/Sovol3d/SV06-ACE/blob/main/sovol/klipper/klippy/extras/hx711.py) to start with and then run the diagnositics.

I did a first read of the Load Cell documentation and the one thing I did not hava a sense of was if the hx711 would automatically be used for probing and bed meshing or if I needed to manually specify it in those code blocks.

---

<div class="post-metadata">

**Author:** ![3dcoded](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/3dcoded/32/20297_2.png) [@3dcoded](https://klipper.discourse.group/u/3dcoded)\
**Post date:** [February 20, 2026, 7:19pm UTC](https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656/12 "2026-02-20T19:19:40Z")

</div>

Maybe this could help get the chip working?

> [@Strain Gauge/Load Cell based Endstops](https://klipper.discourse.group/t/strain-gauge-load-cell-based-endstops/2134/595):
>
> I donno about CS1238, but if you meant CS1237 I have it here. It’s not tested yet but you can try it [GitHub - 53Aries/klipper at feature/gd32f425-support](https://github.com/53Aries/klipper/tree/feature/gd32f425-support). Also adds gd32f425 support if that matters to you (Qidi Q2 mainboard mcu)

---

<div class="post-metadata">

**Author:** ![shep](https://avatars.discourse-cdn.com/v4/letter/s/9de0a6/32.png) [@shep](https://klipper.discourse.group/u/shep)\
**Post date:** [February 20, 2026, 7:20pm UTC](https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656/13 "2026-02-20T19:20:46Z")

</div>

I don’t know for a fact about official support but it came from the factory with klipper and the GPLv3.0 source release from sovol does not show any blobs specific for the mcu. Also this klipper build [script](https://github.com/andrelofgren/SV06-ACE-debian-install/blob/main/install-klipper.sh), specifically for the SV06 Ace/Ace +, compiled klipper.

> Google’s AI says:
> 
> 2. Direct Functional Alternatives (Non-ATM)
> 
> If you are looking for drop-in replacements for the GD32F425 (which is itself often used to replace STM32), these are more commonly used in industry:
> 
> - **STM32F405/F415/F427:** STMicroelectronics provides the closest functional matches in terms of peripherals, memory maps, and high-speed Cortex-M4 cores.

The STM32F405 is a klipper config option.

More from Google AI:

> The GigaDevice GD32F425 is a high-performance 200MHz ARM Cortex-M4 MCU with up to 1024KB Flash and 256KB SRAM
> 
> . It is compatible with Klipper firmware by selecting the equivalent STM32F405 or similar STM32F4xx series in`make menuconfig`, as GD32 chips often act as STM32 clones.
> 
> **Key Configuration Settings for Klipper on GD32F425:**
> 
> - **Microcontroller Architecture:** STMicroelectronics STM32 (or specifically STM32F405/427 if listed).
> 
> - **Processor Model:** STM32F405 (or similar, based on board specific mapping).
> 
> - **Bootloader Offset:** Usually 32KiB or 64KiB, depending on the motherboard’s existing bootloader.
> 
> - **Clock Reference:** Often 8MHz or 12MHz crystal (check your board).
> 
> - **Communication Interface:** USB (PA11/PA12) or UART (serial).
> 
> - 
> 
> **Important Notes:**
> 
> - **Flash Method:** GD32 chips are often flashed via USB using STM32CubeProgrammer or DFU utilities.
> 
> - **Compatibility:** While some GD32 chips have had minor timing issues in the past with older Klipper versions, the F4 series generally works well using STM32 settings.

---

<div class="post-metadata">

**Author:** ![cardoc](https://avatars.discourse-cdn.com/v4/letter/c/ec9cab/32.png) [@cardoc](https://klipper.discourse.group/u/cardoc)\
**Post date:** [February 20, 2026, 8:08pm UTC](https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656/14 "2026-02-20T20:08:26Z")

</div>

> [@shep](#):
>
> GPLv3.0 source release from sovol

Despite their claims Sovol does not pay much attention to GPL. I started to diff the version Sovol ships with the SV08 Max…

It got so fragmentized I gave up. The (unpublished) Max version of Klipper is NOT descended from [https://github.com/Sovol3d/klipper](https://github.com/Sovol3d/klipper) but a later fork. The first commit in Sovol’s private fork (for the Max) was authored by `root <798480517@qq.com>`. The commit metadata referenced a local/internal Git repository path, not a public URL.

Do you have a klippy.log from your machine. What version of klipper does the MCU firmware claim to be?

---

<div class="post-metadata">

**Author:** ![shep](https://avatars.discourse-cdn.com/v4/letter/s/9de0a6/32.png) [@shep](https://klipper.discourse.group/u/shep)\
**Post date:** [February 20, 2026, 8:28pm UTC](https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656/15 "2026-02-20T20:28:12Z")

</div>

Klipply.log attached to original post.

JamesHabben has a [github](https://github.com/JamesHabben/SovolStuff/tree/main/Sovol%20Code) with diff’s for the SV06 Ace and Mainline Klipper. It gives all the pulls for Kipper, Kiauh, Moonraker …, and the deviations from upstream.

---

<div class="post-metadata">

**Author:** ![garethky](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/garethky/32/956_2.png) [@garethky](https://klipper.discourse.group/u/garethky)\
**Post date:** [February 20, 2026, 9:54pm UTC](https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656/16 "2026-02-20T21:54:02Z")

</div>

There is a binary blob here: [SV06-ACE/sovol/klipper/src/libdev\_hx711.a at main · Sovol3d/SV06-ACE · GitHub](https://github.com/Sovol3d/SV06-ACE/blob/main/sovol/klipper/src/libdev_hx711.a)

That’s not open source, that’s compiled binary.

But don’t worry. I’m confident that there isn’t anything in there that we need. Creality did something similar with the Max printers. There is no magic in that box that we need to uncover.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/klipper/original/1X/64419bf2aac6639e6ef5cef200dcd456b0a01ac3.png) [@system](https://klipper.discourse.group/u/system)\
**Post date:** [April 21, 2026, 9:54pm UTC](https://klipper.discourse.group/t/sovol-sv06-ace-updated-firmware-to-mainline-klipper/25656/17 "2026-04-21T21:54:32Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
