How to Install the SKR Mini E3 Board (Ender-3)

The SKR Mini E3 is an affordable, 32 bit board upgrade for the Ender-3 and Ender-5 3D Printers. The form factor (shape) and layout are an exact match to the original Creality boards, making it a simple drop-in replacement.

It comes with a blazing fast 32 bit ARM Cortex processor, the latest TMC 2209 silent stepper drivers for ultra quiet performance and pre-loaded with Marlin 2.0 firmware. No need to flash a bootloader or tinker with settings, just hook it up, turn it on and start 3D Printing.

Purchased Parts

SKR Mini E3 V2.0 Control Board - $0.00

SKR Mini E3 vs Creality Board

Creality 3D Printers like the Ender-3 are shipped with a basic 8-bit Melzi board, integrated A4988 stepper drivers and 128 Kb flash memory. That’s more than enough to get us started, and works just fine out of the box, but this is ancient hardware that is starting to show its age.

32 bit boards on the other hand have been available for years, but few people could justify the hefty $150+ price tag. That is where the budget family of SKR boards from BigTreeTech, specifically the SKR Mini E3, changed the industry over night.

These are now less expensive than the old 8-bit options, have more than 5x the processing speed, and at least twice the flash memory. That means we can enable more firmware features like auto bed leveling, linear advance and full color graphical displays.

8-bit vs 32-bit Processors

When we’re 3D Printing, constant commands from the G-Code file are sent to the board, telling it to move the nozzle from the current point A to the next point B. A basic 8-bit Melzi board with 16Mhz can handle straight lines (ex: cube) just fine, but more complex curve operations (ex: cylinder) require extra processing to figure out.

This can severely bottleneck performance on organic shapes, especially at faster print speeds, and ultimately creates visible artifacts and degradation in the object.

32-bit boards on the other hand, like the SKR Mini E3 with a 72Mhz chip, can handle these advanced calculations without a hitch. That means faster printing and better results, because the processor isn’t throttled while trying to figure out the next move.

A4988 vs TMC2209 Drivers

Stepper drivers are small chips that control how the stepper motors operate, sending electrical pulses that turn it to a certain degree. Because a half-step and full-step rotation is too large for the precision we need in 3D Printing, we use micro-stepping to make smaller rotations instead.

The generic A4988 drivers included on Creality boards are capable of up to 1/16th micro-stepping, meaning a full motor rotation can be segmented out in to 16 steps. In contrast, the latest TMC2209 drivers used on the SKR Mini E3 are capable of a whole 1/256 microsteps.

Unfortunately, due to factors outside of our control, the print resolution only gets a minimal improvement from this at best. However, when combined with other integrated features like StealthChop2, it does significantly help reduce the noise output of the motors during operation.

SKR Mini E3 Features

The massive hardware upgrades alone are more than enough to justify the price, but the SKR Mini E3 also comes with plenty of extra features. From auto bed leveling to 32-bit LCD color screens, it can save us time and money with further add-ons down the road.


Servo and Probe ports are integrated on the board for native BLTouch support. No need to purchase an extra Pin 27 breakout board.

NeoPixel LED

Individually addressable LEDs (each light color can be changed) from AdaFruit can be plugged in to and controlled from the board.​

SD Firmware

Flash new firmware updates direct from the SD card. Just upload the .bin file and on first boot, the firmware is automatically installed.

32 Bit TFT Screen

Replace that blue 80’s style display with a modernized 32 bit TFT color touchscreen. Supports serial and 12864 screen ports.

Installation Steps

Start by removing the electronics case cover using an M4 hex wrench. There are (3) bolts holding it in place, two in the front and one in the rear. Lift the cover off and place it in front of the machine, or better yet, just unplug the case fan from the board.

Now that we have access, we can start unplugging the various white JST connectors. 5-pin plugs are for the stepper motors, 2-pin plugs are for endstops, fans and thermistors. Most of these are labeled and easy to recognize, but I would suggest marking the rest. Wrap a piece of tape loosely around the wiring and write the plug’s name as shown on the board.

The (4) sets of power cables are different, using a clamping style terminal block to hold the wires in place. Take a flat head screwdriver and loosen the set screws on top, then pull the bare wire ends out of the housing.

Once all of the electrical connections have been removed, we can go ahead and unscrew the board from the case. There are (4) M3 bolts holding it in place, and once they are removed, just take it out and set it aside.

Wiring Diagram

Before we install the new SKR Mini E3 board, there are a couple things to take care of first.

There are (4) blue aluminum heatsinks packaged separately in the box. Peel off the adhesive backing sticker and press fit these atop each of the stepper motor drivers. TMC drivers tend to run a bit more hot, where heatsinks help to dissipate the heat and prevents hardware failure.

It’s also a good idea to check the terminal blocks, making sure that they are opened. With limited space to work once the board is in the electronics case, it helps having them ready to go.

At this point, it’s just a matter of installing the new SKR Mini E3 board and wiring it back up.

Before mounting it in the case, I would suggest plugging in the female XT60 power cables first. Because the terminal block is on the back side of the board, it can be a bit difficult to access otherwise. With these wires already inserted, we can just feed the plug through the rear opening in back of the case.

For the remaining wire terminal blocks, insert the cables and clamp them in place with the set screws. You can refer to the wiring diagram as needed, or do the following from left to right…

  • +12V GND: thin 18 gauge red/black fan wires.
  • HB: thick 14 gauge red/black heated bed power wires.
  • E0: thick 14 gauge white/white (or red/red) hotend wires.

The only point to be wary is the fan plugs, which are reversed between the original Creality board and the SKR Mini E3.

If these aren’t swapped during the installation, the hotend cooling fan will always be turned on and have no PWM control. As such, FAN0 should have the yellow/blue wires for the hotend cooling fan, and FAN1 should be the red/black case fan wires.

That’s it for the installation and all it takes to upgrade the board. Once everything is plugged in, go ahead and power on the 3D Printer to make sure it works as expected.

Marlin Firmware

The SKR Mini E3 comes pre-loaded with Marlin 2.0 firmware on the SD card. This is an example build, configured for the Creality Ender 3 with most of the standard features enabled. It’s a convenient way to test our board and make sure it works, but the firmware is often an older version and should be updated when possible.

BIGTREETECH publishes the latest version of this firmware on their Github page, pre-compiled and ready to use. If you don’t need to make any changes, this is the easiest method.


Flashing the Firmware

There are 3 versions of the Marlin firmware available on Github. For users with a BLTouch auto bed leveling sensor installed, use the one labeled as such. Otherwise, firmware.bin file is intended for the standard Z-endstop switch on stock Ender 3 3D Printers.

  1. Download the firmware.bin file to your computer.
  2. Copy the firmware.bin file to your SD card (rename the file if necessary)
  3. Load the SD card in the 3D Printer and turn it on.

Once the 3D Printer has booted up, the screen should stay blue for 15-20 seconds. During this time, the Marlin firmware is being flashed to the board from our file. After it has completed, the screen should load in to the normal interface, signifying that it’s ready to use.

View Comments

  • this is a great article but i cant get mine to run. i dont have a BLtouch and i cant find compiled firmware that doesnt have bltouch stuff added. do you have a firmware file that has ender 3 settings but no bltouch or anything else?

          • Hi Peter,

            As others may have the same question, I will leave the answer here. This method of flashing firmware is a perk of the SKR Mini E3, it doesn't work with the stock board. On the original Melzi board that comes with Creality machines, you must first flash a bootloader and then you can write new firmware over USB.

        • Hi Matthew,

          What kind of issues are you having? I installed the SKR Mini E3 on my base model CR10 without any issues. I did have to build custom firmware with a couple slight changes (such as build volume dimensions) but otherwise it has worked great on that machine.


          • I have installed the hardware successfully. The issue is I do not know how to update the firmware of the board for the CR-10. I tried the auto home and the motors tried to run away. My printer is stock. Did you use arduino software to update? What type of arduino board is this?

          • Hi Matthew,

            With the SKR Mini E3 board, you need to place a compiled firmware binary file (firmware.bin) on the SD card. When the 3D Printer is turned on, it will detect this file and automatically flash it to the board. It takes around 20 seconds to complete, and once finished the file will be renamed (firmware.cur)

            You'll just need to get a firmware build made for the CR10, BIGTREETECH does not publish a version for this machine on their Github page. I've seen various bin files shared on social media groups in the past. Alternatively, you could also build it yourself, but this is a bit more complex of a topic.


  • Hi Brett, I shorted out my melzi board (blew a lil chunk out of the onboard 24v/5v regulator, and fried 2 stepper drivers.) I chose to get an skr mini integrated version, arrived yesterday easy as to install, thanks to this guide. Prints so smooth an quiet. But when I tried to pause a print, it paused, but did not move the print head away from the print. When I resume, it happily resumes, but the screen stays stuck, and I have no access to controls, until the print is finished? Any help would be great.

  • My new board arrived today and I installed it without the slightest issue and it booted and worked perfectly after using this guide. The one thing I have yet to find is what are the correct speed settings to start printing at?
    I have yet to figure out Sensorless Homing and Stealthchop/Hybrid setup as I don't really want to start messing with VS Code and until I can get a handle on and actually get something that will compile. Marlin 2.0_BugFix isn't to bad and I'm intent on future upgrades to get my TH3D EZABL to work and even add a Second Z-AXIS Stepper and Leadscrew. My previous upgrades were to add the 3DFused Linear Bearing Kit on the X and Z-Axis. Other than the SKR Mini E3 V1.2, this was the best upgrade dollar I ever spent. I have my X and Z-Axis within .1mm of being perfectly aligned. Nobody I know of has got their X-Axis that level using stock wheels and adjusting nuts.

  • I installed a BIGTREETECH SKR Mini E3 V1.2 board in my Ender 3. I just noticed that it does not have the option to change filament anywhere in the printer options. I used to be able to change mid-print with the original board. It would back out the loaded filament, prompt to install new filament, heat up the hotend, and extrude a good amount to make sure everything is ok. Being able to do this mid-print was very helpful. How do I enable this option?

    • Hi Clint,

      The Change Filament option is a Marlin firmware feature located in the Configuration_adv.h file. This is disabled by default in the SKR Mini E3 example firmware, but it's #define ADVANCED_PAUSE_FEATURE. You will need to un-comment that line (1675) and rebuild the firmware, or grab a pre-built BIN file from someone that has already done it.

  • i have the skr mini E3 v 1.2 and the tft35 v3.0 that i want to install on my ender 3 pro i also have the ender 3pro extender kit from mark williamson 300x300x600 will these still plug and play or will i have to upgrade the firmware for the height and plate size, the 1.1.4 board that was in my ender 3 pro i want to put into my ender 2 with the stock lcd from e3 pro will i have to update the firmware for this also.

    • Hi Callum,

      You will need to update the firmware on whatever board you use to define the new build volume size. These are located in the Configuration.h file on Marlin.

      #define X_BED_SIZE 235
      #define Y_BED_SIZE 235

      I don't have the TFT35 screen as of yet, but I believe the stock SKR Mini E3 firmware is configured to use the default screen. In the Configuration.h you will find it set as #define CR10_STOCKDISPLAY. You may have to change this to support a TFT screen instead, although I will have to look up the details and add them here once confirmed.

  • Just installed an SKR mini E3 1.2 and downloaded the firmware with BL Touch and loaded it but I cannot get the printhead to go below 0.0 on the Z axis (no negative numbers) to calibrate the BL Touch? Any suggestions? Using a TFT 35 E3 V3 and it won't go below 0.0 in either Marlin or the TFT.

  • My new mini e3 isn't probing correctly for bed leveling. It tries to start probing next to the X endstop which is off of the bed. Usually on the stock board it will start it's probing on the other side of the printer.i can't find anything in Marlin to fix it

    • Hi Steven,

      Check out the Z_SAFE_HOMING option in Marlin firmware. It's disabled by default on the SKR Mini E3 firmware, but this feature is designed to prevent homing outside of the build area. When I assembled a DIY auto bed leveling system in another guide, this is the setting I used to work around that problem myself.


      • Hey Brett thanks for the reply. I have that turned on already. I literally looked at every line in Marlin, but that doesn't mean I didn't miss anything. I'll keep looking

        • Hi Steven,

          I went back and took a look at the firmware configuration I made and noticed a couple of things. Most notably, I created outer boundaries for the probe, but these settings don't even exist in the official SKR Mini E3 firmware, you would have to add them. You can take a look at my config file here lines 1021 - 1024.

          #define LEFT_PROBE_BED_POSITION 10
          #define RIGHT_PROBE_BED_POSITION 170
          #define FRONT_PROBE_BED_POSITION 30
          #define BACK_PROBE_BED_POSITION 190

          I also defined X_BED_SIZE and Y_BED_SIZE as 220 (build volume) instead of 235 (bed size), which are used by Z_SAFE_HOMING and several other settings. Try the aforementioned boundary definitions first, as changing the BED_SIZE variables was probably a workaround, but you can always give it a shot if all else fails.


  • I believe your image called "skr_mini_e3_wire_terminals.jpg" showing the red/black wires, directly above the "The only point to be wary..." paragraph shows the HB red/black reversed. In fact, on the board vs what BTT's diagram shows is also backwards:

    For the "BED" connection, it shows "12/24V, PC9" but directly above that wire block it shows "- HB +"

    I guess it's just a resistor which heats the bed so it doesn't matter if +/- are swapped, but that's pretty disconcerting. Hm, seems the same for the "HE0" connection to the right of "BED" in that diagram.

  • Upggraded to the BTT SKR E3 mini V1.2 and the TFT35 E3 V3.0 screen. Pretty sure I connected everything right (even googled the exact fitting of the RS232 on the board since that wasn't so clear on the youtube video you linked) but when I switched my Ender-3 on I was immediatly greated by 2 white lines across the screen and a No printer attached message. Tried different SD-cards to flash screen firmware but nothing happens when i switch it back on. This is what the screen looks like :

    • Just realized the board can also work with the original screen. Tested it and printer works. The absence of sound when the axis move is fantastic. Too bad about the screen. I'll try and contact BTT for a replacement. :/

    • I had this same problem. BTT’s PIN diagram for the display board is shown from the front view. The SKR mini E3 board PIN diagram is shown from the rear view.
      I reversed the wires and it worked perfectly.

  • The board worked okay initially, but after flashing the firmware I now can't connect to the screen and get the red 'no printer attached' message. I've tried reversing screen connections and looked around for a solution on the forums but most solutions seem to involve editing and compiling your own binaries, which is beyond me. I thought this was supposed to be a 'direct replacement' for the original Ender board but it's actually a real headache. Well, it powers up at least. I'm gutted as I've only had the printer for a week or so and was just starting to get some great results.

Published by

Recent Posts

Compile Marlin Firmware without VSCode

Marlin firmware has long been the industry standard for 3D Printers. It's reliable, open source…

4 months ago

How to Install Klipper on the Creality Cloud WiFi Box

The is a fantastic concept, but a horrible product. It's intended to rival the likes…

6 months ago

How to Install the Gulfcoast Robotics Heated Bed (Ender 3 / 5)

Creality 3D Printers are notorious for having a warped heated bed. The Ender 3 and…

11 months ago

The 8 Best Extruder Upgrades for Creality Ender 3 [2021]

After buying yet another Creality 3D Printer last month, it was a disappointing to find…

1 year ago

Black Friday 2019: Best 3D Printer Deals

Check out the most comprehensive list of Black Friday 2019 deals on 3D Printers, filament…

2 years ago

How to Crimp JST Connectors for 3D Printers

When I first started down the rabbit hole of 3D Printer upgrades, one of my…

2 years ago