BigTreeTech SKR Mini v3.0 Fans and Firmware

I recently replaced the stock controller board in my Creality Ender-3 with the BigTreeTech SKR MINI E3 V3.0 board.  The SKR Mini E3 uses the TMC2209 stepper motor driver chip  which is much quieter in operation than the A4988 on the stock board.

While the board is, in theory, a drop in replacement there were a few small issues.

  1. I had to add a JST connector to the extruder fan cable
  2. The documentation list the fan ports on the board but does list which fans connect to which ports
  3. The build of the Marlin Firmware provided by Biqu/BitTreeTech is based on the older, 2.0 version while the current version is V2.1  To make matters worse, they've forked the Marlin software rather than push their changes upstream to the configuration repository.

Addressing #1 was a trivial matter of finding the right connect in the parts bin and soldering it on.

I couldn't find the Fan<>Port combinations documented anywhere but I did have the BTT source code.  This is the mapping I use.  Note I'm using a custom build of the firmware per below.

Port Fan
FAN0 Part
FAN1 Extruder
FAN2 Controller

Updating the Firmware

Building the Marlin Firmware is beyond the scope of this post an already documented on the Marlin Firmware Website.  There are only three files that need to be modified.

platformio.ini

This only requires one change to specify the proper board/environment:

      -default_envs = mega2560
      +default_envs = STM32G0B1RE_btt

Configuration.h and Configuration_adv.h

This is where the heavy lifting is done.  Some of the changes are specific to the hardware and its configuration, e.g. specifying the stepper driver hardware.  Other changes are personal preferences such as enabling various bed-leveling mechanisms.

The changes I've made against the stock, bugfix-2.1.x, branch are available here.  They're based on the BigTreeTech configuration changes to the stock, bugfix-2.0.x code. Note that I am using the Creality CR Touch probe so I've enable the BLTOUCH support.

  1. Diff/Patch file
  2. Tarball of all 3 files

A note on the CR/BL Touch probe

When I first installed the probe I dressed the cables in the same bundle as the extruder stepper motor.  (My system is modified for direct drive, i.e. there is no Bowden tube.) The printer would regularly glitch when homing the Z-Axis.  This was due to interference/cross-talk between the filament stepper driver cables and the probe cables.  Separating the cables resolved the problem.  Just a heads up should you come across the same problem.