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:
To enable the USART pin you will have to bridge connection under the board like this:
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.
I did the same to all 3 TMC2208 drivers and then connected X jumper to PC7, Y to PC13 and E to PA5.
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.