DIY Blog

Enabling UART mode on Sapphire Plus (SP-5)

Sapphire Plus comes with TMC2208 drivers but they are configured in standalone mode. It means they are locked in StealthChop mode and you have to physically adjust a potentiometer on the drivers to change motor current. However only with a little bit of soldering you can enable more advanced serial (aka UART) mode. I think this upgrade had very little attention because most people just upgrade the stock mainboard to something that’s UART capable out of the box. You don’t need a sophisticated board when you use Klipper so I would recommend this mod and keep the board.

Why?

  • Configure all stepper driver settings via firmware
  • Switch to SpreadCycle mode for more power/speed
  • Dynamically reduce motor current when not moving for better thermals

How to enable UART mode on Sapphire Plus?

Make sure you have TMC2208 drivers from TwoTrees. Different manufacturers can have different pinouts but it should look like this:

TwoTrees TMC2208 pinout

To enable the USART pin you will have to bridge connection under the board like this:

TMC2208

The heatsinks on these drivers are pretty big and there was not enough space to solder a pin so I decided to solder jumper cables directly. I also soldered 1K resistors inline the jumper cables.

TMC2208 serial jumper

I did the same to all 3 TMC2208 drivers and then connected X jumper to PC7, Y to PC13 and E to PA5.

Pins on MKS Robin Nano

The last step is to tell the pins we use to Klipper so it can start communicating with the stepper drivers. Here’s an example for X:

[tmc2208 stepper_x]
uart_pin: PC7
microsteps: 16
run_current: 0.9502
hold_current: 0.7502
stealthchop_threshold: 0

That’s it, if done correctly you should not get any errors and if you enable SpreadCycle you should notice a little more noise from your stepper motors.