Embiggening the TronXY X1 3D Printer (Long Version, Now With Firmware Stuff!)

by rmmstnr in Workshop > 3D Printing

2003 Views, 11 Favorites, 0 Comments

Embiggening the TronXY X1 3D Printer (Long Version, Now With Firmware Stuff!)

Modded Printer 2.jpg

Hello everyone! This is a more detailed, much longer version of my guide on modifying your TronXY X1 3D printer with bigger axes and a heated bed located here:

https://www.instructables.com/Embiggening-the-TronXY-X1-3D-Printer/

It’s still a loose guide to help someone figure out how to design and undertake their own mods, but with more detail on how I came to the decisions I did. Still just a general guide, but perhaps one more suited towards beginner DIY'ers or those just curious as to the why's of what was done. Also, while I will go over how to physically attach and wire a heated bed, updating the control board firmware to actually use it will be covered elsewhere at a later time. Altogether these mods cost me about $112.95, but with a little shopping around (the $50 power supply could've been had for dirt-cheap if not free with a little time and searching) and different design constraints (this was meant to support two heated beds down the line), a far cheaper end result can be achieved.

To get things started, I often hear the question: “why not just buy a fancier printer?” For me it was a couple of reasons. I already had the TronXY printer as part of a college course I was taking, so the up-front cost was not something I had to contend with. Also, if I had already purchased this as a low-cost means of seeing what 3D printing was all about, it’d be a shame to throw it out and start anew after having mastered its base capabilities. Finally, I wanted to learn more about the finer points and details of computer-controlled machines so I can eventually build bigger, better, and more capable machines from scratch. Now, on to the actual printer stuff.

Supplies

TronXY X1 3D Printer

2040 and 2020 V-Slot Rail

6mm by 2mm pitch timing belt

2020 and 2040 angle brackets with T-nuts with associated M3 and M5 screws

1/16" Thick Garolite sheet (optional, sized to fit your bed, 1/32" ought to be fine, perhaps better)

3/16" cork sheet (optional)

100% silicone sealant (optional)

Heated bed (optional)

MOSFET power switch (optional)

1/4" thick acrylic sheet

PLA for printed parts (only needed 30-40 grams or so)

12V Power supply of your choice (optional unless heated bed is desired)

Tools:

Eye & Hearing Protection (long sleeves recommended for cutting optional Garolite)

Pencil (or pen, Sharpie, scribe, etc),

Ruler (preferably a combination square and ruler)

Cutting Device for belt (scissors work fine)

Cutting device for acrylic sheet (circular saw recommended)

Cutting device for optional Garolite (box cutter or cutoff wheel, it's a matter of time vs mess, noise, and stink)

Drill (recommended bits: 1/8", 3/16", 3/8" Forstner)

Centerpunch or pointy object (a nail or something similar would be fine)

Hex wrenches from printer

M5x0.8mm Tap and tap handle or adjustable wrench (optional)

Files and sandpaper (recommended, not strictly necessary)

The Thinking

20220225_193840(2).jpg

Now that that’s out of the way, I decided to do this reusing as many parts from the original printer as possible to maintain a semblance of frugality. I received a free 220 x 220mm 12V heated bed (normally ~$15), and so the project was to be designed around that. The overall idea was to leave room for further expansion into a 220 x 440mm heated bed composed of two of the 220mm ones attached to a larger carriage. From there I started to get a little more detailed. I wanted to use the same style of V-Slot rails to make use of the hardware that came with the printer (including a fair amount of extra screws, nuts, etc.). I also wanted to keep using a removable, flexible bed plate like the stock printer as I had gotten used to just flexing the plate to get prints of instead of prying.

To figure out how I was going to do this, I made a quick drawing reasonably close to scale. This gave me a decent idea how to proceed (using an eraser is much cheaper and faster than scrapping parts and buying new ones). If you can make CAD drawings, all the better as you can see conflicts and issues before they happen. For me, the plans changed a number of times down the line as I got the new insight that comes along with having physical components in front of you and thought up newer and (seemingly) better ideas. The numbers used were either educated guesses, or conversions of my native units of measure (inches and feet).

The Planning: Y-Axis & Bed Carriage

Bed Carriage Comparison.jpg
Old Bed Carriage And Bed Plate 2.jpg
New Bed Carriage (Modded).jpg

For the 220 x 440mm bed to work, I decided to use a Y axis approximately 600mm long. To get that, I took the stock bed size (150mm), found the difference between that and the desired bed size (440mm in length, -> 440mm -150mm = 290mm), then added this difference to the stock Y axis rail length (250mm, -> 250mm + 290mm = 540mm). The mathematically minded of you may have noticed a discrepancy, namely that 540mm is not 600mm, or even ~600mm. That is because I wanted bed stability to be far greater than the original setup (larger prints = heavier prints, taller prints mean effects of any existing wobbles are magnified).

To accomplish this, I dis two things:

1.) I made the Y-axis rail a horizontal 2040 V-slot rail, widening the track width of the bed carriage, raising side-to-side bed stability.

2.) I lengthened the wheelbase of the bed carriage, increasing front-to-back bed stability.

3.) I widened the carriage-to-bed plate attachment points to the far corners of the bed plate (where the mounting holes already existed.

The last two parts greatly increased the size of the bed carriage, meaning the bed itself would overhang the ends of the rail far less at the ends of its travel, necessitating a longer rail. To better illustrate this, check out the pic of the stock bed plate on the stock bed carriage plate, it says a lot.

Looking at the pic of the original bed plate and carriage plate, you can see how much overhang the original setup has at the cost of having all the wheels scrunched together, as well as having odd placement of the bed mounting screw holes. The new carriage plate has a much wider stance and the mounting points are as far out as possible (dictated by the bed, but also nice for stability). A decent amount of overhang could be designed into the carriage plate by removing material from the centers of each edge, making it kind of “X” shaped (seen below), but I decided not to bother with the single bed iteration as this was just a proof of concept before doing the big bed. For those going single bed, it might look like the extremely expensive contracted artist rendering with the red lines denoting the new contours.

To get the bed carriage track width (spacing between wheels, width-wise), I added 20mm to the stock carriage track width and subtracted about 2mm for slight pre-load on the wheels to hold the bed tight (40mm + 20mm – 1mm = 58mm).

Note: to ensure the wheels weren’t too tight on the rail I later did some light filing of the holes until the fit was just right. I'd rather sneak up on the correct width than accidentally overshoot and have to redo it. In hindsight, if I did end up with too loose a fit, I could have just redrilled the holes on the opposite sides, seeing as they wouldn't overlap.

The Planning: X-Axis & Z-Axis Rails

20220225_193840(2).jpg

The X-axis rail was simpler as I had no desire to modify the X-axis carriage (difference in new vs old bed width (220mm – 150mm = 70mm) plus old X-axis rail length (70mm + 310mm = 380mm)), giving me 380mm. It was cheaper for me to get a 400mm rail, so I did. Oddly, it was only ~2 dollars more for me to get four 400mm 2020 V-slot rails with free shipping than it was to get one and pay for shipping (go Amazon…), so I got the extras in case of… something. I even sold one to somebody else modifying their own printer, so there's a little cash recouped there.

The length of the little 118mm rail connecting the Z-axis 2040 rail and the lower Y-axis rail I got from measuring the clearance between the stock bed and Z-axis rail (~8mm), then added half the bed width while forgetting to subtract 10mm for half of the Y-axis rail (8mm + 110mm – 10mm = 108mm). The 2040 rails on the bottom of the Y-axis are the old Z and Y-axis rails, just used as spacers so the wheels don’t hit the 108mm rail

The Z-axis rail length was similarly calculated, but with extra height for a remade Z-axis carriage that I decided not to make. The idea was to lessen the force on the Z-axis carriage wheels by moving the top wheel higher to lessen leverage on the wheel. The stock assembly seemed pretty stiff, so rather than make a new acrylic plate and modify the metal bracket by welding on an extension, I left it the way it was.

The Planning: Belt, Acrylic, Bed Plate

Timing Belt.jpg
Bed Assembly.jpg

The timing belt was 6mm in width, with a 2mm pitch (space between the teeth of the belt). Unfortunately, I needed just a bit over 1m of belt, which meant I would have to buy 2m as that was the next increment. I briefly considered getting some nice Gates belt, but decided to get the cheaper stuff until I knew I the design was right and tweaked to perfection. The cheap stuff was ~$10 for 5m, which was less than the 2m of the Gates product, so I’ll be fine to experiment with this stuff (SIMAX3D GT2 timing belt, found on Amazon). Estimating belt length was just a simple matter of measuring top and bottom of where they tracked and adding about 40mm for pulley wrap and to have a little extra to clamp with zip ties.

For the new bed carriage plate and base, I based the required acrylic dimensions from the drawing. The bed carriage was 220 x 220mm, and the base plate of the frame was going to be 600 x 228mm, meaning to get both out of a single sheet, I would need something roughly 820 x 230mm. Since all the suppliers of acrylic sheet that I can easily find use the old-timey measurements I’m more familiar with, the closest thing ends up being 3ft x 1ft (~914.4 x 304.8mm). I went with ¼” thick, which comes out to about $24 depending where you find it from.

For the bed plate, I went with ultra-high temperature Garolite (a fiberglass board that looks almost exactly like Bakelite, but is rated for 500*F (260*C)) from McMaster Carr, ~$16 for a 12”x12” sheet, 1/16” thick (304.8 x 304.8mm, 1.5875mm thick), though it would have been less than $7 for the 1/32” sheet. I went for the ultra-high-temperature version just to be certain it would handle many hours of the heated bed and hot extrusion without warping, while still allowing me to simply pop off the plate and flex the print off with no scraping.

Tip: If you notice any bow or warp in your bed plate, clip it to the bed with the bow facing down. The clips will flatten it out, and for heated beds increase contact with the bed for better heat conduction to the plate.

The Planning: Bed Insulation (For Heated Bed)

Cork Pads.jpg
100_silicone_kb_2-8oz_clear_00751_6x6.jpg

I went with a sheet of cork insulation to keep the bed carriage plate from heating up under the bed and possibly warping over time. It was about $5 for 4 12” x 12” 3/16” thick sheets (304.8 x 304.8mm, 4.7625mm thick), and does a great job of insulating as it turns out. I stuck it to the underside of the bed using ordinary 100% silicone sealant (~$6 for a small tube). According to the technical data sheet, it is good for 400*F (204.444*C) once fully cured. Be aware that unless you get fancy (aka: pricey) neutral cure silicone, it will get acetic acid (the acid in vinegar) on whatever it touches, so keep it off electronics. By insulating the underside of the bed, the bed has less of a thermal load on it, as now more of the heat goes up into the bed surface than if it was constantly heating the air (and carriage, and Y-axis rail…) beneath it.

The Planning: Electrical Stuff (For Heated Bed)

MOSFET.jpg

The heated bed is stated to have a resistance of 1.2 ohms, meaning at 12V it requires a current of 10A (12 volts / 1.2 ohms = 10 amps), meaning that the stock power supply which has a rating of 6A (which was already pushed to its limit by the stock setup judging by how warm it would get during use) was hopelessly inadequate. I used a Kill-A-Watt device to measure how much power the printer used prior to any modification, and found that average levels were 3.6W at idle, 17.1W while printing with the nozzle heater off, and 63W with the nozzle heater on. Using the 63W as the continuous power consumption of the printer (not entirely accurate as some of that is the power supply, but close enough), I mathed out 5.25A at 12V (63W / 12V = 5.25A) just for the steppers and heater. That means for my overall build with two heated beds, it would be 5.25A + 10A + 10A = 25A total.

I didn’t like the cheap units on Amazon with the screw terminals which ranged from $24-36, so I decided on an ATX power supply from a PC. I went this route because it’s easy enough to find used ones that are dirt cheap if not free (I actually used to have one I got for free that would have been perfect, but I tossed it long ago…), and they tend to live very long lives. There are of course plenty of unsettlingly cheap PC power supplies on the market as well, but for not much more than some of the spooky screw-terminal things online you can get a decent power supply with decent current overhead and even some 5V and 3.3V supplies if some Arduino wizardry is in your printer’s future (like will be needed to independently control the temperature of two heated beds).

Be aware, if you go this route you will have to look up pinout diagrams of the connectors, and if it is a used unit out of an old Dell for instance, it may differ from the more universal pinouts in aftermarket supplies. Also, I read some cheaper units have minimum power ratings, meaning if you only use the 12V from a unit with no load on the 5V rail, output may be unstable without a dummy load attached. I ended up getting a decent deal on an unused 650W EVGA PC power supply (normally $55-60 new), which is definitely overkill, but means down the line I could use it on a far more capable Frankenstein creation that has far more functionality. Thus far it has performed flawlessly despite no loading whatsoever on the 5V or 3.3V rails. As a bonus, I can control the power supply with a switch, meaning no more having to unplug the power supply to turn the printer On/Off, woohoo!

The bed taking 10A at 12V presents another problem: how is the power going to get to it? The TronXY X1 control board does have heated bed output terminals, but it likely cannot handle the rated power of this bed. As such, I purchased a MOSFET setup (30A rating, $12.99). It essentially acts as a solid state relay, so no moving parts.

Note: there are devices called SSRs (solid state relays) normally used to control AC voltages with a small DC voltage. These work similarly to MOSFET setups like the one I am using, but I am told that if used to control DC instead of AC, it will not shut off until power is manually removed. If you are considering a “mains” powered bed (120VAC wall power in the states), this may be just what you are looking for.

The Doing Part: Printing and Cutting Acrylic

2040 Tensioner (Mounted)2.jpg
Motor Mount 2.1.jpg
Cutting Acrylic (With Grinder Saw) 2.jpg

Holy cow! We finally got here, that took a hot minute. Before we start the "Doing" part, a quick reminder:

NOTE:
Before you disassemble your perfectly functional printer, be sure to print out any and all needed parts (the pieces I used are located further down). It’s not very fun having to reassemble your printer to make parts partway through. Even less so to do it twice… And now, back to our regularly scheduled programming:

I made a tensioner ( https://www.thingiverse.com/thing:5352508 ) and motor mount ( https://www.thingiverse.com/thing:5352513 ) for the Y-axis. I couldn’t quite find what I was looking for on Thingiverse, so I fired up Microsoft 3D Builder and used a couple items from the site as a basis for my designs. For both parts, I wanted the belt to be high enough that it didn’t rub the inside or top of the rail. For whatever reason, I found no designs that took this clearance into account, and none that mounted to a horizontal 2040 V-slot rail. Using some 2040 endcap designs and a very nice tensioner designed for the end of a 2020 rail, I designed the goofy-pink colored prints you see in the pics (the filament was on sale :/ ).

Then it was time to mock-up the frame rails on the acrylic sheet to verify the needed shape of the base plate. By leaving the protective paper backing on the acrylic, the entire layout process was made very easy. Once mocked up, I used a long straight-edge (framing square) to mark the lines to be cut, giving the base plate a somewhat triangular shape. The bed carriage plate was even simpler: I just traced outline of the bed and the bed mounting screw holes.

Safety Note: At some point I was looking at various angle grinder attachments and was taken aback by how many 1 star reviews went along the lines of "This thing is dangerous! How can this even be legal?", usually posted by individuals that had admitted that they were very new to angle grinders (many said they bought one for the purpose of shaping wood bowls and such).

As such, I just wanted to remind anyone who is new to such power tools that if it is meant to remove wood or metal as quickly and efficiently as possible, it will remove skin and flesh far quicker. I don't want to scare anyone off, but be safe, wear eye and ear protection, keep long hair/beards tied back away from spinny bits (including the cooling fan intake on tools, people forget about that) and perhaps practice on scrap first to get familiar with you tool. If something looks sketchy, it probably is, so examine the situation before proceeding. Enough being a Debbie Downer...

While you can use a handsaw to cut acrylic, it would take longer and I imagine you’d have to be very careful not to chip it. I went with a wood-cutting blade adapted to my angle grinder, though I would never recommend this setup over a circular saw (angle grinders spin much faster than circular saws, so if you don’t move very quickly there is an unpleasant plastic smell that quickly builds up). Either way, gear up with your PPPE (proper personnel protective equipment) such as eye and hearing protection. Also, it helps to not have your working area as absurdly cluttered as mine was at the time (not very safe and just unpleasant, by the way).

The Doing: Assembling Rails, Drilling Acrylic, & Tapping (Optional) Aluminum

Forstner Bit 2.jpg
Base Plate (Underside).jpg
Baseplate Sunk Holes 2.jpg
M5x0.8mm Tap 2.jpg
2040 Rails 2.jpg

Note: When drilling through acrylic, you can avoid tear-out or chipping of the backside of the hole by drilling with the acrylic on top of a sacrificial piece of wood or similar material. Even so, remember to ease off pressure on the drill as you get close to completely drilling through.

At this point I began to assemble the frame. Using more 2020 angle brackets from Amazon, I fastened the lower 2040 rails to the Y-axis rail. From there, I marked points on the underside of the base plate where I would drill holes to attach the rails via T-nuts by marking the centerline of the rail slots, then marking where I wanted the screws to attach to the T-nuts along that line. Once marked in pencil, I lightly (so as not to crack the acrylic) punched each mark with a center punch (if you don’t have one, a nail or other pointy object works fine), drilled through each mark with a 1/8" drillbit (this speeds things up and keeps the next part on center), then drilled approximately halfway through the underside using a 3/8” Forstner bit (seen in the pic).

This left me flat recess that beautifully fits the head of an M5 buttonhead screw without rubbing. I then opened the center of each hole to 3/16” so the screw could fit through. By saving the 3/16” drillbit for last, the Forstner bit is centered by the 1/8” pilot hole. If you drill the holes to 3/16” first, the Forstner bit would wander and make it very difficult to get an accurate hole. The additional holes on the bottom right of the underside are for the Z-axis rail and the angle brackets that stiffen it. Laying those out was trickier, but similar.

The Z-axis rail is attached to the base plate using M5 screws going into two tapped holes in the end of the rail, exactly like how the original Z-axis rail was tapped topside for the handle mount. These were not originally tapped on the rails I purchased, but luckily my tap and die set had an M5x0.8mm tap, so I tapped every one of these holes in each of the rails. This also allowed the use of the angle brackets to attach the lower 2040 rails to the Y-axis rail. If you have never used a tap before, you need to take great care to start the tap into the hole as straight and square as possible. Thread in slowly until the tap is in a few threads while ensuring you’re going in straight, and back out ½ turn before resuming, and backup often (roughly every turn and a half or two) as you proceed with the tapping.

The Doing: Drilling & Slotting the Bed Carriage, Insulating the Bed

New Bed Carriage.jpg
Insulated Bed (Underside).jpg

This is a good time to check the newly cut bed carriage to see if it clears everything by placing it on the Y-axis rail. If all is good, now you can layout and drill the holes for the bed attachment/adjustment screws and the carriage wheels. The bed attachment/adjustment screw holes are made by placing the bed on the carriage plate and tracing, (lightly) punching, then drilling the holes already on the bed. If there is sufficient clearance between the Z-axis rail and the side of the bed, the wheel mounting holes can be centered. If not, you’ll either have to offset the carriage or make a new longer version of the rail that connects the lower Y-axis rail support and Z-axis rail. When you lay out the wheels, keep in mind where the limit switch will be if the wheel is meant to actuate it.

The slots for the belts can be made by drilling a series of small holes and filing them into a smooth slot (will require a very small file, such as a needle or jewelers file), or a cutoff wheel on a die grinder or Dremel tool. An angle grinder can be used, but will result in a much wider slot. Keep in mind if you use a cutoff wheel, it will make a bit of a stink as such cutting tools do on plastic.

Note: It is highly recommended that new, unopened silicone be used if that is the chosen adhesive. Older silicone can have trouble fully curing, which is further exacerbated by how far the silicone at the center of the bed is from the exposed edge (cleaning it off afterward is an utter pain, and it gets everywhere). Even with fresh silicone, expect at least couple days until a full cure is achieved unless a very permeable insulation is used. To ensure a complete and full cure, I lightly spritzed the center of the cork with water to let a little moisture sink into it (the ambient air has a harder time getting down there now).

Note: Like mentioned long ago near the beginning of this guide, be aware that unless you get fancy (aka: pricey, harder to find) neutral cure silicone, it will get acetic acid (the acid in vinegar) on whatever it touches, so keep it off electronics. Not the end of the world, but undesirable nonetheless.

If you plan on gluing insulation (in my case, cork sheet) to the underside of the bed with silicone, the sooner the better as it takes a long time to cure. The cork sheet is easy enough to cut with a sharp box knife or something similar, but will crumble if a dull blade is used. I laid the bed onto the cork and used it as a guide for cutting the cork. Then you can cut the insulation to clear any electronic components as well as the plug. Once cut, ensure the underside of the bed is very clean, ipa (Isopropyl alcohol) works very well. Verify the insulation is properly cut and fitted, then spread a thin layer of silicone on the bed (a plastic spreader works very well for this). As noted earlier, take care to avoid any exposed electronics as they will be exposed to acetic acid by the curing process of the silicone.

Once a thin layer of silicone is spread to the edges, carefully lay the prepared cork onto the bed, and firmly press onto the bed. To ensure full contact I wrapped the bed and cork in aluminum foil (to keep from making a mess with any squeezed-out silicone, why a thin layer is desired), placed it on the ground, then stacked a bunch of heavy books on top. After an hour or so I removed the books and let it cure over the next 3 or so days (hopefully you have a warm place to keep it until the vinegar smell goes away). To help the silicone furthest from the edges achieve a full cure, I lightly spritzed the cork with water once or twice a day to dampen it.

I chose to make the screw holes in the cork after it was adhered to the bed as I figured it I made the holes prior, they would move and become misaligned as soon as I placed weight on it or left it to cure. I just spun a drill bit by hand through each hole in the bed.

The Doing: Assembly & Z-Axis Tricks

Z-Axis Motor Mount Conflict.jpg
Modded Z-Axis Motor Mount.jpg
Modified Z-Axis Height.jpg
New Bed (With Sticker).jpg

From this point, assembly is the same as the stock Tronxy X1, just substituting in the longer X and Z-axis rails and corresponding longer length of belt, though I would also recommend using this X-axis tensioner: https://www.thingiverse.com/thing:2870933 . It works beautifully and like my modified version that is based of of it, makes use of the stock TronXY X1 pulley parts.

Another departure from normal assembly is the gloriously simple trick used to gain an easy 40mm of Z-axis travel. All you need to do is attach the Z-axis motor further up the rail than normal, and if you really want the extra few mm, file the edge of the motor mount as seen in the pic.

By doing this you get an easy 7 1/16” (180mm) of Z-axis travel with the leadscrew level with the top of the acme nut on the Z-axis carriage. If every mm counts for you, another ¼” (~6mm) can be had by mounting the acme nut to the underside of the Z-axis carriage bracket instead of on top. If 187mm (7 3/8”) of travel is enough for you (it was for me, for the time being), then there’s no need to get a new leadscrew, saving a good $15-25, plus shipping.

At this point, if you are not doing the heated bed and ignored all of the related parts, Congratulations! You would be done. Without a heated, you can go with a cheaper bed plate, and if you do not wish to use painters tape or glue, the adhesive pad on the picture worked very well for me without heat. Unfortunately I don't know where to get it as it was on the free heated bed.

If you're going for that sweet heated bed action, continue for more fun and adventure...

The Doing: Installing On/Off Switch & MOSFET

Drilling Panel For Switch 2.jpg
Drilling Panel For Switch 3.jpg
Drilling Panel For Switch 4.jpg
Drilling Panel For Switch 6.jpg
MOSFET (Mounted) 1.jpg

I happened to have a cheap rocker switch available, and decided it would be perfect for this project. After removing the top, front, and back of the control box, I looked for the best spot for the switch. For me it was the upper left of the back plate of the control box (looking at it from the outside). I started on the rectangular 1” x ½” hole by centerpunching two marks, one ½” higher than the other. I then pilot-drilled each mark with a 1/8” drillbit before finishing each hole with a ½” drillbit.

I then began the lengthy process of filing the two holes into a rectangle, until the switch fit. To get the switch to snap into place, I beveled the inside of each edge of the rectangle until the little tines on the switch snapped into place, keeping the switch from backing out on its own. On this switch, the “3” terminal is only used if you want the switch to illuminate when “On” by attaching a power wire.

I then attached the heated bed power supply MOSFET to the back plate via some leftover screws and nuts with some leftover spacers using the ventilation slots that happened to match the screw holes on the MOSFET board perfectly.

The Doing: Wiring & Stuff

ATX Connector.jpg
ATX Connector (Depinning, Female) 2.jpg
ATX Connector (Assembled, Connected) 2.jpg
MOSFET (Mounted) 2.1.jpg
MOSFET (Mounted) 4.jpg
Control Box (Inside, Electronics Connected) 2.jpg

A useful resource for ATX connector pinouts was this site: https://www.smpspowersupply.com/connectors-pinout... . Be aware that all PC power supplies are not the same, and some found in computers can have proprietary pinouts that must be specifically searched for (I hear Dell does this with the supplies in some of their towers). I did not want to butcher the wiring on the power supply, so I spent an extra $12 on a 24 pin female to 20 pin male ATX power supply adapter and a 4 pin ATX extension cable. I then used some cheap depinning tools to depin then repin said connectors as I needed, leaving the power supply unmolested. As a side note, the modified depinning tool I used required quite a bit of force to work, and at one point the sharp punched edge of the cheap tool cut right through the protective rubber coating on the handle, as well as my hand. I’ll definitely be using gloves if I have to do this again.

As a bonus, I have a bunch of pre-terminated wires and the unused male connectors that I can add as necessary down the line, or use for other projects. It somehow ended up cheaper than buying the Molex terminals and bare connector ends and using my own wire. If you do end up going the DIY route, be aware that these terminals require a special crimper and do not work with the crimper/wire cutter combo tool you find in every auto parts, hardware, and hobby store.

The MOSFET unit from TH3D Studio was very simple to wire, the instructions being here: https://www.th3dstudio.com/hc/product-information... . The B-CTL connector (included) goes to the control board’s heated bed power output (HOTBED). The POWER + and – went to + and – of the ATX power supply’s 12V rail (I used 2 separate sources as I read the Molex connector is only rated for 6A per pin). The HOTBED + and – go to the heated bed + and – wires as one would guess.

The power switch was wired with the “1” terminal to a ground from the main ATX connector (a 20 pin in my case) and the “2” terminal to the green PS_ON#, though it could be done either way. Now the power supply (and printer) will be off when the switch is off.

The two sets of 12V power and ground wires from the 4 pin CPU connector went to the POWER + and – terminals on the printer control board, and the temperature sensor plug from the heated bed goes to the BTEMP plug on the control board. With all of the wires connected, the inside of the control box now looks quite busy, but some care in routing the wires keeps it from looking entirely like a disgruntled spaghetti monster.

If all went well, testing of the printer should yield a printer that doesn’t realize it's bigger yet. That can be taken care of in the next part.

The Doing: Software & Stuff

Screenshot (165).png
Screenshot (163).png
Screenshot (164).png

Now that your printer is bigger with expanded axes and such, we need to let the printer in on the good news. Right now it still thinks it has a 150mm cube of printing volume (or whatever the stock dimensions were. For the TronXY X1, changing this is as simple as connecting the printer to Repetier Host and typing in the new dimensions. Here’s how to do that.

If you haven’t already, install the Repetier Host program on your computer. The SD card included with the TronXY X1 has an older version on it, but you’ll have to go online for an up to date version. Start the program, power on your printer, and connect your printer to your computer using the supplied USB cable. Click the “Connect” icon in the upper left area of the Repetier Host screen. If the printer is powered and connected to the computer via USB but won’t connect to Repetier Host, try changing the baud rate by going to the “Config” header, and selecting printer settings. Open the Baud Rate dropdown menu, and try a different value (I had to use 115200). Hopefully clicking “Connect” will now connect the printer to the program (give it a few seconds after clicking, it takes a moment sometimes).

Once the printer has connected to Repetier Host, once again go to the “Config” header, and select “Firmware EEPROM Configuration”. From here you can now edit various settings such as the various axis lengths to reflect their new values. Unless you went with a heated bed, you are now ready to get to tuning and printing with your new setup! Congratulations for making it this far in this rambling novel of an instructable. For firmware changes, used to enable features like the aforementioned heated bed and thermal runaway protective functions (highly recommended from a safety standpoint), see the next step.

The Doing: Firmware & Stuff

Flash firmware to 3D printer without boot loader

While this can also be done before the last step, for me this ended up being the last part. After much, much searching and trial & error using other guides, I found this video which got me through the process. Kudos to Keith's Pi Tutorials! It is very thorough, and even goes over stuff that I never saw in any of the other guides, such as display settings in the Repetier Firmware Configuration Tool, and the outlined method of adding Sanguino cores to the Arduino IDE was much simpler (and for me, actually effective) than other ways I've read through.

I hate to get this far into the guide just to point you somewhere else, but until I complete a detailed write-up, this is where the guide is (I will continue updating this, and even release a stand-alone guide for firmware updating/modification).

As notes to accompany the video, I used all of the settings I saw in the video (I paused and noted what was shown when the Repetier Firmware Configuration tool was onscreen), but will mention that the Resolution (EXT0_STEPS_PER_MM) of 93.45 from the vid works (somehow I ended up with a value of 370 or something, and quickly discovered the issue after trying a test print), and INVERT_Z_DIR (under the Mechanics section of the tool) must be enabled, otherwise the TronXY Z-axis will function backwards. Also, for the heated bed I used, the temperature sensor settings work well, and track with my own measurements. Some of the settings used can be taken from the “Firmware EEPROM Configuration” table seen in the previous step, so you might want to screenshot that or keep it up as you go through the Configuration Tool.

I was lucky enough to be able to borrow an Arduino UNO for this project, but have purchased a NANO EVERY to experiment with (if anyone wishes a future guide on how to use that for burning a bootloader or updating firmware, let me know). If you have an UNO or can borrow one like I did, the video has you covered, but for pinout diagrams of various other Arduino boards, here's Arduino's own source:

https://docs.arduino.cc/

I realize this part of my guide isn't particularly detailed, but more stuff, including a walk-through, pics, and an example heated-bed enabled firmware (compatible with the stock control board and display) will come once I do some more testing and fine-tune what I've got.

https://gowustl-my.sharepoint.com/personal/m_puli...

Here is a copy of the firmware I am running currently, it should be an example to go off of if you're running a TronXY X1 (btw, I changed the model to X1000 instead of X1, 'cause that way it's 1000 times better). Don't forget to go through the EEPROM settings to tailor things to your application, and you can also upload this to the Repetier Configurator Tool ( https://www.repetier.com/firmware/v100/index.php ) and tweak things further to your desires.

Tuning & Tweaking

20220522_115543.jpg
20220522_115557.jpg
20220522_115705.jpg
20220521_140811.jpg
20220521_140857.jpg
20220521_140908.jpg
20220521_141321.jpg

It's been a hot minute since I got the printer ready to try to print and now, but I have gotten caught and have two successful prints (and one goof-up) outta the printer. Anyway, here's the initial setup and printing.

After all of my initial functionality checks (making sure everything moves the correct amount and direction, the temperatures act as they should, etc.), the first thing I did was level the bed. I found that there was almost 1/4" (6.35mm) of difference from side-to-side (X-axis) with the adjustment screws adjusted the same, so I adjusted the fitment of the X-axis rail on the Z-axis carriage to get it closer to square with the Z-axis (I didn't want the screws on each side to be so far off each other). This required removing the Z-axis carriage to get to the screws on the backside of the rail. After that, adjustment was much nicer.

The 1st attempt was of course a Benchy, which quickly illustrated that the extruder steps-per-mm was WAY outta line (370 vs the 93.45 I'm currently running) and that bed adhesion was not great. I raised 1st layer bed temperature from 55*C to 65*C (letting the temperature drop back to 55*C afterwards; I figured the bed plate insulated the heat enough that when the printing just started, surface temperature was still coming up), and of course changed the EXT0_STEPS_PER_MM.

After that, the Benchy came out pretty good other than some wicked elephant's foot. I left initial layer extruder temperature at 200*C while having subsequent layers drop to 198*C. I was very happy with the surface finish of the bottom of the print, it came out beautifully smooth and shiny. I called it good and then just skipped to the first real print.

For the first non-test print, I chose the first thing I printed that really showed significant edge lifting; the base to a phone holding system ( https://www.thingiverse.com/thing:2194278 ). Whereas the first version was printed at 88% scale to get it to fit on the bed, I printed this one at 135% scale to take advantage of the new print area and yield a wider, more stable base as a bonus. It came out pretty good, though a 3rd top layer would have improved the look of the print (I only did 2 walls and 2 top and bottom layers for expediency).

I was very happy to find the bottom was extremely flat, with no light shining through underneath, and still with that beautiful surface finish on the bottom! I realize that was the entire point of the heated bed, but still, it's good to see results. Contrast that with the picture of the old grey base, and you can see what a step up this was. Full mm of lift over less than 70mm of length to tiny fractions of a mm of lift at a full span of over 200mm; not bad.

Subsequent checking with a straight-edge revealed just thousandths of an inch of lift (difficult to get the corner of a piece of paper underneath) in the center of the print instead of the edge. I'm curious if this can be remedied with a less flimsy printed structure (lightning infill at 15%, so effectively no infill support at the bottom, and 2 walls, and top and bottom layers), though this is more than enough accuracy for my needs. Either way, this won't be rocking like the old one, so I may actually be able use this phone holder.

If you are curious, I use Ultimaker Cura as a slicing program, and am
very happy with it, and use Microsoft 3D Builder to make or modify print files (I can't seem to get a handle on the various CAD programs out there). If anyone has things, thoughts, or questions they might add or recommend, by all means share!