Building Marlin 2.0.x for Ender 3 Pro – SKR V1.4 Turbo w/ TMC2209 Drivers

FYI: I’m still in the process of learning about stepper motors, Marlin 2.0.x, and all the options that help me out with 3D printing. This is just my thinking through it some.

Why the change?

  • I have some closed-loop stepper drivers (S42B) on the way. They won’t work on the SKR E3 Mini V1.2 as it is lacking plug/play Stepper Sticks capability.
  • I choose to go closed-Loop to prevent print hiccups, snags, bumps, debris from preventing movement. I started by buying two for the X and Y axis, but then discovered I need Z and if I go that far, why not the Extruder as well? So I ordered 2 sets of 2 S42B closed-loop stepper drivers on two different days.

“I’m hoping those closed-loop drivers will fix some of the print hiccups I’m encountering.”


  • Ender 3 Pro
  • Micro Swiss Hot End
  • Capricorn High-Temperature PTFE Bowden Tube
  • SKR E3 Mini V1.2 (to remove, it does have the TMC 2209 in retrospec)
  • SKR V1.4 Turbo (New)
  • TMC2209 Drivers sticks
  • External Heated Chamber to dehumidify Filament and keep it dry while printing.
  • Micro Swiss Steel Nozzle Kit from 0.2 to 0.8mm
  • Printed Enclosure making maintenance easier along with an 80mm fan for extra silent performance.

“Rails may be the next big item to get, I’m still working with the wheels but it isn’t easy to get it perfect, and it can get loose.”

Firmware changes Including:

  • BLTouch v3.0
  • SD Card Support on the SKR Turbo vs from the LCD
  • No Sensorless Homing – I cut the wire on the TMC2209. I may revisit this in the future, but want this to use the switches for now.
  • Support for TFT 3.5 from BigTreeTech – WIP

Notes about the Motor Current;

  • The specifications for the 42-34 Creality Stepper motors include the Amp rating of 1.5 Amp.
  • The firmware specifies 800ma in its Configuration.h (config files), which you multiply by 1.414 which gives me a max Amp rating of 1.13 Amps.
  • 0.4 NM = 56.6 oz-in torque at the 1.5 Amp max rating.
  • Estimating here if it was a linear relationship (It isn’t) that at the configured 800ma RMS (53%) 30 oz-in
  • Estimating max at 1.13A (1130ma Peak – 75%) 42.4 oz-in
  • The maximum configured value to ensure Peak doesn’t go past 1.5 Amps, the value I could set is 1060ma (1060 * 1.414 = 1498ma) well within tolerances, but being an analog system I’d prefer the motors to last and they are extremely stiff holding at the 800ma setting.
  • My reading on Stepper motors is that voltage and amps has everything to do with the holding oz-in. (Watts is possibly better?).
  • Stepper motors have holding torque, and torque graphs in general. Oh oh oh! I’m unable to find any for the Creality 42-34 stepper. What is more important is Torque Curves as measured at different standard voltages and at different RPM’s.
  • My previous configuration had the mAh set to 580 by M906? I’ll stick with the 800ma in the firmware and be sure not to use this 580ma anymore.
    ;Stepper driver current:
    M906 X580 Y580 Z580
  • The only reason I can think to use 580 is to keep the motors cool, and as a 3D printer, 580 will make the motors last. The thing is, I need my prints to be RIGHT! I’ll stick with the community’s 800 setting in the configuration file.

After I had printed the box with Rainbow Silk PLA for the SKR V1.4 Turbo, I thought that the upgrade path from the SKR E3 Mini V1.2 would be easy. It has been a rough process that has brought me into VSCode goodness, building firmware, installing it in just a few hours time. Enjoyable actually. It kept me up and going till 2am last night.

For Fire Prevention: I got a crimper with Ferrules of various sizes to redo the power, hot end, heated bed cables. Do It Right is one way of thinking I found to help me in my career. I snipped off the soldered parts, and happily crimped new ferrules onto the ends.

The Marlin Build guide for 2.0 on a Mac:

I used this website to get VSCode installed and running with PlatformIO, and found I was easily able to build Marlin, place it on an SD-Card, and the printer was running the configured version of Marlin.

I was unable to get the latest Marlin compiling, finding it was already 1230am, I decided to tackle the latest version of Marlin the next day.

“I am keen to have faster printing. And a larger bed. I should have gotten a Nova hot end…”



As this is a WIP post, I’ll just keep working at it.

SKR V1.4 Turbo hooked up with TFT 3.5 and LCD connector. The TFT Serial interface isn’t working yet. It may be software, or something like the RX/TX in the documentation are incorrect. I’ll keep plugging away at it. UART 1 (0) is enabled in firmware….
I need longer cables for the TFT/LCD, or to place it on the control box…
The multicolor filament is super hydroscopic. Seems I’m always drying it out to get it to print better. Here in the heated chamber coming out of a bag that had desiccant, it started with lots of water moisture.

The SKR E3 Mini V1.2 board has the TMC 2209’s on it, this is great news. It would have probably been really easy to get new firmware on it vs the upgrade I went through. It just had no ability to have the Closed Loop drivers.

My prints curled on the edges. I didn’t expect that. Both the Gray and Silk MultiColor PLA box enclosure prints had the same curling after printing and then cooling down. They will still work, it just made me realized one more item (heat controlled environment) is required to be ‘pro’ or ‘engineering’ level with 3D printing.

eSpecialized's Blog

Bill Thompson

I am a mobile smartphone and embedded Linux engineer. I love to tinker with electronics and fly drones in spare time when not geeking out in a developers world!