Formbot T-Rex 3


I managed to run Klipper on my Formbot/Vivedino T-Rex 3. (8.1 KB)

There are three profiles:

  • printer-Formbot-T-Rex 3 : is a profile for a regular printer.
  • printer-Formbot-T-Rex 3-uart : is a profile for the use of TMC2209 in UART mode. The uart connection is made using the MISO/MOSI connectors on the printer board (SD card isn’t use with Klipper).
  • printer-Formbot-T-Rex 3-all : is the same as the one above with an additional z-axes (stepper_z1). You need a small stepper driver board for this. It is controlled by 3 free ports on the EXP1 connector (pins 3,4 and 5). 5V is provided by MISO/MOSI socked and 24V just near the USB socket.

If I missed some info, please tell me.

— Be careful with the 24V. It kills all 5V components instantaneously. —
I lost a printer board, 8 TMC2209 and a LCD.

Hi, do you need to solder when using all 6 tmc 2209? Do you have any photos or indications?


No soldering required on the printer board.
The connections mentioned in my first are all marked on the board.

A can make images soon.

1 Like

Thanks for the anwer, i was hopping to use klipper at this machine, but there is 0 info about the vivedino 1.1 board, son dont know pins or uarts for the klipper config.
Then i think by your post that using tmc2208 It is just plug and play.
And by using tmc2209 do you need to solder to use miso mosi uart conections.
Am i right?

I’m a bit busy these days, but I can make you a detailed plan what to do.

Do you want to go for the two seperate Z-axes drive? (Gantry Tilt)

1 Like

I im not hurry so take your time, if two Z separate drive is a great upgrade i ll go for it. I’m kinda new on 3d printing but want to learn. So i believe in your experience :sweat_smile:
Im triying to know why the bed get hot really slow and dont get more than 90º.

1 Like

I was reading a bit about tmc2209, seems like i can use them whiout connecting to uart ports, with your first config file i ll be fine while u can show me hice to Connect then to uart.
Is your mother board the vivedino 1.1?

1 Like

I am new to the forum. I have a T-Rex 3.0 that I want to switch to Klipper. I’m still waiting for my Raspberry 4B 2Go which should arrive next weekend. I got your configuration files. Have you evolved since 2021? What advice for installing Klipper?
Thank you for your answers
Sorry for the translation, I use Google because I’m French.


I am looking for how to correct in the “printer.cfg” the position of the right head. The offsets in X, Y and Z relative to the left head. The parameters that were entered in the original IDEX menu of the printer.
Thanks for your comments


Hello OxFire795,
Did you make the switch to Klipper with the T-Rex 3?
If so, everything went well and did you get the photos from EddyMI3D?
Thank you for your answers

Sorry, but I’m lately quite busy with my job.

I’ll get the infos ASAP.

Ok thanks, no problem. At first I will take the basic configuration.

Here we go.

For the UART only:

At the top you can see how to set the UART addresses.

For the UART pins on the driver boards, you have to do some changes:
The pins marked UART have to show the opposite direction:


You need to have a wire loom to connect the drivers to the UART pin:


A single UART wire is sufficient.

For the 2nd Z axes stepper:

The pins of the EXP 1 are not used by the display.

Just connect to the connections on the mini board:

On the mini board set MS1 & MS2 to ON, MS3 to off.

I looks a bit clunky in my T-Rex 3 box:

Align the height of the right head as even as possible to the left head. It is possible to move the hotend a bit up and down when you lose the screws on the heatsink clamp.

Set the offset here (Y_ADJUST):

[gcode_macro T0]

Set the offset here (position_endstop, position_endstop):
If the right head is too much to the right, reduce the value.
If it is too much to the left, increase the value.
(I hope, I did not mix the reduce/increase stuff up - it’s some time ago.)

axis: x
step_pin: PL7
dir_pin: !PL6
enable_pin: !PL5
microsteps: 16
rotation_distance: 40
endstop_pin: PE4
position_min: 0
position_endstop: 446.25
position_max: 446.25
homing_speed: 50

I hope, I did not forget something.

Thank you EddyMI3D for all this information. Does the UART bring a lot in terms of speed and quality or is it very limited?
Because apparently, you have to weld the Drivers and I’m not good at this…
For the correction in Y of the second head (the one on the right) we act on T0 (thus the one on the left) in the macro [gcode_macro T0]?
And no way to correct the Z axis?
Another small question, the LED light of the machine, can it also be controlled by a menu or a Mainsail button?
I hope it’s understandable what I wrote because I use Google translate.

It’s more comfortable: Changing the motor current for example.

To my excuse: My T-Rex was delivered with TMC2208. So I upgraded and had to solder in the pins anyway.

You can do it on T1 too, but you then have to set it to 0 on T0

Should work with Z_ADJUST:

But, when you want to do a copy or mirror print (I know it’s not possible with Klipper yet), it should be at the same height. I did it formerly with Marlin too.

I’m running OctoPrint and did it with the Enclosure Plugin and have two buttons at the frame.

Thank you for this additional information

Hello EddyMI3D
I allow myself to contact you, because I can’t flash the T-Rex. In Mainsail, I created the “printer.cfg” file and pasted the contents of your “printer-Formbot-T-Rex 3.cfg” file into it. by modifying the line [mcu] by mine. Then in the “Putty” console I stopped the Klipper service, then flashed, but there was no way:
sudo service klipper stop
make flash FLASH_DEVICE=/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AK0706Q9-
Do you have a procedure that will work for me?
I installed “Mainsail OS V1.0.1-64 Bit”
Personally, I followed the following tutorials:

Do you get an error message after make... ?

Is the USB cable proper for data transmission?

Good evening,
No, no error message. The cable is compliant for data and I even tried a second one.

Is it rather a command line like the following?
make flash FLASH_DEVICE=/dev/ttyUSB0


Have you done the first steps too as described here: