We have based our new 3DSteel model on the popular P3Steel kit, keeping the same frame and rods, as well as many other components to allow the upgrade to this new version.

We have prepared different packs, so you can make a total or partial update with the greatest comfort and flexibility possible. Next, you will find the different parts that you can update and then the changes in the firmware that you have to perform if you do not perform all the updates. If you do all of them, you can install the firmware of the 3DSteel and its updates directly.

Packs are easily editable, that is, you can add the pack completely or partially. You can also add other items to the order if you want to have spare parts.

Mechanical updates:


This is perhaps the biggest update of the kit, and we recommend it over the others, since it provides a jump in performance and reliability very important. The double pulley provides an incredible grip to the filament avoiding skidding or biting the material, the filament presence sensor works in a simple and stable way, and the 3DTouch leveling sensor will help us achieve that perfect first layer that makes a difference.

It shares the engine and the hotend with our "V1" extruder, so you will only need the components of this pack. And here the complete already assembled extruder.

If you have a version with the thermistor without encapsulating. since you are going to update the extruder you can also update the thermistor, although it is not essential, here you have the pack.

The filament presence sensor and the leveling sensor are optional and recommended.

Here you can find the assembly instructions.

When installing the 3DTouch sensor, it is advisable to remove the mechanical limit switch from the Z axis.

Z Axis and and X  Axis with new chains

We recommend using a version with spindles, especially for self-leveling. The version with the integrated motor is the best and most recommendable, since it avoids the "Z Wobble" produced by the couplers and transmits the movement to the Z axis with great precision.

You can use this pack.

Here you can find the assembly steps.

If you already have a version with the integrated spindle you can skip this step.

Keep in mind that the chains are compatible with each other, the new model allows you to easily add or remove the wiring, as well as being thicker for the new sensors that are installed in the extruder.

220x220 Heated Bed

This bed has a size of 220x220mm, and the screws do not bulge through the top, so it facilitates the installation of any glass or magnetic coating.

You can see this indications as reference. And here you have the pack.

Electronics with Ramps 1.6+ and TMC2130 drivers with SPI

The Ramps 1.6+ is an ideal solution together with the TMC2130, in addition being a shield for Arduino Mega you can use the same Arduino board that you already have, optimizing the replacement of components.

This board has a high quality construction, connections for higher intensities and a mosfet capable of supporting very powerful heated beds. The TMC2130 is also a revolution in the movement of 3D printers.

Here you have the pack.

When buying the pack, you can tell us to solder the pin for the sensorless homing in two of the controllers for an easier assembly. The board has a 12V output, in which we can connect the electronics fan or the hotend fan, the other will connect directly to the source through the bipolar expansion cable for fans.

The assembly instructions are in this link.

When activating "Sensorless homing" the mechanical limit switches of the X and Y axis will no longer be necessary, so they can be removed.

If you want the whole box, including the 6010 fan and the mega plate you can use this pack.

Power supply printed part

It allows the removal of the power cable, as well as easy connections to access the source. It's a simple update.

Here you can find the pack.

And here you have the pack including the power supply, you can leave us a comment when placing the order so that we send it assembled.

Adjust firmware according to the update we have made:

  1. If you have done all the updates: congratulations, updating the firmware will be easy, since you can directly install the firmware of our 3DSteel. For this, there is download latest stable version of our firmware from our website: https://www.hta3d.com/3dsteel and install it as indicated in this tutorial.
  2. If you have decided not to update any section, you will be able to make the necessary adjustments as well. In the following points we will discuss how to deactivate these functions. They will also be useful, if for example you want to install a component of our kit in another printer, such as the extruder or our electronics.

To deactivate a component it is sufficient to put two bars // before its definition. This will apply to all points to be deactivated, for example:

Active component:


Inactive component:



Deactivate filament sensor:

  #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
  #define FIL_RUNOUT_INVERTING true // set to true to invert the logic of the sensor.
  #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins.
  //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins.

Deactivate 3DTouch sensor:

#define BLTOUCH

Deactivate automatic leveling:


Deactivate safe homing (takes the extruder to the center of the bed when homing to prevent it from doing so outside of the printing base):


By deactivating the manual leveling we can activate the function for semi-automatic leveling on the LCD:


Dual pulleys use a number of steps per mm similar to the single extruder, but it is still recommended to calibrate the flow after installation.

Z axis and X axis with chains

If you decide to use any T8 version, it is not necessary to adjust the steps per mm. We do not recommend using the M5 version with automatic leveling, but if you decide to keep the M5 version you have to adjust these sections:

Adjust steps per mm, multiplying by 10, the steps per mm that are used with spindles:

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 4000, 130 }

From 400 we went to 4000 with the TMC2130, and from 800 we moved to 8000 with the DRV8825.

In addition to this, it is convenient to reduce the maximum speed of the Z axis, although then it can be adjusted from the LCD:

#define DEFAULT_MAX_FEEDRATE          { 300, 300, 2, 60 }

With metric 5 we recommend a value around 2mm/s, but this value can change if for example we increase the intensity of the controllers.

220x220 Heated Bed

It does not require firmware changes, since this bed is configured to use the coordinates from -10 to 210 on each axis, if you use a normal bed of 200x200, you can use from 0 to 200 on each axis.

Electronics with TMC2130 configured with SPI and with Sensorless homing

To deactivate the sensorless homing function, go to Configuration_adv.h and deactivate this line:

#define SENSORLESS_HOMING // TMC2130 only

In addition, we have to change the direction of homing, to make it match the position of the limit switches:

// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

-1 means that it will go to homing in the negative direction. 1 means that it will go in the positive position. The endstops of the P3Steel are placed in the negative position, while in the 3DSteel the firmware is configured by default to homing in the positive direction.

You must also change the pin activation to match:

//#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG
//#define USE_ZMAX_PLUG

With the endstops we have to keep the "MIN" active.

Finally, to deactivate sensorless homing, the position of the limit switches of X and Y must be indicated so that the impression is centered: 

#define MANUAL_X_HOME_POS -20
#define MANUAL_Y_HOME_POS -18

Define the drivers to use the DRV8825, for this you have to indicate it in "DRIVER_TYPE", you have to change TMC2130 for DRV8825.

#define X_DRIVER_TYPE  TMC2130
#define Y_DRIVER_TYPE  TMC2130
#define Z_DRIVER_TYPE  DRV8825
#define E0_DRIVER_TYPE DRV8825

And adjust the steps per millimeter according to the resolution of each controller, remember that the TMC2130 have half the resolution of the DRV8825, but interpolate the intermediate steps, this provides a better movement with less load for the processor.

We go from:

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 400, 130 }


#define DEFAULT_AXIS_STEPS_PER_UNIT   { 160, 160, 800, 260}

Once this is done you will have the update active. Do not forget to tell us your experience and the results!