Anyone here have a Tronxy X5S?

The SD card isn’t reliably detected, and print from USB isn’t working either. The former seems to be faulty component, the latter firmware problem.

I’m removing and reinserting the SD card about 5 times each time I go to print. I’m not planning to debug this, instead I’m moving toward using a replicape ASAP.

Since I wanted to use a BLTouch, I abandoned the controller it came with and went with a cheap GT-2560 A. It doesn’t have an SD card, and I couldn’t get the screen that came with the X5S to work with it.

But OctoPrint on a Raspberry Pi connected via USB works like a charm. And can be controlled from my desk on the other side of the room or monitored with the camera elsewhere in the house.

slic3r didn’t like the light but stiff Y carriage design I wanted to print, but I didn’t like how cura sliced it, so I used both FreeCAD and OpenSCAD to make a model that both versions of slic3r will slice. I haven’t printed this version yet because the printer has about 8 hours left to go printing euclidean and archimedean solids for my family mathematician. :relaxed:

(I previously printed it sliced with cura in ABS, but I wasn’t satisfied with the print, and PLA+ is so much easier to print with…)

Finally finished this step of moving toward using a Replicape: https://github.com/johnsonm/Replicase

Upgraded firmware to 1.1.8 and it fixes a lot of my annoyances with the included firmware: https://github.com/johnsonm/Marlin/tree/tronxy-x5s-1.1.8

Using 1.1.8 and bed mesh leveling with 5 points each in X and Y, I found a distinctly not-flat bed:

echo:Mesh Bed Leveling:
echo: M420 S0 Z0.00
echo: G29 S3 X1 Y1 Z0.03000
echo: G29 S3 X2 Y1 Z-0.10000
echo: G29 S3 X3 Y1 Z-0.21000
echo: G29 S3 X4 Y1 Z-0.26000
echo: G29 S3 X5 Y1 Z-0.30000
echo: G29 S3 X1 Y2 Z0.17000
echo: G29 S3 X2 Y2 Z0.16000
echo: G29 S3 X3 Y2 Z0.16000
echo: G29 S3 X4 Y2 Z0.14000
echo: G29 S3 X5 Y2 Z0.01000
echo: G29 S3 X1 Y3 Z0.14000
echo: G29 S3 X2 Y3 Z-0.00000
echo: G29 S3 X3 Y3 Z-0.02000
echo: G29 S3 X4 Y3 Z0.04000
echo: G29 S3 X5 Y3 Z0.07000
echo: G29 S3 X1 Y4 Z0.10000
echo: G29 S3 X2 Y4 Z0.20000
echo: G29 S3 X3 Y4 Z0.26000
echo: G29 S3 X4 Y4 Z0.18000
echo: G29 S3 X5 Y4 Z0.11000
echo: G29 S3 X1 Y5 Z-0.26000
echo: G29 S3 X2 Y5 Z-0.15000
echo: G29 S3 X3 Y5 Z-0.21000
echo: G29 S3 X4 Y5 Z-0.25000
echo: G29 S3 X5 Y5 Z-0.25000

How much of that is the glass and how much the bed itself I don’t know, but total variance of over 0.5mm makes some of the printing problems I’ve had clearer. I’ve heard that mirrors are flatter and plan to switch soon.

For moving to replicape, which does not have dual connections for the Z stepper driver, I don’t want to slave E to Z; I’d like to leave E for a second extruder at some point. That leaves choice of parallel or serial. Serial makes a lot more sense to me because I’ll get full configured current through each stepper.

http://www.instructables.com/id/Wiring-Your-Z-Stepper-Motors-in-Series/ shows a nice harness technique visually, including suggested heatshrink tubing sizes to make things work well. I probably should have pulled the pins and put them into the empty JST header, but decided that just heat-shrinking them together is good enough for now.

https://plus.google.com/+MichaelKJohnson/posts/DcYfj6rDv7a — I’m now thinking of completely replacing the bed, rather than trying to work around the warped bed with thicker glass with poor heat conduction.

My writeup on what I did to update my X5S to my own build of Marlin 1.1.8, which fixed bugs (like USB not working at all) and opened up new features (like manual bed leveling), is at

The X gantry started to wobble, which started wrecking prints. I replaced the M5x30 lower wheel bolt with a high-quality M5x45, thinking that I could use a zip-tie to provide tension on the back. It turned out that just using an M5x45 with a long shoulder was, at least for now, enough to resolve that wobble.

I haven’t yet come up with a good design for replacing the X gantry with something based on openbuilds gantry plates, which is a pity since they currently have a special on shipping. :slight_smile:

Y gantry movement is very stiff, even without belts installed. It would make sense if that were related to the occasional skipped steps I’m seeing. I hadn’t seen that since I increased the stepper motor current (though I don’t know what the reference is, so I don’t know to how much) but it happened today about 4 hours into a ~24hour print. Could have been worse, I guess!

The unsupported bolts through 4mm acrylic and a nylon pillar can’t be helping. The wheels are shedding plastic as they rub. Linear rail?

Linear rail and ATP-5 plate are both on order, and SSR and 120V Keenovo heater pad have arrived. Planning a kinematic mount for the new bed. Meanwhile, “thermal runaway detected” two prints in a row so either I have a bad thermistor or I need to PID tune my new merlin build—but if it’s PID tuning, why have I successfully put about a kilo of filament through on that build of Marlin? I also notice that I seem to have a fan mosfet failure on the board, so probably a sign that it’s time to try the replicape conversion again and hope it works better this time. I was kind of hoping to wait until I did the bed conversion so that I could get rid of the 12V power supply altogether, though.

Thinking of getting a bit radical with the linear rail and milling aluminum for gantry brackets and extruder carriage, instead of following the reprap “print everything in plastic” practice. For the gantry, that might let me make a light and simple T bracket that is stiff enough and much easier to disassemble.

Mark Rehorst put his kinematic mount adjustment screws into teflon as a thermal insulator for UMMD,¹ but I don’t believe in the need for that. The contact area is small, and steel has roughly a quarter of the thermal conductivity of aluminum generally. My plan is to use acorn nuts on the end of adjustment screws for the three-axis and two-axis constraints and a flattened screw for the single-axis constraint, rather than using ball-head screws that have to be adjusted through a hole or slot from the top. This way the adjustments can be from below the bed (as now) instead of requiring through-holes in the bed plate.

Mark put his three-axis and two-axis constraint chamfers on tabs across the middle of the plate. I’m planning to mill two chamfer sets on the bottom of the plate; one set using existing holes at the back of the printer for the three-axis and two-axis constraints, and one set at the middle of the plate that would require modifications to the bed structure in case the first ones are a problem. I’d rather do all possibly-needed milling before I attach the heater to the bed. The heated pad is 300x300mm on a ~333x333mm bed plate (I ordered 13.25" x 13.25" to give a little room), so I’ll have 16mm along the edge to add the chamfers. That’s more than enough, since the bed should expand by less than 1mm when it is heated!

Note that this proposed mechanism has no springs to protect in case of a extruder head crash. Don’t do that then? With a really flat surface and single-start Z screws, I should be able to avoid a head crash. I hope. [Edit: Actually, there’s no reason I couldn’t use the existing springs.]

¹ https://drmrehorst.blogspot.com/2017/07/ultra-megamax-dominator-3d-printer-bed.html

In my build of Marlin, I was using the default Ultimaker PID settings that were also in the source dump provided by GearBest for the printer:
M301 P22.20 I1.08 D114.00

After M303 C7 E0 S240:

Classic PID
Kp: 11.19 Ki: 0.57 Kd: 55.23
PID Autotune finished! Put the last Kp, Ki and Kd constants from below into Configuration.h
#define DEFAULT_Kp 11.19
#define DEFAULT_Ki 0.57
#define DEFAULT_Kd 55.23

So I added that to my Marlin fork at GitHub - johnsonm/Marlin at tronxy-x5s-1.1.8

Those PID values are close enough (within a factor of two) that I’d expect the to be OK. So I don’t think this is the key to “thermal runaway detected”, sadly. :frowning:

Finally found PEI in 13"x13" at https://www.amazon.com/Soosee-Sheet-Printer-Surface-Adhesive/dp/B07B6281CS — I looked without success on amazon and ebay several times before.

https://www.amazon.com/Soosee-Sheet-Printer-Surface-Adhesive/dp/B07B5YW6WN — same thing in 0.5mm

Linear rail arrived today. I finally realized, a bit late, that MGN12H is all M3. I have not enough short M3 bolts and no M3 T-nuts, only M4 and M5. I need M3x8 for mounting the rail to the 2020. There is 3.5mm of depth in the block for mounting screws. There’s no perfect combination of standard M3 screw length and US standard aluminum stock thickness for the block mounting screws. I’d like to leave 0.5mm allowance, so 5mm stock and M3x8 would be perfect. I think I’ll mill 1.35mm pockets in 1/4" plate around mounting holes.

My idea is to mount the rail to the top of the 2020 extrusion and replace all the motor and pulley mounts with properly-aligned mounts milled from aluminum stock. I’ll also probably replace the two-z-motor arrangement with a single z motor driving both Z rods with timing belt.

I now realize that the 450mm linear rail and the resulting re-design might mean I could have gone to a larger bed, 14x15" or maybe even 15x15" — but then the heater would have been more expensive and really this is already big enough.

I’ve stripped the printer back down to a frame with corner braces and empty vertical drag chain. I have started what will be essentially a custom build that shares a few components with the donor X5S.

Belt drive for Z is coming together. I’m so glad I never got around to cutting down the 500mm single-start 2mm lead 2mm pitch trapezoidal lead screws I bought; now I could use an extra few more centimeters conveniently.

I bought trapezoidal pillow blocks for the bottom to go roughly where the Z motors went. I drilled holes in the X rod plate matching the holes in the pillow blocks, then milled spacers out of 1"x½" stock to move the pillow blocks higher. I’m not 100% convinced that having trapezoidal pillow blocks at the top of travel is helpful; it feels like it might be over-constrained, so I’ll just leave them off for now; I can add them later. But the 500mm lead screws reach only to about 13.5mm below the bottom of the top 2020 extrusion, so if I do need pillow blocks at the top I’ll need to mill more spacers.

I’m putting 20 tooth 8mm inside diameter pulleys on the lead screws, and driving with a 40 tooth pulley on the stepper motor. I have a 570 tooth (1140mm) belt loop around it. I’m mounting the motor on a piece of ¼" plate that I’ll attach to the bottom of the lower 2020 extrusion, so the bottom of the motor will be aligned with the bottom of the extrusion. The spacers under the pillow blocks help everything line up so the belt will be planar. I plan to put an extra belt loosely around the base of the lead screw mechanism so if the belt ever breaks I can put a new one on without doing lots of disassembly.

I wrote: “Note that this proposed mechanism has no springs to protect in case of a extruder head crash. Don’t do that then? With a really flat surface and single-start Z screws, I should be able to avoid a head crash. I hope. [Edit: Actually, there’s no reason I couldn’t use the existing springs.]”

Having taken the printer apart, I now see that the six existing bed mounting holes are about 3.6mm wide; more play than I’d like for a kinematic mount with M3 screws and springs holding up the bed, but wider than will give me a good tap for M4 for a hard-fixed bed.

I want to avoid play side to side, and it would be nice to have some protection against damage from head crashes. A potential downside of the single-start trapezoidal lead screw in this instance is that the additional leverage means that I can’t count on stalling the stepper motor before I do damage.

Perhaps I should start by wrapping M3 screws in teflon tape as an ersatz bushing and thermal barrier. This would let me spring-mount the bed. If it works reasonably well, I could perhaps drill the holes out a bit wider and turn some small delrin bushings, or perhaps leave well enough alone. I don’t think I could turn 3mm ID 0.3mm thick bushings very well, though maybe it wouldn’t be so hard? I haven’t turned bushings less than 1mm thick so far, though. Might be a fun challenge?

I assembled the Z stage movement. This is two 20-tooth pulleys on the single-start 500mm lead screws and a 40-tooth pulley on the stepper motor, with an 1140 mm 570 tooth 6mm wide GT2 belt around them. The motor is mounted on the inside of the frame, with the bottom of the motor aligned with the bottom of the frame. The motor is mounted on a flat piece of aluminum stock (1/4") as wide as the motor and as long as the motor plus 20mm for the frame, and drilled appropriately to mount with t-nuts to the bottom of the frame and with the existing M3 screws to the motor (the same screws previously used to connect the motor to the motor plate).

The lead screws are set in trapezoidal pillow blocks mounted on top of 1/2" stock, held down to the frame with M5 screws, going through holes I drilled in the existing motor plates, and tied into the frame with M5 t-nuts.

The trapezoidal nuts were replaced with single-start nuts to match the new lead screw and the whole thing assembled back into the frame, with two belts in place as planned. I aligned the two sides where they bottomed out against the pillow blocks for a reasonable initial reference. I turned the screws quickly by stripping belt over the lead screw pulleys. When the Z carriage was near the bottom, I had substantial wobble at the unconstrained top. Therefore, I expect to machine two more 1/2" spacers and use pillow blocks at the top of the frame, like how it was initially shipped except with the spacers added. Longer lead screws might be a little more convenient but honestly I don’t think it needs to move higher. Apparently the lead screws are sufficiently flexible that this isn’t an overconstraint in practice.

Because I’m using 20 teeth on the lead screw and 40 on the motor, the move from 4-start to 1-start lead screw will only double instead of quadruple my steps per Z mm. Downward pressure on Z won’t make the bed creep. And a single stepper with a belt around the two lead screws will keep the two sides in sync. I like this better than the dual motor design.
missing/deleted image from Google+