Snapmaker Original Klipper?

Basic Information:

Printer Model: Snapmaker Orginal, Z-Axis 430mm
MCU / Printerboard: STM32F103

Hi All,
Have Klipper running (used kiauh), compiled and tried some settings, but Snapmaker MCU not wanting to flash the klipper.bin (renamed Update.Bin).
The Original Snapmaker Firmware showed (Binary Ninja):
\x00 Snapmaker_2019-05-30-1220
and from that address untill 0x0800 just 0x00
and then the code starts.

Any pointers?


Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) —>
Processor model (STM32F103) —>
Only 10KiB of RAM (for rare stm32f103x6 variant)
Disable SWD at startup (for GigaDevice stm32f103 clones)
Bootloader offset (2KiB bootloader (HID Bootloader)) —>
Clock Reference (16 MHz crystal) —>
Communication interface (USB (on PA11/PA12)) —>
USB ids —>
() GPIO pins to set at micro-controller startup

I’d not be aware of Klipper supporting this printer and as such the needed build options might not be known, e.g. with respect to bootloader etc.

Maybe Snapmaker even implemented some kind of firmware protection or other locking mechanisms.
Also possible that you would need to use JTAG to get a (correctly configured) firmware.bin on this board.

Well some Snapmaker firmware releases are open source, so guess they have no
protection AFAIK from browsing the firrware code.

The Snapmaker update is done per FAT USB Stick.
As i do not have a JTAG Cable etc. (but do have Beaglebone(s)…?), i am stuck to the USB stick update.

Guess the main points are:

  • the Bootloader offset (tried 8K/2K HID)
  • Snapmaker specific ID string
  • all these leading 0x00 in the Snapmaker Update.bin file.

Flash MCU with JTAG has been done by other Snappy Owner:

Cool 3-in-1 machine.

I would invite ShojiYamamoto to this forum to discuss your problems :wink: it belongs here!
Segger J-Flash + J-link cable sounds expensive, since “Segger” is the first word. I guess there is no problem using an ST-LINK.

Can you post a picture of the mainboard?

Good luck, hcet14

Segger has the “J-Link Edu Mini” which might be appropriate for this situation (it’s about $60 USD). I have one and it works fine for jtag programming/debug (althougth I haven’t used it with SWD programming so I can’t vouch for that):

Note that they have a pretty definite licensing statement about its use and violators will not only be prosecuted to the fullest extent of the law but also drawn, quartered and their rotting corpses left out as a warning to anybody who wants to use the product for what they consider “non-educational uses”.

Regardless, if you’re going down the path of programming the board yourself, the best case situation is that there is a standard jtag connector on the board that fits one of the cables with the kit. If this is not the case, you will probably have to make a custom cable from the programmer to the board with the worst case being that the designers didn’t provide access to the jtag lines (using them for board functions) and you have to make modifications to the main controller board with lots of fly wires going to the programmer.

Okay, Klipper firmware flashed and running.
Now calibrate printer.cfg.

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