Revision 2 is coming!

After few months usage of the current MK2Clone with good results, I’ve decided to go further and create a… MK2Clone Revision 2 (r2).

All the parts was reviewed – modifications, some smallers and few biggers was made. There is a new frame, designed to be lasercut from 10mm plywood. Spool holder taken from MK3, adjusted to fit 10mm frame. Parts refined to be more easily printable. Fixed a lot of misalignments in the stls due to differences in mechanical parts.

There will also be a lot quieter printing, thanks to Trinamic stepper drivers and quiet-enough SUNON fans. Additionally, filament runout sensor integrated with extruder body – no more ruined prints due to end of filament.

Unfortunately, the printer will be not as cheap as the first one. Trinamic stepper drivers are more expensive than the standard a4988. Original E3D Hotend, bigger heatbed, even the SUNON fans – all that parts will make the printer far more expensive. For the people looking for cheaper version, there will be still a option to use cheaper parts, I’m planning to publish a list of cheaper replacements.

Additionally, there will be a full guide describing how to build the r2 step-by-step, with photos.

All the parts for r2 (it’s still beta!) can be found on MK2Clone on GitHub in master branch (the master branch should be called dev for this repo ;)) –

Stay tuned.


New firmware, summary and more


Current state of MK2 Clone build

The “Original” thing

Josef Prusa already announced and started sale of the Original Prusa i3 MK3 printer, with a whole bunch of new sensors. Unfortunately, as he was publishing almost everything to the community, currently his company is making everything by themselves, and its hard to buy the things from other suppliers. It was already same with MK2, but there wasn’t so much parts like that as now.

What about firmware?

There are already new versions of Marlin firmware available (1.1.x) which has a lot of new functions, with Unified Bed Leveling on top of them, and also skew correction algorithm. As the firmware which I made for MK2 Clone wasn’t stable enough, and also the X/Y skew was only the calculator, not the true algorithm to compensate it – I decided to abandon it. Additionally, the chinese MK3 aluminium heatbeds are not perfectly cutted, so the results wasn’t good enough.

-> Configuration files for Marlin 1.1.8 are available in the MK2 Clone GitHub repository


Freshly compiled software

Skewed Z axis

As dulouie noted that the x-end-motor and x-end-idler made by achim_boers has lightly skewed position for brass, he made also a new parts, which are linked in Bill of materials, and available on GitHub as well.


Skewed Z axis

Make it quieter

Most noises are made by stepper motors driving X and Y axes. The cheapest way is to replace the A4988 stepsticks with Trinamic TMC2100, even the chinese cheapest ones. When inserting the TMC2100 then the active cooling for electronics is almost a must, otherwise the stepsticks can skip steps due to protection agains overheating.


Electronics active cooling

What’s next?

Even more quieter: the second loudest noises (in my opinion) are made by the 30×30 fan which is responsible for cooling the hotend. I’ve already found the 30×30 fans made by TITAN, and the manufacturer declares noise level on 21dB. Sound promising.

Sensors! As the MK3 few new interesting sensors, I’m planning to put some on the MK2 Clone. Prusa Research are making a lot custom electronics right now, and I want to focus on electronics generally available on the market, to allow everyone to make the MK2 Clone in their homes.

XYZ Calibration (beta)

The build is ready, I am now working on the firmware.

Recently I had an idea how to implement XYZ Calibration, and now its implemented, in beta state. It doesn’t save anything, but it produces a report which can be used to configure the printer. The printer is also checking if the XY are perpendicular and displaying information how big is the difference, and how to reduce it (which rod should be moved backwards/forward).

Its recommended to run the XYZ Calibration from LCD while being connected from the PC by serial port (using eg. Prointerface or Repetier-Host).

Video demonstration:

The idea of moving to top of frame is taken directly from Original MK2.

The calibration can be also started by using gcode G666.

Test print – Clone vs Original

My clone is already fully working, I’ve made some tests.

I didn’t wrote that before, but I’ve replaced Z axis stepper motors with chinese ones with integrated trapezoidal Tr8x8 screws, as because of the coupler the Z axis was unable to go low enough to print. I strongly recommend to also do that, otherwise You can have similar problem. It will also help to avoid wobbles, which are mostly caused by the couplers.

The chinese motors which I’ve used are with screws 300mm length, and its enough to drive the Z axis to the top, even if they are not long enough to be over the Z-tops.

I’ve put the printer on karimata (joga mat), to (mostly) reduce noise.


On the chinese MK3 heatbed there is directly sticked the cheapest adhesive surface, I found that at my local reseller.

I didnt wrote anything yet about mounting the heatbed, but its really a easy task, just put the MK3 on plywood, use 4 M3 screws and heatbed springs, and using self-locking M3 nuts – screw it.

Eventually, the test print: (3DBenchy by CreativeTools)

One of the prints is from the Clone, and the other one is from Original Prusa i3 MK2S.

Filament used: ESUN PLA+ Green
Layer height: 0.2mm

Are you able to guess which print are from which printer? There are small details which should tell you that.

I’ve made also a short video from print on the MK2 Clone.

I am really surprised with the print quality from this clone, I wasn’t expecting that it will print so good.

Soon I will finish the Bill of materials, with a links to stores where you can buy all of the parts to build a MK2 Clone.


As the build is almost finished (I am only waiting for the longer cables to put screen on front of the printer), I’ve started to modify configuration of Marlin to this printer.

Unfortunately, very helpful option to load and unload filament (gcodes M701 and M702) is not implemented in Marlin, but they implemented M600 (change filament during print) – I’ve done some modifications to Marlin RC8, adding that feature.

I’ve made eventually more modifications (and I am still working on it) – added Babystepping Z to main menu while printing, allowed to use 10mm move also on Z axis and also some modifications to menu order.

The modified Marlin, with configuration is available on github: (branch MK2Clone)

To use it, you shall modify Z probe offset (depending on what height you have mounted the probe), and X,Y,Z MIN and MAX positions.

I am still working on the firmware, to add more features which are helpful while operating the printer.

To print there is also a slicer software needed, I strongly recommend Slic3r Prusa Edition, which can be downloaded from github:

There is start GCode which I am using:

M140 S[first_layer_bed_temperature] ; set bed temp
M190 S[first_layer_bed_temperature] ; wait for bed temp
M104 S[first_layer_temperature] ; set extruder temp
G29 ;
M109 S[first_layer_temperature] ; wait for extruder temp

And End GCode:

G4 ; wait
G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure
M104 S0 ; turn off temperature
M140 S0 ; turn off heatbed
M107 ; turn off fan
G1 X0 Y200 F6000; home X axis
M84 ; disable motors

For the profiles, You can go ahead and use Original Prusa print profiles, but I recommend to remove acceleration control from the profile (Speed -> Acceleration Control (advanced) -> set over there everything to 0), and use the default hardcoded acceleration limits set in configuration.



It’s almost the end of build. When the extruder will be ready, there will be only few small tasks to do before the printer will print.

Printed parts needed:

1x Modified Extruder body by HeartFoxx
1x Modified Extruder idler by HeartFoxx
1x Extruder cover
1x Fan nozzle
1x Cable holder
1x notORIGINAL extruder motor cover (optional)

Parts from MK2 looks almost same, it even can work – but the diameter of chinese MK8 is a little bit bigger than the original pulley, and this causes problems – and because of that there is a modified version of body and idler.

Extruder body and fan nozzle should be printed from ABS or PETG to avoid future problems – parts from PLA can be easily melted over there (use PLA at your own risk)

Original manual can be followed straight, just use standard M3 nuts instead of the square ones. The slots for probe are too small for nuts – omit the nuts, it will be working without the nuts.

In step 14 – shaft – don’t use additional washers (it’s not needed with the HeartFoxx modification), and for the shaft go with the printed one.

While mounting probe (LJ8A3-2-Z/BX-5V) be careful, as the chinese probe are longer than PINDA one, and it makes harder to put the cable under it.

The additional nut from step 24 are not required – if you have any troubles to put it on the place, just ignore it.

When you will be managing the cables (from step 31) make sure that you know which cable is from the 30×30 fan – because it has to be connected directly to +12V on power supply, only the print fan will be controlled by software.

I didn’t used the spiral wraps/cable shields for my build, if you don’t have it – it will be still OK.

Extruder parts summary

Printed plastic parts

Metal parts

  • 10x M3 nut
  • 4x M3 washer
  • 4x M3x40 screw
  • 3x M3x30 screw
  • 1x M3x25 screw
  • 3x M3x20 screw
  • 6x M3x18 screw
  • 2x M3x10 screw
  • 1x 625ZZ or 625 2RS bearing
  • 2x Extruder spring
  • 1x MK8 pulley


  • 1x NEMA17 stepper motor
  • 1x 5015 turbine fan
  • 1x 30x30x10 fan
  • 1x LJ8A3-2-Z/BX-5V sensor


  • 1x Chinese E3D Bowden Hotend v6
  • 1x PTFE tube
  • 3x zipties (or more)
  • (optional) 1x nylon filament dia 3mm, 50cm length
  • (optional) 1x spiral wrap