Tronxy X5S: Heatbed and Movement

The picture of the X-carriage in the last post forestalled it: The first prints were made on the scanner glass with GeckoTek “EZ-Stik Hot” of the JunkStrap. And I constantly feared breaking it, because of the 6-point “bed bending” feature of the X5S.

The heated build plate is massive. A 330 x 330 mm² aluminium PCB (with traces on 300 x 300 mm² of it). At this size it bends anyway – so you have to carefully compensate it. I used the the light-gap method and a straightedge to constantly check if everything still was flat. Good thing I had read that FB-Group from the beginning: The hint to use a granite tile enabled me to use 3-point-levelling.

Of course nobody meant a tile for decorating walls. I tried those on the RoStrap after all my mirrors broke and that was a complete(ly corrugated) failure. 😀


10mm thick, polished granite flooring however is flat. And it is cheap: 1,75 € at Hornbach for a 305 x 305 mm² one, singled out – or 15,95 € for a pack of 10. I did not use the Tronxy “BuildTak” clone or the 300×300 mm² Conrad one on the picture, because PLA and PET just stick to the hot tile. What I did have to do was buy larger foldback clips. 😉

In fact: PET really sticks to the the hot stone. A Master Spool half made out of DAS FILAMENT PLA had a bit of dust on it. The second half, made of Formfutura “HDglass” PET roughed up the surface completely (and is still “powder-coated”), afterwards even Wood-PLA (PRI-MAT3D Wood Oak) tore out chunks!

Syncing the Z-motors by belt is still on the ToDo-List. Once I have made that, I can finally start to use an exchangeable stick-on print surface again. Currently I have to expect a misaligned bed on every first layer and getting too high would ram the nozzle into that surface.

Below is how the X5S looks with Remixed Bed Leveling Wheel for Tronxy X5S and Other M3 Based Printers! by CallJoe. I also switched to the Flexible Z and Y-Endstop for Tronxy X5s by mojode for Z.

My Cork insulation is also depicted. Wanny buy some at Obi? Look in the Wallpaper-Department! I’m not so sure anymore, it Cork is a good idea, as that stuff may get dry and start to smolder. It didn’t do that until today, but consider something not only “non-inflammable”, but stuff that doesn’t burn at all.

But getting a flat, plane HBP is not the only problem if you own an X5S-Kit. Normally the discussion is “power”, even before the kit arrives or is ordered. Old heatbeds had only two solder pads for power. And their resistance usually was too high to surpass 70° C at 12 V, even with isolation. Unlike the older kits, mine not only had metal brackets for the Z motors, but also a three soldering pads on the HBP – dual power! As almost everyone warned about the production tolerances of that component I measured with a lab power supply set to 1V (while having a really proper JBC iron at hand for rewiring):

So the resistance is ~1.1 Ohm between “1” and “2” and ~1.75 Ohm between “2” and “3”, which results in ~0.7 Ohm, if you combine “2” and “3” and connect that opposed to “1”. That means Tronxy delivered the 24 V Configuration with a 12 V PSU and controller board. Why? Maybe because those 700 mOhm will send a current of about 17 A through their “Melzi” PCB and their MOFET? And because the heatsink on top of the TO-252 / DPAK is useless, as these packages send all the heat towards the circuit board? And the PSU is completely out of headroom once the HBP draws that current?

Don’t worry! My PSU dropped to 11.5 V, the HBP connector was at 11.15 V, but the solder pads of the HBP were 9.4 V. => The stock wires limit everything! 😉

9.4 V at 0.7 Ohm mean less than 13.5 A and 0.35 V drop over the complete PCB mean below 5 W to cool away. …OK, that is not “nothing”. (I have a 15 W soldering iron at home – just to put that value into perspective).

Just realized: I still haven’t ripped off that heatsink to take a look on the partnumer on the onboard-MOSFET… Later. ^^

First measure: Forced airflow. Second measure: Try to get the temperature with an IR thermometer… Third one: The thermocoule works better. Fourth one: Also cool the bottom with a skeleton fan holder (to limit print time).

But limiting print times, to let’s say 15 minutes or so, does generally not work to save semiconductors (dead by no later than a few milliseconds) or keep the copper from peeling off the PCB. And the “Heated Bed MOSFET Power Expansion Module” I had ordered was still under way.

Good thing I had a PC123 (optocoupler) and an IRFP48 (MOSFET) lying around to build one myself…

…but how to re-solder that massive HBP, while it acts as a heatsink to the solderign iron? Take the whole printer to work (where I had that 150W-per-tool-and-heater-directly-in-the-tip JBC iron)? Luckily we still had it’s predecessor lying around unused:

The two Weller irons add up to 2×80 W = 160 W, but did not work that good. Nevertheless they worked.

Another important point when upgrading the HBP is: Exchange that blue painter’s tape for Polyimide / Kapton! Especially if you have isolation under the bed, so you don’t see the NTC fall off. 😉

The wires? Yes, I also changed those – even after doubling the voltage and the resistance (and thereby halving the current without sacrificing power) I pulled four 1.5 mm² speaker cables throug the drag chain – which means even more current carrying capacity than 3 mm³ profile, because 2 x 1.5 mm² (AWG 16 in imperial or whatever) have more surface (to get rid of any heat). That speaker cable also happened to be extra flexible (more than seven-strand).

Sorry for the TinkerCAD-Links (you have to register to download the STLs), but I was in a hurry to replace the “stock” drag chain fixture. Firstly, my specimen was an abomination.

Secondly it would have forced the drag chain into it’s minimum bend radius – and if that would slowly kink one strand after the other, in the wire carrying the highest current in the whole machine, it would have burned down just that machine (if not the house) at some point.

So here is the link: X5S HBP drag chain mount (based on “tl-ban-2”)

OK, what about the rest of the moving parts?

As good as my “Mk8” (or ist it “Mk10” or are those numbers just randomly used, because those are used on the Creality CR-10 and the Anet A8?) hot end is: The feeder / cold end / extruder was rubbish.

I tried to print the calibration cube with the stock feeder, but neither adjusting spring tension nor driver current delivered enough force to feed DAS FILAMENT “Toms3D Infinity Blue” PLA through the hot end (at 220 °C). I ended up pushing by hand.

I am sceptical about direct drive extruders – they usually don’t have any spare torque. Furthermore Tronxy choose a “shorter” (which means less copper and thereby less torque) motor than the ones I was used to. And finally the resistance of the copper winding means the stock feeder motor doesn’t even get warm – no matter how high you set the stepper driver current. (And the heat comes from current and in an electric motor current means torque.)

As I was curious how it would do, I fitted a B’Struder with a “full length”, 5V NEMA17 stepper and a Mk7 drive gear. And, like with the hot end, I was positively surprised! That thing worked flawlessly – no need to bring on RomanST’s geared extruder or even the enormous Dual Drive Bowden Extruder. Those are still kept in reserve, as I had them on the precursors (so I don’t have to sprint spare parts), but the B’Struder works.

This motor is now the only one, where I had t o check the temperature to set the current limit to a certain value. The smaller Tronxy ones just dont’t get hot (so the drivers don’t get hot, so the PSU doesn’t break sweat).

Final moving part for today: The Belts and their idlers.

The stock “625-bearing-towers” were instantly taken apart by me. What a stupid idea to use split washers as spacers! Of course the bearing will get crooked immediately.

First prints were made with plain washers I had lying around. Then came the “classic” (5-digit “thing-number”!) Idler Pulley for 625 Bearing by lincomatic. And they were even worse (listen to the teeth constantly bouncing off the straight edges in the video below)…


…but they were made with OpenSCAD and I could modify them to meet my needs:


//variables (mm)
bearingOD = 16;// bearing diameter
bearingwidth = 5;
beltwidth= 6;

slopfactor = .2; // it printed a bit tight on my printer so i added this slop factor to make the hole slightly looser.. you may not need it

thickness = 2;

	idlerID = bearingOD + slopfactor; 

	idlerOD = idlerID+thickness;
	$fn=100; //faceting

//these are the lips that hold the belt on
	lipheight = 2.5;
	lipthickness = 0.5;
	topangle = 60; //the angle the top lip overhang makes. You can increase this to lower the idler profile.

        // Bottom
        cylinder(r=lipheight+idlerOD/2, h=lipthickness);
        // Walls
		cylinder(r=idlerOD/2, h = lipthickness*2+beltwidth+2*lipheight*cos(topangle));
        // Top
		translate([0,0,2*lipthickness+beltwidth+2*lipheight*cos(topangle)])cylinder(r=lipheight+idlerOD/2, h=lipthickness);
        // Chamfer, bottom
		translate([0,0,beltwidth+2*lipthickness+lipheight*cos(topangle)])cylinder(r1=idlerOD/2, r2=lipheight+idlerOD/2, h=lipheight*cos(topangle));
        // Chamfer, top
        translate([0,0,lipthickness])cylinder(r1=lipheight+idlerOD/2, r2=idlerOD/2, h=lipheight*cos(topangle));
    // Hole, Bearing
    translate([0,0,-.1+lipthickness+(beltwidth-bearingwidth)/2])cylinder(r=idlerID/2, h=lipthickness+beltwidth+lipheight*2-(beltwidth-bearingwidth)/2);
    // Hole => inner lip to hold bearing
    translate([0,0,-1])cylinder(r=idlerID/2-1, h=lipthickness+1+(beltwidth-bearingwidth)/2);


Much better:


But enough for today.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.