My custom Cartesian

  • This one is going to be long, just so you know... 😉 Scroll to second post for current state.

    The Journey

    So, only at the end of March 2018 I started with 3D printing. It was an article in the Make Magazine (Germany) that recommended the Anet A8 as an affordable printer that, with some tweaks - some of them for security others for quality - would make a decent printer for about 250 €.

    I saw a teaser to that article a lot earlier and did not even consider 3D printing at that time but a friend of mine buying the magazine triggered me into diving in this new hobby. I chose the Anet A8 based on the knowledge that I primarily buy this printer to print upgrades for the printer itself. A self-contained hobby so to speak.

    So I went ahead and ordered the printer from TomTop which had the best price at that time for a model that was already in the EU and supposed to have short(er) delivery time. While waiting for the machine I was watching hours and hours of video on YouTube about other people also using Anet A8 as well as 3D printing in general.

    I also ordered some upgrades immediately to improve or (even more important) make the printer more secure from the start. I read and heard a lot about the weak connection of the heated bed where they only used 2 of 4 available connections and too thin wires, so I ordered additional pairs of pre-made connector pins as well as thick wires. I ordered a MOSFET to control the power to the bed as the connectors on Anet's mainboard were known to be totally underrated for this task. Also some insulation for the heated bed, Igus drylin bearings (the cheap ones), mirror tiles from Ikea to be used as a print surface and also GT2 belts - not the original Gates but still those with glass-fiber instead of the default steel-fiber belts that come with the Anet A8. I also wanted to order a much more rigid holder for the heated bed but it was out of stock as the shop that was recommended for all the parts by the Make Magazine did not inform the shop owner in advance and he suddenly was swamped with orders and had a hard time to keep supplies coming in.

    So, I built my Anet A8 never in the fully original state as I never used the belts or the linear bearings that came with it. To my positive surprise Anet seem to have reacted on the several reports of houses burnt down due to the weak heated bed connections (or heater cartridges falling out of the hotend) and upgraded these cables to be much more appropriate. Still I added ferrules where necessary and added a second pair of 2.5mm² cables running from PSU to the MOSFET for feeding the bed.

    I got everything setup according to some build-videos on YouTube as well as some recommendations from the Make article and first test print was of a much better quality than I would have expected after all I read and heard about this printer before. It was almost at the level that I had seen when folks posted their results at the end of all their improvements - and I got them from a nearly stock model. But I also had the luck that all of my smooth rods were perfectly straight and not bent as a lot of other people.
    But no reason to stop there. 😁

    Next steps then were to finally get the then available-again holder for the heated bed and get the heated bed to a proper 3-point leveling - Make already recommended 3-point leveling but they said to just leave one of the four corners without a screw which led to a lot of oscillation when the bed moved quite fast. The new holder for the bed also allowed me to change it from a 4-point fixing to a 3-point fixing on the smooth rods as Prusa i3 is using. At that time I also switched from spring-suspension to suspension made from silicon rubber.

    Printed a lot of improvements for my printer such as belt tentioners, frame rigidifiers, holders to allow to screw the printer to a wooden plate it was sitting on, a shroud for the PSU, a holder to attach the MOSFET properly to the frame, filament guide, a cover for the filament release screw, another part cooling duct and so on - small stuff that most people print to improve their printers.

    Of course I also read about the problem that Anet had just disabled thermal runaway protection in their flavor of Marlin that was running on the printer so the next important change was a switch to the latest version of Marlin and man, that was great. I have no idea why but the printer suddenly was less noisy in some situations. Where it was "playing a song" when doing circles before it now was not longer distinguishable from sounds it made when printing straight lines - but that was still much too loud.


    There were multiple reasons why my printer needed to be more silent. First of all my wife was complaining about the noise - and as she is home most of the time and prints mostly run throughout the day (when I am not at home) I can absolutely understand that she was annoyed.

    So, I went on the journey of getting this printer more silent. Or actually my goal was to have the most silent printer possible at a given speed.

    The Igus bearings already helped a lot from the start. But a Nema 17 damper that I installed on the Y motor (which I identified of being the loudest) did not make a noticeable difference.
    WD-40 helped a lot on the lead screws of the Z motors with their brass nuts though. 😁 These were finally swapped against ones made from POM though that again significantly reduced the noise of this part of the machine.

    Also replacing the hotend fan that made a terrible noise by a ultra-silent model was... worlds of difference. This fan was always on when the machine was powered and you could hear this thing screaming all through the house - even with the door closed. I have no clue how you can even build such a loud fan. 🤦 After the change the machine was totally silent in stand-by with the new fan running at full blast. I can hardly hear it with my ear next to fan. That helped also a lot.

    Another factor was putting it on a thick rubber mat that usually is used to put a washing machine on. That damped a lot of vibrations that were before going to the table it sits on - and that then acted as an amplifier.

    Trinamic is Silent!

    But it was rather clear to me that with the original mainboard and its cheap stepper drivers (I have no clue what they are actually using below these tiny heatsinks) there was no way of getting a really silent printer. I had seen some videos on TMC2130 conversions and one was particularly impressive where a (German) YouTuber moved his modified Anet A8 with the microphone next to the printer and it was barely audible and im comparison he moved a stock one across the room and it blew my ears. So OK, it had to be TMC2130 with stealthChop.

    I started comparing various possibilities how to do that. RAMPS + TMC2130 step sticks seemed to be an appropriate solution. But then I found the new Einsy RAMBo that was used in Prusa i3 MK3. They had the TMC2130 as surface mounted directly to the board which was supposed to make them better thermically. Huh, looks cool and has the capability of power-loss-recovery. But it is quite expensive compared to RAMPS even with genuine TMC2130 and not those Chinese clones.

    And then I stumbled across the Duet. I do not remember where or how I got there but, yeah, I have a tendency to buy the most expensive and best options for my hobbies - even if I never use the full potential of it. But then again this board only as TMC drivers that were capable of spreadCycle and no stealthChop. Would this be silent enough? Argh, but it has 32-bit CPU... and... it... is... just... too... cool... to... not... buy... it. 😁

    You know how this ended since I am writing this at the Duet forum. Of course I went for the Duet and I never had the slightest amount of regret about it so far.

    And, yeah, I have no idea how much quieter my printer would be if I would also have access to stealthChop but it is already so quiet with only spreadCycle and 256x microstepping (interpolated) that most noise is coming from part cooling blower fan. 😁

    Now after this rather long introduction let's get to the hard facts.

  • The Printer

    • Type: Cartesian
    • Frame: Aluminium 2040 Extrusions
      A set called PK8 by a German eBay seller - this set has all required parts included in contrast to AM8 where lots of parts have to be printed. Also all joining parts are made from aluminium or steel which makes it a lot more rigid then AM8 out-of-the-box
      Additionally I followed an advise of @deckingman here and did not use the brackets that were part of the kit but tapped M5 threads into the ends of the extusions and used button-head screws to clamp the perpendicular extrusion inside its slot. Images will explain this a little better:
      alu fixing
    • PSU: 12V 240W 20A currently running at 13.6V (to not blow the fans) connected to Duet via 4x2.5mm² (2xVIN + 2xGND)
    • Motors: Stock Anet motor on extruder
      Step angle: 1.8°
      Torque: 40Ncm
      Rated current: 0.9A
      Resistance: 4.4 Ohm
      Inductance: This is unknown as no datasheets are available but it is assumed to be 10mH
      Wantai 42BYGHW811 on all other axes
      Step angle: 1.8°
      Torque: 48Ncm
      Rated current: 2.5A
      Resistance: 1.25 Ohm
      Inductanc: 1.8mH
    • Bed: 220x220 PCB heater with 3mm aluminium heat spreader and 3mm mirror tile on top. Mounted with 3-point leveling and silicone rubber suspension to a 3mm aluminium heat bed holder
    • Leveling: Fully manual. I was using Manual Leveling Assistant and Mesh Bed Compensation but I dropped that for only manual leveling at the leveling screws (not even using the manual leveling assistant of RRF anymore) and it gives me the best first-layer-adhesion I ever had. I might go back to using the Leveling Assistant.
    • Movement:
      X: 2x8mm smooth rods with 3x Igus RJ4JP-01-08 bearings in SC8UU aluminium blocks
      Y: Same as X but the RJ4JP-01-08 are put into compressible holders printed in PETG
      Z: Also 2x8mm smooth rods but with LM8LUU linear bearings
    • Endstops: simple microswitches with the original cheapy ones from Anet on X and Y and one from Omron on Z as there is no Z probe. The freed up original Z endstop microswitch is now used as a simple filament run-out sensor laying around unused 😉
    • Filament Sensor: Duet3D Laser Filament Sensor Prototype
    • Drive:
      X and Y with GT2 glass-fiber belt on 16 tooth pulleys with 16T toothed idlers
      Z uses 2xTR8x2 lead screws giving 1600 steps/mm or 0.01mm full steps
    • Extruder and Hotend: still the stock Anet MK8 direct drive extruder and hotend but I have a (Chinese clone) Titan+V6 already laying around to be mounted - but it will stay direct drive.
      I do have a Reverse Bowden/Filament Feeder attached to it where one end is fixed to the frame and the other end is fixed to the extruder carriage so that this path always has the same length and all forces that might be induced by the filament spool (swinging back and forth etc) will be absorbed by the end of this construction that is mounted to the frame.
    • Cooling:
      beQuiet! Silent Wings 2 92mm fans for PSU and Duet (triggered at 25°C of the heated bed)
      BlackNoise 40x40x10mm axial fan for hotend (triggered at 45°C of the hotend)
      Titan 50x50x10 blower fan for part cooling (the only one that could be heard at all)
    • Additional Sensors: I have two DHT22 attached to the Duet. One is monitoring ambient temp+hum the other one is checking up on temp+hum of the filament spool (which is put into a zip-lock bag on a TUSH remix together with 100g of desiccant with color indicator - I had to go this way as I have no space for a large filament dry-box)

    Settings (at the time of writing)

    M92 X100 Y100 Z400 E96.939                         ; Set steps per mm (at default 16x microstepping)
    M350 X16 Y16 Z16 E16 I1                            ; Configure microstepping with interpolation
    M566 X600 Y600 Z24 E300                            ; Set maximum instantaneous speed changes (i.e. jerk) (mm/min)
    M203 X6600 Y6600 Z720 E3000                        ; Set maximum speeds (mm/min)
    M201 X2000 Y2000 Z100 E10000                       ; Set accelerations (mm/s^2)
    M204 P400 T1000                                    ; Lower accelerations when printing though
    M906 X500 Y500 Z500 E700 I30                       ; Set motor currents (mA) and motor idle factor in per cent (increments of 100mA, rounded down otherwise)

    I have custom TOFF values on some motors to reduce the stand-still noise further and stallGuard on all axes enabled with logging a warning but no other action beyond that.



    More Image in post 13

    Future Plans

    So what do I still have on my list of things I want to change?

    • I want to tune stallGuard to best possible values and enable coolStep afterwards
    • I want to use Pressure Advance
    • New motors, ones with less inductance and less resistance Done
    • Switch to 24V
      As part of that a completely new heated bed using probably a Kapton heater with around 200W below a 5mm aluminium tooling plate. The latter might be covered in PEI or maybe I am going for GeckoTek. Not sure on this one yet. -- In progress
    • Switch all fans to 5V Noctua
    • PT1000 sensor for the hotend Will be part of the V6 Clone to be installed
    • Maybe a Piezo Orion sensor
    • Maybe a 5" PanelDue - but currently I am really happy with using DWC and have no need for a separate display right now
    • Suspend the printer on squash balls instead of the rubber mat (that sits on top of a wooden board) to still have the decoupling from the surface it rests on but is a lot lighter for transportation (which does actually not happen very often) Dropped this idea
    • I'd like to build an enclosure one day but that is near the end of my list

  • administrators

    Thanks for your detailed write-up!

    A few comments:

    • Reports indicate that the original stealchChop mode (as implemented in the TMC2130) is no good for 3d printers because it doesn't work well for high speed moves. The newer stealthChop2 (implemented in the TMC2208/TMC2124, TMC5130 and a few other driver chips) is supposed to be better. But I'm not convinced, because I have seen my Ormerod printer (powered by a Duet 2 Maestro with TMC2224 drivers) skip steps when in stealthChop2 mode, whereas it doesn't in spreadyCycle mode with the same acceleration, jerk and max speed settings.

    • As your printer is a Cartesian with 1.8deg motors, if you increase the driver voltage to 24V, then changing the motors to low-inductance types may not give you much more speed. And vice versa.

  • Very nice. Can't wait for the pictures.

  • @dc42 said in My custom Cartesian:

    • Reports indicate that the original stealchChop mode (as implemented in the TMC2130) is no good for 3d printers because it doesn't work well for high speed moves. The newer stealthChop2 (implemented in the TMC2208/TMC2124, TMC5130 and a few other driver chips) is supposed to be better. But I'm not convinced, because I have seen my Ormerod printer (powered by a Duet 2 Maestro with TMC2224 drivers) skip steps when in stealthChop2 mode, whereas it doesn't in spreadyCycle mode with the same acceleration, jerk and max speed settings.

    I heard that for stealthChop(2) to be of any use at all you definitely need at least 24V and better even more (as the TMC chips can handle more). But I also heard that stealthChop was never meant for such a purpose, so I can confirm this.

    • As your printer is a Cartesian with 1.8deg motors, if you increase the driver voltage to 24V, then changing the motors to low-inductance types may not give you much more speed. And vice versa.

    I know. Ironically I am currently slicing in Cura with "only" 75mm/s and travel moves set to 120mm/s (capped at 110mm/s by printers max configured speed) and I don't even intend to increase this speed - changing these parts is purely out of me being able to do some more upgrades that are equally overkill as putting a Duet Wifi on an Anet A8. 😀 But that's who/how I am. 🙂

  • @obeliks I did not have the time to take some nice shots yesterday (as I planned) and probably will be away for the weekend as well. So sadly you have to wait until next week for images.
    I also just checked my phone but strangely there is not a single image of the full printer since changing to the aluminium frame. 😁

  • Funny aside: when trying to post this description in a single post the forum told me I need to keep it shorter because I exceeded the maximum of 10,000 characters. 😂

  • Change: Added "Additional Sensors" to the printer section.

  • I tried your settings and my steppers seem to work with 500mA. But I could make them skip with one finger. So I will leave them at 900mA as I had before (I am 90% sure they have 1680mA max).
    The rest did not make much difference, only extruder motor got louder.

    Also while I was playing with currents, I went to max recommended (80%) and successfully melted the gear on my printed Drakon extruder (homemade Titan extruder) Steppers were at 80°C 😰 It took some time to assemble the old extruder and print new gear, but all is well again.

  • @obeliks If you still have the "old" 1.68A steppers (as it appears to be) reducing them to 500mA is bound to fail. 😁

  • Moderator

    @wilriker said in My custom Cartesian:

    A self-contained hobby so to speak.

    This is very accurate. It certainly seems that way sometimes, but I think the most satisfying thing to do with 3D printing is design a model to fix a problem, no matter how small.

    Thanks for the write up, I can't wait to see what you've done with the A8. I suspect it will be very well done.

  • @phaedrux Thanks! I added one image of the printer in the second post just now. I will add more images probably on Monday in a new post below with comments to each image. Have to process the images first, though.

    Not everything is done to my expectations on the printer, yet. For example, I am still at a rewiring stage that will go on for another while. But I will go into a little more in detail about all these things together with the other images. Just did not want to let you wait any longer. 😁

  • Images!

    Here they come. 🙂

    Still the original Anet A8 MK8 Extruder and Hotend. At the top you can see the end of the Reverse Bowden and at the bottom/front is my alternative part cooling duct. What you cannot see in this image is that I have a silicone sock on the heater block which really helps a lot with maintaining temp and protecting the fan duct from melting.

    Just a view of the full printer from another angle. To the left you can see the case for the Duet and in the rear the filament spool inside a plastic bag.

    And here we have it - slightly misfocused - my case for the Duet based on @deckingman's version. I slightly changed dimensions and made space for a 92mm fan (I think Ian's is made for a 60mm fan) that I still had laying around. Rewiring is still work in progress and as these images were taken on Saturday it already looks different today.

    Cable management. I have these printed cable ducts (originally only clips but scaled to 50mm in Z) to keep my cables where they are supposed to be. The speaker cables are 2x2x2.5mm² for power from PSU -> Duet.
    The other wires visible are from two steppers (Y and right Z) and will probably replaced in the near future by 4x0.5mm² in its own PVC insulation (this one is lost in translation, no clue how this is technically correct). I want to basically have all kinds of connections separated from each other to prevent shortings between different voltages for e.g. motor, heater, fan, sensors, etc.
    Heavily out of focus in the front is the DHT22 for ambient temperature and humidity.

    My simple filament run-out switch and the frame-fixed part of my Reverse Bowden. I don't like about the switch where it currently sits at because it means I still have about 30-40cm of filament to go before it really runs out at the extruder but I have yet to design another solution closer to the extruder - maybe with the change to my Titan+V6.

    The machine needs to be silent so beQuiet! 😁 92mm fan to cool the board on the backside. Currently this is wired in parallel with the PSU fan (same model) and triggered if the heated bed is above 25°C. As these fans are barely audible I can take it that this sometimes is the wrong trigger.

    Filament spool on (hard to see) ball bearing roller together with 100g of desiccant (with color indicator). Also visible in the bag is the second DHT22 sensor. I would prefer a dry-box but I have only very limited space so for now it has to be like that.

    Sadly the part that I wanted to show here primarily is out of focus: Y-belt-tensioner. This was already part of the PK8 frame set and works very well. Also a shot of my poorly self-cut mirror tile (it is only 216mm in Y instead of the desired 220mm - but it was only my second cut of glass ever 😁).

    Z-motors are decoupled with silicone dampers but I am not too happy with these. They do reduce vibrations a lot but noise reduction is only minor. Will replace them in the future by those classic Nema 17 dampers.

    Lead-screw nut. Replaced the original brass one with one made from POM. I cannot say if this is really more silent but at least it has a much better frequency that I recognize less as noisy. Also in this image the X-belt-tensioner.

    X motor with grounding and the "movement indicator" I used when I was working on stand-still noise reduction that at that time also included reduction in movement-noise for which it required a better visible indication for micro-steps. Also you can see that the rather cheap GT2 belts leave black powder behind.

    My upgrade Omron micro-switch for most precise repeatable Z homing. As I use no Z-Probe I need a reliable way to determine Z=0 between prints - and in the end these are still very cheap even though being a brand-model.

    A little more details on the heated bed. From bottom to top:

    • Igus RJ4JP-01-08 in printed adjustable holders so they can be compressed (as they are supposed to be) on 8mm smooth rods. But even like that they are just not working 100% as I expect them to.
    • 3mm aluminium holder for heated bed
    • Sheet of cardboard to hold the insulation layer - taped with Kapton tape
    • SilkaWool 13mm insulation wool
    • PCB heater with 3mm aluminium heat spreader
    • 3mm Ikea mirror tile cut to (approx.) the size of the aluminium plate

    Replacing the Igus bearings by more suited Igus bearings (RJZM-01-08 - or if I cannot get these working RJZM-02-08 in SC8UU aluminium blocks) is probably next after finishing wiring work. Also I think about replacing the glass plate by something like GeckoTek to reduce weight.

    Cable strain relief for the heated bed. The holder on the left is fixed to the holder of the heated bed.

    PSU with fused power-plug. This is no longer the current state as shortly after taking the images I finished the rework of this part where the power box sits in its on case. This will be screwed to the frame above the PSU later.

    And this will be the lid for the Duet's case. 🙂 Printed in translucent red PETG with infill explicitly chosen to look good (as their is no structural enforcement required for this part). This will be probably go on the case tonight.

  • administrators

    Thanks for the update! This will be a good collection of upgrades for anyone looking to improve the stock prusa like printers.

  • I had some no-name Chinese GT2 belts in my printer and had it all apart recently and found that they, too, left black dust on the machine near the motor/drive pulley. I also found the black powder caked in the grooves in the pulley, easily removed with a toothbrush. I wonder if that sort of thing is going to cause some degradation in print quality after a couple years of use if you don't periodically clean off the pulleys.

    I have replaced the belts with Gates GT2 that have nylon facing on the teeth and no longer see any black (or other color) powder around the motor or in the drive pulley grooves.

  • @mrehorstdmd please tell me what type the Gates GT2 is: do you mean a Poly Chain GT2, which is available as 8 MGT and 14MGT? The teeth are 8 and 14 mm apart, which confuses me a lot.

    And Gates PowerGrip: I can only find PowerGrip GT3 2MGT, 3MGT and 5MGT.

    Only GT3 2MGT has a 2 mm teeth distance, Do you use those?

    And if it is GT3 2MGT, can you use the normal GT2 pulleys?

    It's all very confusing.

  • @joergs5 : I think he uses LL2MR09 (9 mm belt), 6mm version is LL2MR06

  • @whosrdaddy said in My custom Cartesian:


    Thank you for the information.

    My eb.. does not find it ;-(
    This will become hard to buy for me.

  • @joergs5 said in My custom Cartesian:

    @mrehorstdmd please tell me what type the Gates GT2 is: do you mean a Poly Chain GT2, which is available as 8 MGT and 14MGT? The teeth are 8 and 14 mm apart, which confuses me a lot.

    As someone else posted, I am using LL2MR09 belts. I do not see any difference in print quality between the no-name belts and the Gates belts, but rubber dust doesn't give me a lot of confidence in the long-term viability of the no-name belts.

  • @mrehorstdmd Thank you to clearify. 09 has the disadvantage for me to replace everything. But for higher tension it may be woth it.

Log in to reply