Introduction: Prusa I3 Mk3 With Arduino Mega, Ramps1.4 Silentstepper and Sensorless Homing

I am going to update this instructable it is possible i lmissed parts. please tell me if you find anything.

I really liked prusa i3 printers, and i fell in love with new features, of the mk3. There are so many Mk2 clones but not MK3. I decided to create my version of Mk3, and i try to built it as cheap as possible. Mostly i've followed the Prusa manuals. I will only describe the parts i changed. It is mainly the electronics, i am using RAMPS 14, and 12 V for now.

Here are the list of the parts i used:

Electronic parts:

- e3dv6 Hotend

- MK52 hotbed I used 24 Volt editon but now it is possible to find 12 V ones which is better for ramps

- Ardunio mega 2560

- RAMPS 1.4

- Reprap d1scount LCD with SD reader

- 4pcs TMC 2130 v1.1 (so you dont need to solder it for yourself)

- 5X 28Ncm Nema 17 Stepper Motor 0.4A 1.8°


- Radial Turbo Blower Fan Cooling Fan 50X50X15mm

- Cooling Case Fan 40x40x10mm

- At least 400W PSU. It is possible to use ATX PSU from old PC-s. Here is how to use:

Mechanical parts:

2 pcs 300 mm spindle

2 T8 2mm Pitch 8mm lead screw

2 pcs of 5mm to 8 mm flexible coupler

2 x320mm rod 2 x330mm rod and 2x 370 mm rod it is better if you buy stainless steel

2m gt2 belt

2 pcs gt 2 idler and pulley

10pcs LM8UU 8mm Linear Bush Ball Bearing

3030 Vslot BOSH:



Mk3 Mk52 Spring Steel Iron Heated Sheet Hot Bed Platform (i recommend the original prusa ones for PLA is not working well, later ill test for ABS and PETG) use blue tape on it for better adhesion)

-Some zipties


- many M3 screws not counted the amount :(, mainly M3x10, M3 20, M3x25, M3x40, M3x30

1 set For Prusa i3 MK2 / MK3 3D clone printer Btech double gears K2E5

this is not necesseary but recommended

-4x Anti vibration Rubber

- i have printed most of prusa parts from the web and some additional parts

choose MK3 without S

I AM going to skip mechanical building instrcutions because it is almost the same as on the original prusa:

Aditional parts:
print 2 pcs from this adapter:

Lets do this...

Step 1: Preparing Your Frame

If you are using Bosh 30x30 aluminium extrusions you have to cut the threads for yourself. Use M5 Thread cutter and carefully try to make about 15-20mm deep thread. Be carefull, try not destroy the threads when cutting. Be patient and do it slowly. If you have, use some oil, or WD40 on the cutter. After a thread is finished, always clean the small particles from the cutter.

Step 2: Build the Frame and the Mechanical

Get the neccesery 6mm thick 4 plexi frame part. Cutting files is into the prusa zip files (frame)

Use the 3030 BOSH extrusions to build the frame
if you buy 3030 V slot extrusion you have to cut the 4 M5 threads yourself into every extrusion. It takes about an hour by hand but much cheaper.
Use the prusa manual to create your printer BASE

The differences:
Use the coupler to mount the trapezoid screw to the Z motor axis

Use the trapesoidal nut adapter 3d printed part, to mount the leadscrew to the X idlers.
To fix the bed use 2mm longer M3 screws for the bed and i used nut to mount the bed, because there are no thread in the laser cut plexi stuff. But watch out if the screws too long your Y axis will collide into the frame.

For mounting linear bearing to the bed, instead of U bolts i used zip ties like prusa MK2.
Note that if you buy U-bolts. it gives you greater rigidity and stablity to you system.

If you couldn't buy heat sink with proper connector, don't worry just glue some PTFE tube into it with some epoxy, like on the image shown. Be careful not to glue the way of the filament. To make sure this doesn't happen, i pushed some filament into the PTFE.

Step 3: Build the Electronics

Use the classic Ramps14 connections image attached...except endstops its the SAME

IMPORTANT! THESE connections work only if you are using my uploaded marlin, or if you rewire the pinout of the board_ramps.h

I strongly recommend to buy a lot of jumper wires. Because we will use 4 TMC 2130 driver, we have to solder 3 specific cables female-female (oh gender alert than cable with holes...whatever...) . Every cable should have 4 female plug . One on the left side and 3 on the other side (image attached). These will be used to create the TMC-s SPI stuff. You have to do this cable 3 times: one for the SCK, one for the MOSI, and one for the MSIO. To properly use TMC with LCD, you want to use TMC with software SPI. I have attached the RAMPS 1.4 pinouts, use that to properly connect SPI.

use the first of the created cables to connect to all TMC MOSI to PIN44

use the second of the created cables to connect to all TMC MISO to PIN42

use the third of the created cables to connect to all TMC SCK to PIN40

connect X_CS to Pin 57

connect Y_CS to Pin 58

connect Z_CS to Pin 59

connect E0_CS to pin 64


You have to add one male pin to X and Y TMC's Diag pin. Then connect the
X to Xmin endstop Source (S), and Y to Ymin endstop Source (S) on the ramps

For the PINDAv2 i have not solved to use its thermistor yet. Currently i am connecting it to the Z-min endstop, and not using the white wire.

Step 4: Frimware and Some Configuration

Download the frimware file on this link: (since instructables doesnt allow me to upload)

you can unzip it with 7zip

You will have to download arduino 1.8.8

Open the marlin.ino file in the ZIP i ve attached

you will need to add TMC libraries and u8glib. Just simply add them from

Tools->Library manager. Search and add. After adding complete

select: Tools-> Boards -> arduino Genuino/mega 2560 adk

select: Tools->Processor-> ATMEGA2560

select: Tools and port where your arduino connected.


If you re using different steppers probably you will have to add more amp to drive the motors. This can be done at

Configuration_adv.h file at TMC_2130 section. If the homing is too sensitive or not sensitive enough, also threshold of the sensorless homing can be changed at this section. This sensitivity is a number between -64 and +63. The higher number is less sensitive. It means that it will need greater force to detect stall. The lower number the more sensitive it will be, so there is more chance to get fake detections. It is not recommended to use it on Z axis currently.

Step 5: Set Up a Slicer Program and Happy Printing...

For printing i am using the basic cura downloadable config files.

At the starting gcode change mesh bed leveling to G29. Image attached about Cura machine settings. With some minimal modifications slic3r prusa edition is also a good choice.

After bed leveling use LCD menu on the printer ->Tune-> babystep Z to set up height LIVE if you set up pinda right it will around -1mm. If its at -2mm you have adjust your PINDA height.

BUT every 3D printer is different. For example mine is -745.

Print some additional parts:
For example:

-Spool holder mount

-Ramps mount found it here:

because of the TMC height you cant add the doors yet.

-PSU replacement brace for mk3 for greater stability

Step 6: Demonstraiton Video

Checkout how the features perform.

MK3S is coming soon.
Marlin 2.0 coming soon

Step 7: Check Out the Printing Results

Currently i am able to print with PLA and PETG in this quality.

If you are interested in other 3D printer related stuff check out my instagram