MK2.5S Bear extruder and firmware 3.7.1 XYZ Calibration

Hello guys,

If you’re like me and upgraded to MK2.5S Bear extruder by Grégoire Saunier (thanks for all this work Greg!) you will find out that XYZ calibration is failing with the latest official firmware (as of today v3.7.1). This is due to the fact that the new “S” extruder by Prusa is shorter than the original “non S” extruder. To fix this you only need to change two numbers in the original firmware:

  1. In Marlin_main.cpp search for this line: current_position[Z_AXIS] = Z_MAX_POS + 9.0;
    Change the 9.0 value to 2.0
  2. In ultralcd.cpp search for this line: current_position[Z_AXIS] = Z_MAX_POS+4.f;
    Change the +4.f value to -3.f

We’re basically saying that we’re using the MK25 extruder for calibration (which is the same size as the Bear’s). Just recompile and flash to the mini Rambo.

This will probably work for MK3S Bear extruder, too as it’s falling into the same “else” clause for calibration.

Have fun!



MK2S OLED screen replacement

So I stumped upon a picture of a Prusa machine with a replaced LCD screen with an OLED one that looked just awesome. So I decided to do this on my machine, but it turned out it’s not so easy, as the original Hitachi LCD controller is different than the OLED controller. I found a LiquidCrystal library for OLEDs here:

It needed some additional modifications to get it to work with our beloved MK2S. Not sure but it should work with the MK3, someone can give it a try.

So the way it works is:

  1. You need a Winstar OLED screen (I used this one: Winstar WEH002004AGPP5N00000)
  2. You’ll have to desolder the old LCD with a solder pump and solder the new OLED.
  3. Replace the “LiquidCrystal.cpp” and “LiquidCrystal.h” in the original firmware folder and recompile. (modified library is here:
  4. Enjoy your awesome new looking display 🙂

P.S. In the link above I have ready pre-compiled firmware for MK2S with some additional modifications:

  • Lower bed level speed (for use with the Ext. Driver Board)
  • PLA pre-heat temperature set to 160 deg. Celsius for use with Chris’ Pretty PLA v3 profile. (can be found on the Prusa Facebook groups)
  • LiquidCrystal library replaced for OLED support.


MK2(S) Ext. Driver Board rev.2.4 is available now!

Hello guys, I’m happy to announce that the new version 2.4 of the external driver board is now available for purchase. It’s now featuring solderable jumpers for configuring the different TMCs in the desired modes. No more soldering on the drivers (TMC2208) as was on v2.3. Now you make the correct jumpers on the ext. driver board and you’re done. You can get one here:

MK2(S) Ext. Driver board v2.4

Using second external driver board for Z motors

Hi guys, I often get the question if it’s possible to use a second external driver board for the Z motors. And the answer is yes. This guide is for the more advanced users as it requires more soldering and more wire connections. After you do it you’ll have the advantage of quiet Z motors and also running them with two separate drivers instead of running them with one as on the original Rambo board.



TMCs and rubbing sound during mesh bed levelling or high speeds

Hello guys,

I had some people reporting a rubbing sound on X and/or Y axes after installing the external driver board. It turns out that the TMC drivers cause some strange vibrations on the prusa motors with speeds higher than 130mm/s . Looks like on every printer it’s different, some have it louder, other don’t have it at all. Maybe due to frame upgrades etc. It can be felt during mesh bed levelling before every print or high speed travel movements. The only solution for now is to print at lower speeds (I personally believe MK2S prints better with speeds lower than 100mm/s) and lower the speed between point measurements during bed levelling. The last requires firmware adjustment as it’s hardcoded in Marlin_main.cpp :

  • int XY_AXIS_FEEDRATE = homing_feedrate[X_AXIS] / 20;

That “/20” at the end shoud be adjusted to “/30” to get lower bed level speed.

I have adjusted and re-compiled the latest versions for MK2S and MK2.5/S and uploaded them here:

Some other important things to consider:

  1. If you use plastic bearings such as IGUS or VESCONITE remove them and use the original metal LM8UU bearings from Prusa.
  2. Inspect X and Y axes for “stuck” movement or hard movement with belts removed.
  3. Make sure you never use more than 120 mm/s for any of the movements in your Prusa Slicer profiles, especially the “travel speed for non-print moves”. Set it to 120 mm/s.:
  4. Set your max machine speed limits to no more than 120 mm/s:

Feel free to contact me if you have any questions.


Ext. driver board with TMC2208

Hi guys, good news. I’ve completed testing my board with TMC2208 from Watterott.

So, why using TMC2208? Mainly because:
stealthChop2™ No-noise, high-precision chopper algorithm for inaudible motion and inaudible standstill of the motor. Allows faster motor acceleration and deceleration than stealthChop™ and extends stealthChop to low stand still motor currents.

Benefits of using stealthChop2:
– Significantly improved microstepping with low cost motors
– Motor runs smooth and quiet
– Absolutely no standby noise
– Reduced mechanical resonance yields improved torque
– Reduced motor working temperature

I highly recommend using these instead of TMC2100. The main reason is the increased torque and lower motor temperatures. Here’s the manual on how to do it:

Note on MK2S motors temperature and Vref with TMC2100

Hi guys, I often get the question for the high temperature on the motors. Yes, it’s normal, TMCs use different algorhythm in StealthChop mode and it’s also doing 256 steps instead of only 16. So the motors run hotter. It’s the same on MK3. Pucture below is my X motor temperature during print of PETG. If you’re running with the stock LM8UU bearings you can try to lower the Vref on both motors to 0.85 V. After that watch for layer shifting. You can go even lower if you don’t have layer shift. If it appears you’ll have to increase Vref again step by step up to 1V so you get to a safe point. Mine get very hot during print, but no problems so far, motors are able to take a lot more temperature, Jo Prusa said it himself. If you’re running with IGUS bearings you will most probably get layer shifting after lowering the Vref. This is due to the nature of the plastic bearings and the usual problem with getting the rods perfectly parallel. At the end you’ll have to find the sweet spot for yourself and your current build. You can always contact me if you have any questions.


Important news about the TMC2100 drivers!

Hi guys, thanks to a friend named Craig Johnson now I know why the original Watterott TMCs are whining. It’s because they run in SpreadCycle mode and we all have been running in StealthChop mode with the chinese drivers with black PCB. No matter if the jumper on my board is soldered or not they run in StealthChop mode. They have little mini jumpers on the back that are being left open. This leaves CFG1 and CFG2 floating and the driver is runnig silent. Now this is not automatically a bad thing, you don’t have to do anything if you don’t have problems with layer shifting. I’ve been running mine since I created the first prototype board and never had problems with the VREF set to 1V. So if you’re using the chinese clone MKS drivers, you don’t have to do anything. If you’re using the original Watterrott TMCs just desolder the jumper on my board and they will be running StealthChop, too without any whining/hissing. Of course you can run in SpreadCycle mode (noisier), but then you need to solder CFG1 and CFG2 jumpers on the back of the chinese clone drivers. If you have any questions feel free to contact me.

New shorter box for the external driver board!

Hi guys, it turned out the first box I designed is a bit taller if you install it on stock MK2S. It’s because I used custom front and rear brackets for the Y axis and they are taller than the original ones. So I made 6mm shorter version. If you’re still using original MK2S parts use the SHORTER VERSION of the box.