Another Z-Axis End Stop For Geeetech A10

Once the power situation was improved to something more acceptable, I revisited the Z-axis end stop. Because the bare wire hack attached with tape was never going to cut it long term.

The first order of business was to transfer the circuit to a small circuit board instead of just wires hanging in the air. This little board was broken off from a larger prototype board, an easy task as the board was already perforated. The inexpensive switch I used (*) had two mounting holes that conveniently lined up to holes on the perforated prototype circuit board, so I soldered two pins at those locations as primary load bearers. I pushed the switch against those two pins as I soldered the three signal pins, hopefully this means any downward force from the homing procedure would be directed into the two mounting pins and not the three electrical pins.

Geeetech A10 Z axis end stop clip old and new

Geeetech A10 Z axis end stop clip CADOnce I had a small circuit board to hold the switch wired to the appropriate JST-XH (*) 3P (3-pin or 3-position) connector, I designed and 3D printed a small bracket to hold it to the machine. I saw no signs of how the original Z-axis may have been fastened, certainly no obvious holes to reuse. So I designed a clip-on bracket. The tool-less installation is a plus, but it came with the downside that it could not grip solidly enough to reliably hold a Z-axis position.

Right now it is sitting at the bottom against a cross beam, sitting at a height that I had guessed is relatively close to the original Z-axis end stop switch position. If that is too high, I will either have to print a shorter bracket or take a knife and trim some of the bottom off of this one. If it is too low, I can add something underneath this bracket to act as a spacer or print a taller bracket.

Now that I have the three-axis motion control portion of a 3D printer up and running, what can I do with it? I have lots of ideas! The first idea to be explored will be for visual dimension measurement.

(*) Disclosure: As an Amazon Associate I earn from qualifying purchases.

Replacement Power Panel for Geeetech A10

A very crude Z-axis end stop switch allowed me to verify this partial chassis of an old Geeetech A10 could still move in the X, Y, and Z axis. Once proven, I went back to refine the hacks done in the interest of expediency for those tests. First task is the power adapter, which had been a cheap barrel jack not quite the correct dimensions for reliable electrical contact with the 12V DC power adapter I’ve been using.

The 12V supply itself was a hack, as the Geeetech A10 printer is actually designed as a 24V printer but I didn’t have a 24V power brick handy. Since this printer has been deprived of its print nozzle and heated bed, the majority of power draw are absent leaving only the motors. I understand the stepper motor current chopper drivers would still keep the current within limits and give me nearly equivalent holding torque. However, halving the voltage meant it couldn’t sustain as high of a maximum speed and I saw this on the Z-axis. The X axis is super light (as there is no print head) and had no problem running quickly on 12V. The Y axis has to move the print bed carriage (minus heated print bed) and had a little more difficulty, but still plenty quick. So it was the Z-axis that ran into limitations first, as it had to push the entire carriage upwards and it would lose steps at higher speeds well before reaching firmware speed limits that are presumably achievable if given 24V.

Geeetech A10 power panel CADA reduced top speed was still good enough for me to proceed so I drew up a quick 3D printable power panel for the printer. Since the 12V DC power supply was from my disassembled Monoprice Mini printer, I decided to reuse the jack and the power switch as well. Two protrusions in the printed plastic fit into extrusion rails, though it took a few prints to dial in the best size to fit within the rails.

With this power panel I could use the 12V DC power adapter and the connection is reliable. No more power resets from jiggled power cables! It also allows me to turn the printer off and on without unplugging the power jack.

With this little power panel in place, I moved on to build a better Z-axis end stop.

Crude Z Axis End Stop For Geeetech A10

Preliminary exploration of a retired Geeetech A10 has gone well so far, enough that I felt confident discarding the control panel I did not intend to use. Before I tossed the control panel in a box, I verified each of the motors could move via jogging commands. But before I can toss more complex commands at the machine, I need a way to reset the machine to a known state. In machine tools this is called a “homing” operation, and this 3D printer do so via the G28 Auto Home command to set each axis to their end stop switches.

Problem: While the X and Y axis still had their respective end stop switches, this machine is missing the Z-axis switch and I wanted to whip up a quick hack to test the machine capabilities. If it works, I’ll revisit the problem and spend more time on a proper one. If it doesn’t work, at least I haven’t wasted a lot of time and effort.

The existing X-axis end stop was buried inside the mechanism, but the Y-axis end stop is visible. I was surprised to see a circuit board with several surface mount components on board. Unlike most of my other 3D printers, the end stop mechanism isn’t just a pair of wires hooked up to a single switch, there are actually three wires.

Geeetech A10 Y endstop

I removed the Y-axis switch to probe the circuit and search online. It appears to be close but not quite identical to the RepRap design, and had a few additions like a LED and its associated current-limiting resistor. The LED is a nice indicator of switch toggling status, but it is not strictly necessary. This end stop boiled down to a switch that directly connects the normally open leg to common, and a resistor between the normally closed leg and common.

Once understood, I grabbed a micro switch waiting in my parts bin (*) and created a free form wire soldering job for the test attached with double sided foam tape. (Picture up top.) The foam tape did not hold position well enough, so additional structure support was added in the form of blue painter’s tape.

Geeetech A10 Z endstop hack with tape

Hacks upon hacks, it’s hacks all the way down.

But it was good enough for G28 Auto Home to succeed, which opened the door for more tests to verify this 3D printer chassis could still execute motion control commands coordinated across all three dimensions. Once I was satisfied it is working well enough for further tinkering, I revisited the power hack to make it more reliable.

(*) Disclosure: As an Amazon Associate I earn from qualifying purchases.

Geeetech A10 Control Panel Removed

Once I had the retired Geeetech A10 3D printer powered up, I could start poking around to see what is working and what is not. Obviously the control panel was my entry point to jog each axis. I was very happy to see the individual motors move on command, but I couldn’t command a homing cycle just yet due to the missing Z-axis switch.

However, the control panel itself was annoying to use. The screen contrast was poor, and user responsiveness is lacking. I frequently find that encoder steps were ignored, as were some of my wheel presses to select menu options. I experienced the same frustration with the Monoprice Maker Select, and I had thought those issues were specific to that printer. Now I’m starting to wonder if this is common with 3D printers running Marlin on a ATmega328 control board.

The good news is that I don’t plan to interact with the control panel for much more than this initial test. Once I established the board was functional, I no longer feared the USB port damaging my computer so I found an appropriate USB cable and plugged it in. The expected USB serial device showed up. With the popular settings 250000 8N1, I could command the printer via Marlin G-code. This is how I intend to control this machine as a three-axis motion control platform.

I didn’t intend to use the control panel anymore, and I could have just left it alone. But it also sticks out to the side of the printer and awkwardly taking up space. After a particularly painful meeting between a body part and an outer corner of the panel, I took a closer look at how it was connected to the control board. It seems to be a single ribbon cable plugged into a single connector that had two dabs of hot glue to help keep it in place.

Geeetech A10 control panel ribbon cable connector

I removed the hot glue and the cable to see if this printer would continue functioning as a USB serial peripheral, in the absence of the control panel. Good news: it does! I could move all three axis (X, Y, and Z) via G0 commands. So after removing two M5 bolts, the control panel go live in a box. Cleaning up the printer outline and hopefully reducing painful episodes in the future.

Now I need to install a replacement Z-axis homing switch in order to try homing cycle.

Power Input Replacement for Geeetech A10

I’ve received the gift of a retired Geeetech A10 3D printer. It is missing some important components for 3D printing, but its three axis motion control components are superficially intact. The machine is in unknown condition with no warranties expressed or implied. Ashley Stillson, the previous owner, don’t remember everything that was wrong with it, but she did not remember anything dangerous. (My specific question was: “Will I burn down the house if power it up?”)

Not burning down the house was a good baseline, so I’ll begin by supplying the machine with some power to see what wakes up. The first task was to replace the XT60 power connector. The XT60 isn’t a type I use and hence I had nothing to plug into it. This type is an excellent connector for high current draw applications, but since I’m not planning to run a heated print bed nor a filament nozzle heater, I can start with something less capable and more generic. So instead of buying some XT60 connectors (*), I replaced it with a jack for a barrel plug (*) that I already had on hand.

The cheap jack I have on hand is listed with outer diameter of 5.5mm and inner diameter of 2.1mm. It is very close but not exactly the correct type to connect to the 12V DC power supply from my disassembled Monoprice Mini printer, which I guess is actually the very similar and popular type 5.5mm OD / 2.5mm ID. But what I have is close enough for a little hacking to permit power to flow.

Later I learned I had made an assumption I didn’t even realize I was making at the time: I assumed the printer wanted 12V power. The Geeetech A10 is actually a 24V printer! This is irrelevant to the electronics, which will run on stepped-down voltage probably 5V. It is most important for the heater elements, which are absent anyway. In the middle are the stepper motor subsystem, where 12V is not ideal leaving them less capable than if they were fed 24V, but they should function well enough to let me evaluate the situation.

When power was supplied, a fan started spinning, a red LED illuminated, followed by the control panel coming to life. We are in business.

(*) Disclosure: As an Amazon Associate I earn from qualifying purchases.

Retired Geeetech A10 3D Printer

My herd of 3D printers has gained a new member: a Geeetech A10. Or at least, most of one. It was a gift from Ashley Stillson, who retired this printer after moving on to other machines. Wear on the rollers indicated it has lived a productive life. Its age also showed from missing several of the improvements visible in the product listing for the current version. (And here it is on Amazon *)

In addition to those new features, this particular printer is missing several critical components of a 3D printer. There is no print head to deposit melted plastic filament, it has no extruder to push filament into the print head. The Bowden tube connecting those two components are missing. There is no print bed to deposit filament on to, and there is no power supply to feed all the electrical appetite.

It does, however, still have all three motorized axis X, Y, and Z, and a logic board with control panel. X and Y axis still had their end stop switches, but the Z axis switch is absent leaving only a connector for the switch.

Geeetech A10 Z endstop connector

The only remnant of the power supply system is a XT60 plug. I don’t use XT60 in my own projects and have none on hand, so I will either need to buy some (*) or swap out the connector to match a power supply I have on hand.

Geeetech A10 XT60 power connector

It would take some work to bring it back into working condition as a 3D printer, but that’s not important right now because my ideas for this chassis is not to bring it back to printing duty. I’m interested in putting its three-axis motion control capability. to other use. But first, I need to get its three axis moving, which means giving it some power.

(*) Disclosure: As an Amazon Associate I earn from qualifying purchases.

And Now I’m Up To (Most Of) Five 3D Printers

When I first got started in 3D printing, I was well aware of the trend for enthusiasts in the field to quickly find themselves with an entire flock of them. I can confirm that stereotype, as now I am in the possession of (most of) five printers.

My first printer, a Monoprice Select Mini, was still functional but due to its limitations I had not used it for many months. I had been contemplating taking it apart to reuse its parts. When I talked about that idea with some local people, I found a mutually beneficial trade: in exchange for my functioning printer, I traded it for a nearly identical but non-functioning unit to take apart.

My second, a Monoprice Maker Ultimate, has experienced multiple electrical failures with an infamous relay, and I suspect those failures had secondary repercussions that triggered other failures in the system. It is currently not working and awaiting a control board upgrade.

My third printer, a Monoprice Maker Select, was very affordable but there were trade-offs made to reach that price point. I’ve since had to make several upgrades to make it moderately usable, but it was never a joyous ownership experience.

Those three printers were the topic of the tale of 3D printing adventures I told to Robotics Society of Southern California. One of my parting advise was that, once we get to the ~$700 range of the Maker Ultimate, there were many other solid options. The canonical default choice is a Prusa i3 and I came very close to buying one of my own several times.

What I ended up buying is a MatterHackers Pulse, a derivative of the Prusa i3. I bought it during 2019’s “Black Friday” sale season, when MatterHackers advertised their Pulse XE variant at a hefty discount. Full of upgrades that I would have contemplated installing anyway, it has performed very well and I can happily recommend this printer.

Why would I buy a fifth printer when I had a perfectly functioning Pulse XE? Well, I wouldn’t. I didn’t get this printer because it was better, I picked it up because it was free. I have some motion control (not 3D printing) projects on the candidate list and a retired partial Geeetech A10 printer may prove useful.

Monoprice Maker Ultimate (Wanhao Duplicator 6) Dead Again But This Time It Was Not The Relay

My Monoprice Maker Ultimate (branded variant of Wanhao Duplicator 6) is dead again. This has happened before, but this time is different. Previously, the main 24V relay would die of overwork, and when that happens all stepper motor and cooling fan activity stopped while the display UI thinks it’s business as usual. This time around, the fans turn on but the display was dark.

Since the primary user interface was dark, the first order of business was to see if it’s just a dead display or if the problem went deeper. As a data point I tried an alternate control scheme: I put OctoPrint on my laptop and attempted to communicate with the printer via USB serial. This was only intermittently successful, and even when communication was established, it would quickly disconnect. So it’s not just the display that was dead, but the printer isn’t entirely dead, either.

Suspecting a bad power supply, all voltage output lines were measured and power levels would dip occasionally. Eventually we figured out something was causing the main system board to reset on a regular basis, and upon every reset, there would be a brief spike in power draw.

Diagnostics moved on to unplugging components one at a time from the control board to see which component is overloading the system. The printer powered on and stayed on once I unplugged the wires for the front control panel and display.

Maker Ultimate front panel disconnected

Removing the display and control panel, we took a closer look at the circuit board and found our culprit: component U3 has suffered some calamity that caused the chip inside to burn a hole in its casing.

Maker Ultimate fried U3

Judging by surrounding traces, U3 had some sort of power management role. It has either failed short, or it has failed open causing some other component to trigger a system reset.

With the display and user control panel disconnected, I could control the printer via USB using OctoPrint. However, this did not eliminate the random system resets, it just made it much less frequent. Apparently there was more damage elsewhere on the system. Unless the source could be found and repaired, it will be time for an upgrade of this printer’s main control board.

Repurposing Broken 3D Printer X-Axis To Use As Z-Axis

It feels like a lot longer than three years ago, but that’s when I started my adventures in 3D printing with the Monoprice Select Mini 3D Printer. It was limited in print volume and print quality, but it served as a good introduction to 3D printing so I felt I understood the field enough to invest in larger and more capable printers.

My Mini was retired from active duty and sat in a box until I loaned it out to Emily for the exact same purpose of giving her an introduction to 3D printing. And just as I did, the introduction led her to purchase a larger printer and my mini went back into its box.

Now it has been pulled out of the box for a third tour of duty elsewhere. This time, I am trading it away. It is destined for local technology outreach events, and in exchange for my working but limited printer I’m receiving a non-working Monoprice Mini to tear apart. Here is my printer performing a test print to verify it still works, the final print it will perform in my possession.

MP Mini X axis

Before I agreed to this trade, I was ready to tear it apart for the sake of extracting its X-axis. That black horizontal arm is a small self-contained linear actuation unit: it has a standard stepper motor, guide rods with linear bearings, and a belt-controlled carriage. Plus a micro switch for axis homing, all inside an integrated stamped sheet metal unit.

I wanted to use this X-axis assembly as the Z-axis for our Grbl CNC project. And the timing of this trade is fortuitous, because now I’m not destroying a perfectly working printer. It is not going to be rigid enough to handle a CNC cutting tool, merely an incremental upgrade over the servo-controlled Z-axis. This allows us to take our first step towards a stepper-controlled Z-axis for our machine.

My Monoprice 3D Printers at February 2019 RSSC Meeting

When I presented the story of my Sawppy rover project last month at the January 2019 meet of Robotics Society of Southern California (RSSC) I made an offhand comment about my 3D printers. Later on, in a discussion on potential speakers, there were people who wanted to know more about 3D printers and I offered to summarize my 3D printer experience in a follow-on talk. Originally scheduled for March, I asked to be rescheduled when I realized the March RSSC meet would take place at the same time as Southern California Linux Expo (SCaLE).

My talk (presentation slide deck) starts with a disclaimer that my experience and knowledge was limited. I started by explaining why I chose Monoprice printers backed by a short history lesson on Monoprice because that sets the proper expectations. Then I ran through my three Monoprice printers: the Select Mini, the Maker Select V2, and the Maker Ultimate. Each of these printers had their strengths and weaknesses.

Monoprice Select Mini

  • Simple low-cost printer that still covers all the basic concepts of FDM printers.
  • Closest we have to a “Fisher Price My First 3D Printer”
  • Recommended for beginners to find out if they’ll like 3D printing.

Monoprice Maker Select

  • Classic Prusa i3 design.
  • Easiest to take apart for modifications and/or repairs.
  • Recommended for people who like to tinker with their equipment.

Monoprice Maker Ultimate

  • Design “inspired by” Ultimaker.
  • Highest precision and most reliable operation.
  • Recommended for people who just want their equipment to work.
  • But price level approaches that of many other good printers, like a genuine Prusa i3.

I brought my printers to the meet so interested people can look them over up close. I did not perform any print demos, because I’ve almost certainly knocked the beds out of level during transit. Plus, I forgot my spools of filament at home. But these are robotics people, they can gain a lot just by looking over the mechanical bits.

Charred Liner Needs To Be Replaced in Monoprice Maker Ultimate (Wanhao Duplicator i6)

I’ve had my Monoprice Maker Ultimate for about a year and a half now. It has been the workhorse behind many, many projects in that time. Including some fairly major projects Luggable PC (both Mark I and Mark II) and Sawppy the Rover. The major projects usually demanded around-the-clock printing for weeks on end, and the only real problem it has given me was the 24V relay that died. Twice.

Towards the end of getting Sawppy to version 1.0, I had been printing in PETG on my Maker Select, leaving the Maker Ultimate mostly unused in the home stretch. After I reached a pausing point for Sawppy, I came back to the Ultimate for a few quick prints because it was still loaded with inexpensive PLA…. and the print failed halfway from insufficient extrusion.

I had thought it was a clogged nozzle which wouldn’t be a big deal, but after clearing the nozzle with the 0.4mm drill bit and running the cleaning filament, the problem persisted. Fortunately, I recognize the symptoms from a hard-learned lesson on the Maker Select – the PTFE liner tube is damaged and needed to be replaced.

This particular liner tube wasn’t abused with high temperature like it was on a Maker Select trying to print PETG fast. But internet consensus seems to be that the liner tube is accepted as a wear-and-tear item that eventually requires replacement even under ideal usage. So – probably not indicative of anything wrong here, it’s just time.

Removing the jammed nozzle the printer immediately unveiled a charred tube.

Liner Charred

It took some heat and persuasion to remove the old tube, which stretched in the process of removal. We can see there was quite a bit of cruft welding the tube to the nozzle.

Liner Removed

Interestingly, there are two distinct and separate areas of browning. The print tip was expected. The middle charred section would be right around the length of the heating block and makes sense as one of the hottest sections this tube had to endure. It’s a bit of a surprise that we still have a little white section between them, though.

Anyway, it’s clear this tube has put in a long and productive career guiding filament into the nozzle, but it’s time for a replacement which brought the printer back up and running.

Titan Aero Upgrade for Monoprice Maker Select (Wanhao Duplicator i3)

In order to improve PETG printing performance, my open-box Monoprice Maker Select is receiving a hardware upgrade. The print head assembly (filament extruder and hot end) is being replaced with an E3D Titan Aero, a combination all-metal hot end and geared extruder.

For this first pass, the goal is to be as simple and nondestructive as practical so I could revert if things don’t work out. If this works, I can make things nicer later. Obviously, the first step is to remove my existing print head, leaving just the metal X-axis carriage assembly. Since I’m trying to be nondestructive, the goal is to fit into this space in the U-shaped metal and bolt onto existing holes.

Stock extruder hot end removed

To test for fit, I laid out parts for assembly. Some people are squeamish about using the print surface as a work surface, preferring to leave it as pristine as possible. I have no such qualms.

Titan Aero parts laid out

A few quick tests confirmed there is indeed space within the U-shaped metal to accommodate a Titan Aero. The hole for the actual nozzle doesn’t line up, though, which means the Titan Aero nozzle will have to dangle off to the side of the metal bracket. This wish for non-destructiveness will extract a price in the form of a small reduction in print volume. I decided the tradeoff is worthwhile for now. I designed & printed a simple adapter to mount the whole works on the existing metal bracket. The Titan Aero kit does not include a stepper motor, so I reused the existing extruder motor.

When I was just eyeballing the parts, I thought I could use the existing heater cartridge and thermister. The advantage of this approach is reduced wiring work and we wouldn’t have to change print controller configuration. Sadly, the heater cartridge is a tiny fraction of a millimeter too large to fit and thermister is an entirely different shape. So some wiring tasks and controller configuration changes had to be made. Since the long-term plan is to build a better chassis using these parts, I kept most of the wires for the heater and thermister with the hope the wires will be better routed in that future dream chassis. In the short-term, the wires are just coiled on top of the print assembly.

The final modification was to the cooling fan — when it was powered up for the first time, I heard how loud it was and said “Oh hell no.” I replaced it with a 40mm Noctua fan (*) which doesn’t move as much air but is far quieter. If the reduced air volume causes heat creep issues I’ll revisit this fan replacement, but for now I’m grateful for the silence.

Once the upgrade was hacked together, the printer can now easily extrudes PETG at decent print speed with 0.3mm layer height. I was initially worried about the adapter bracket holding up under the heat (it was printed in PLA) but the Noctua cooling fan seemed to be doing its job and things never get hot enough for the bracket to be a problem so I’m happy to leave well enough alone. I’ve got a rover to reprint in PETG.

(*) Disclosure: As an Amazon Associate I earn from qualifying purchases.


Hot End Upgrade Options for Monoprice Maker Select (Wanhao Duplicator i3)

The Sawppy rover project has reached a point where I need PETG for more heat-tolerant rover parts, and the stock hardware on a Maker Select isn’t good enough to deliver the prints I needed at the speed I wanted. The working hypothesis is that the stock hot end couldn’t melt PETG at high enough volume to print 0.3mm layer height at a decent speed. Technically Monoprice did not lie when they said the printer could print PETG. It just couldn’t do so at an acceptable pace for my project.

The recommended solution for melting PETG faster is to go to an all-metal hot end. Searching internet forums found two leading candidates. The first is from Micro-Swiss, which offers a drop-in replacement kit to turn the default hot end to an all-metal hot end.

The second leading contender is from E3D, which sells the Titan Aero. It’s an all-metal hot end with an integrated extruder, unlike the Micro-Swiss kit which replaces a few key heating components in the stock hardware leaving most of it intact. The Titan Aero option costs more than twice as much as Micro-Swiss upgrade kit and requires more work to install.

If I was happy with the stock extruder on this printer, the Micro-Swiss option would have been the one I chose. But I was not happy with the stock extruder! It’s been a cause of headaches since day one with inconsistent extrusion caused by slipping filament and who knows what else. Upgrading the stock electronics to a Panucatt Azteeg X5 Mini solved a few other problems with the side effect of making extruder issues much more apparent.

Maker Select Underextrusion

There are various hacks to work around problems with the stock extruder, but now that I’m presented with an option to upgrade the extruder at the same time as the all-metal hot end upgrade that I want, it’s easy to take that step up to a Titan Aero.

Problems Printing PETG With Monoprice Maker Select (Wanhao Duplicator i3)

The first experiment in PETG was printing a servo coupler. It was small, printed at 0.1mm layer height. After the success of that initial experiment, I set the printer to work on a Sawppy rover wheel overnight at 0.3mm layer height. It did not turn out well.

First Complex PETG

Little bits of extraneous PETG strings all over the place! Stringing is usually credited to poor retraction settings, but that’s not the whole story here. Once this print gets above the first 20mm and no longer printing the center hub, it no longer performs any retracts – the wheel is printed in a continuous motion without retracts.

What these strings actually demonstrate is not poor retraction, but very poor layer adhesion. As the print head circles the perimeter laying down filament, it’s not all sticking and instead dragging along little bits of PETG causing these strings. It’s not very visible from this camera angle, but there are visible gaps between layers. And the layers came apart with only minor physical handling.

The layers came apart more easily in the middle sections. This was puzzling – what problem would be worse in the middle of the night but magically recover by morning? The answer: ambient air temperature. Apparently PETG needs more time than PLA to properly bond with the previous layer, and when cooled too quickly it won’t bond. I can’t change the weather on command, but I could turn off the print cooling fan.

Turning off print cooling helped somewhat, but it was not the whole solution. PETG melts less easily than PLA, which is a desired feature when it comes to rover parts that don’t deform under heat. But that attribute also creates printing headaches. The 0.1mm layer height print bonded well but the 0.3mm print did not, leading to the hypothesis that the print nozzle couldn’t melt PETG fast enough to deliver triple the volume of plastic.

To test this hypothesis, the print speed was cut to 1/3 of previous speed. The test object worked well, but this print speed is not acceptable. It would turn a rover wheel from an 8-hour print project to an all-day 24 hour print!

Another test is to turn up the heat on the nozzle, hopefully a hotter nozzle will melt PETG more quickly. This worked… briefly. It got too hot for the liner and it deformed, jamming the print path.

Damaged PTFE liner

The liner was original so perhaps it was just time for a replacement anyway. But when the replacement liner also jammed up within a few prints, I knew this was not going to work.

Given these data points, the hypothesis of “hot end couldn’t melt PETG fast enough” has merit. We know slowing down works, but is unacceptably slow. We know heating up works, until the liner quits.

I was not willing to accept the slowdown, so the alternative is to upgrade the hardware.

First Simple PETG Print is a Success

Once the Maker Select reached “good enough” status it was back to work printing PLA parts for Sawppy in parallel with my Maker Ultimate. This allowed me to iterate through designs much more quickly and was instrumental in getting Sawppy built in time for its first public appearance at JPL’s IT Expo.

A few problems surfaced at this event, but the one that prompted a complete reprint of Sawppy was PLA deformation under Southern California summer heat. This is where the current 3D printer story line rejoins the rover construction story line. With this experience of plastic deformation, I now have motivation to try using a different material. There are a few options, and PETG presented the best tradeoff between temperature tolerance, ease of printing, and cost.

The first object to be reprinted in PETG were the steering servo couplers. This proved to be a weak point that needed to be addressed. The design was printed at 0.1mm layer height so the sideways hole for the M3 thread heat-set insert would have clear definition. (This turned out to be unnecessary – later couplers were printed at 0.3mm layer height and functioned adequately.)

I knew PETG had different requirement for printing, starting with print nozzle temperature. I started with my PLA print profile and dialed up the heat. In order to test layer bond in the print, and also to get a feel of PETG failure mode, I put the result in a vise and cranked the handle. I was happy to see PETG deformed rather than shattered as PLA would. Examination of the deformed object showed layer bonding is good. This is a good start for printing PETG.

PETG crush test

Bolt Test Print on Monoprice Maker Select (Wanhao Duplicator i3)

After upgrading the control electronics of my Monoprice Maker Select to an Azteeg X5 Mini (which is a major change) there were a handful of issues to chase down. Some documented recently on this blog, others too minor to be worth writing about. Once the biggest problems were resolved, the printer was in a decently usable state. Not perfect, but acceptable. Or so I thought… time for a test.

The test print object is a bolt with its corresponding nut. There’s no practical reason to 3D print my own fasteners – buying them would be cheaper, faster, and stronger. The purpose of this exercise is to test dimensional accuracy. While we could print a calibration cube and measure its dimensions, it’s not as satisfying as fitting one precision part into another. A successful test would allow threading the printed nut onto the printed bolt. Also, we’d end up with a simple little fidget toy.

A good reference for dimensional accuracy is this page in the Slic3r manual. Most of the information on this page areapplicable to 3D printing in general and not exclusive to Slic3r users.

The 3D data for test print was pulled off McMaster-Carr’s web site which has CAD data for much of its merchandise. Here is the bolt, and here is the matching nut. Several iterations were printed to fine-tune settings. In this picture, the bolt on the right was printed at 0.3mm layer height. This proved too coarse to properly recreate the thread and did not work. The bolt on the left is printed at 0.1mm layer height, which was able to recreate the thread profile with enough accuracy. But that by itself was not enough – it also needed an XY compensation parameter of -0.2mm before the nut will smoothly install on the bolt, shown on the left side of this picture.

Requiring a dimensional adjustment of 0.2mm is not great, as that is half the width of our 0.4mm print nozzle. In theory we should be able to do better, but for now this is good enough to resume printing Sawppy parts.

Bolt Test

Z-Axis Chassis Flex Of Monoprice Maker Select (Wanhao Duplicator i3)

A popular modification to the Monoprice Maker Select (Wanhao Duplicator i3) is a “Z-brace”. A diagonal structure that braces the horizontal Y-axis carriage to the vertical Z-axis frame. Playing with my own printer, I can confirm that the Z-axis can be noticeably flexed by hand, and that a similar printer with the Z-brace modification does feel noticeably more rigid.

But the printer isn’t actually printing under the strain of a human hand pushing it around. It only needs to withstand the stresses or a print, which does not actually apply force in the direction where it is weak. So that leads to the question: how much difference does chassis flex actually affect a print in progress?

I had a chance to quantify this behavior, borrowing a dial indicator that is used to precisely dial in machine tools. It is completely overkill for this purpose but it was fun to get some data to back up (or refute) internet wisdom. I told the printer to work on my hash-shaped test file that makes a lot of sharp right turns, and measured chassis movement through these turns.

MMSel Dial Indicator

Close-up while printing:

Verdict: Z-axis chassis flex is real. It is definitely moving by a measurable amount when performing a 3D print. That said, the amount of movement is very small compared to all the other factors affecting dimensional accuracy and not a major factor in print quality. I’ll prioritize fixing other problems with the printer before I worry about installing a Z-brace.

Diagnosing Periodic Artifact in 3D Print Due To Inconsistent Extrusion

A common error when setting up a 3D printer is putting motor control parameters that don’t actually match the installed physical hardware. Sometimes this is glaringly obvious: maybe the X-axis moves 5mm when it should move 10mm. Big errors are easy to find and fix, but the little “off by 0.5%” errors are tough to track down.

In this category, a specific class of errors are specific to the Z-axis. When X- and Y-axis are moving around printing a layer, the Z-axis needs to hold still for a consistent print. And when it’s time to print another layer, the Z-axis needs to move a precise and consistent amount for every layer. This is usually not a problem for stepper motors typical of hobby level 3D printer Z-axis control, as long as the layers correspond to an even number of steps.

When the layers don’t map cleanly to a number of steps, the Z-axis motor might attempt to hold position in between steps. This is fundamentally a difficult task for a stepper motor and its controller, rarely successful, so most control boards round off to the nearest step instead. This rounding tends to cause periodic errors in the print as the Z-axis rounds a tiny bit higher or lower than the desired position, and failing to meet the “precise and consistent” requirement for a proper print.

With a freshly configured Azteeg X5 Mini WiFi control board in my open-box Monoprice Maker Select printer, seeing a periodic error along the Z-axis when printing Sawppy’s wheels immediately placed suspicion on Z-axis motor configuration.

Debug Periodic Print Layer Artifact

Back to hardware measurement I go, and reviewing motor control parameters. After over an hour of looking for problems in Z-axis configuration I came up empty-handed.

Then a key observation when looking at details under magnification: the error is occurring every 6 layers, and not at a consistent location all around the print. This little bump is actually in a spiral shape around the wheel, which would not be the case when rounding off Z-axis steps.

Following this insight, I went to review the 3D priner G-Code file and saw the print path is on a regular cycle printing the six spokes of the wheel. It printed the same way between 5 of those spokes, but the sixth is slightly different and that slightly different behavior cycles through the six spokes as the print rises through each layer.

It turns out this print artifact is not a Z-axis configuration issue at all, but the result of inconsistent extrusion. When moving in one pattern (5 of the spokes) it extrudes a certain amount, when moving in another (the final spoke) it ends up putting a tiny bit of extra plastic on the print, causing the artifact.

The Good And The Bad Of Living With Azteeg X5 Mini WiFi

Once the Azteeg X5 Mini was properly installed in my Monoprice Maker Select, the printer went right back to work making parts for Sawppy. I’m extremely happy about how quiet the stepper motors are running. The loudest noise by far is the power supply cooling fan, which is at least a steady white noise that more easily fades to the background versus the constantly varying sound of stepper motors printing an object.

The first test print with X5 Mini in control showed signs of under-extrusion. Tuning extrusion parameters is a continuing challenge but I blame the printer hardware and not the electronics control board for that issue. This was eventually solved by upgrading the entire print head, a story to be covered later.

While the core functionality is pretty solid, some of the auxiliary features of a Azteeg X5 Mini are rather less so.

The most irritating problem is its WiFi feature. Out of the box it acts as a WiFi access point with default name and password. There is a menu to change the default name and password so my printer wouldn’t be vulnerable to pranksters in range. After changing those menu values and rebooting as recommended, I can see my new “AP SSID” and “AP Password” values in the menu. But the actual access point continued using the old SSID and password as if the menu had no effect. I’d like to think such a glaring security issue would be patched by now, but I just have to wait for them to fix this.

Separate from the WiFi issue, there are some problems upon startup, manifesting itself in one of three ways:

  1. Upon power-up, the status LEDs usually start blinking. But every once in a while, the onboard LEDs are solid on and not blinking. The board does not respond at all in this state.
  2. Even if the LEDs start blinking and the board responds, it may boot into a state where all control communication looks OK but nothing moves. It will talk to my OctoPi as if everything is OK: The board will accept G-code and show progress processing them and return “OK” after every command… but no motor movements occur.
  3. Even if the board responds to movement, occasionally the homing cycle at the beginning of a print job fails for no reason I could diagnose.Homing error

In all three cases, the workaround is to turn off the printer and turn it back on again. This can get annoying at times because it sometimes require multiple on/off cycles to get there. Once printing actually starts, everything performs well. And the best part – no smell of stress electronics threatening to burst into flames.


Azteeg X5 Mini Finds A Home In Monoprice Maker Select (Wanhao Duplicator i3)

After an Azteeg X5 Mini passed the nondestructive test of driving a Monoprice Maker Select, it was time to turn the jury-rigged nondestructive test configuration into a more permanent installation. The first step was to clip off all the old connectors and replace them with proper types to match their corresponding locations on an X5 mini.

MMS Brain 03 - Connector switch

Then our new brain needs to be installed inside the enclosure. Since the old and new control boards are shaped nothing alike, this required new mounts at new locations. I drilled four holes to install half-inch long #6-32 standoffs.

MMS Brain 04 - 6-32 Standoffs.jpg

This position was chosen mainly so the power supply exhaust fan blows air directly onto the heat sinks. A secondary bonus of this position is that the X5 mini’s USB port, microSD card, and WiFi antenna are exposed through the opening previously used by the factory brain’s control UI screen, which will not be missed.

MMS Brain 05 - New home

A few zip-ties to organize the wires and the printer is up and running on its new brain!

The primary objective was accomplished: the printer no longer smells like burning electronics when heating up its print bed.

The unexpected bonus was the silence while printing. These motor driver chips are far quieter than their predecessors. I used to be able to tell by sound when a print has completed, but not any more. Now I would walk into a room thinking a print has completed because it was quiet, only to see it was still printing away.

The biggest downside of this upgrade is the fact all my previous STL slicer profiles are now obsolete. I have to create entirely new profiles and start tuning them for the new brain. It’s work, but I was willing to make this tradeoff for a control board that is so much quieter and doesn’t threaten to burn down my house.