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.

20190209 RSSC 3D Printers

Give The People What They Want: Wire Straightener Now On Thingiverse

My wire straightener project was focused on simplicity and reliability. There are no mechanical adjustments for different gauge wires or to correct for a 3D printer’s dimensional accuracy (or lack thereof.) Every adjustment had to be made in CAD by changing the relevant dimensions and printing a test unit. This requires more work up front, but once all the dimensions are dialed in, the single piece tool will never fall apart and will never need readjustment.

spool holder with two stage straightener 1600x1200

It also means the raw STL files generated by Onshape for my printer would probably not work properly for anyone else. For starters, it was tailored for my specific spool of 18 gauge copper wire. According to Google, 18 gauge translates to a diameter of 1.02mm. My calipers say my spool is 1.00 +/- 0.01 mm, slightly smaller than specified. It is then processed into G-Code by Simplify3D, my printing slicer. And finally that G-Code is translated into plastic by my printer, with all its individual quirks.

So while I was happy to share my Onshape CAD file, I resisted sharing the STL because it almost certainly would not work correctly and I don’t want people to have a bad experience with my design. But people ask for it anyway, over and over.

I have since changed my mind on the topic of posting the STL. I will post the STL, but never by itself. I will also post information describing why the STL is probably not going to work, link to Onshape CAD, and what people need to do to make their own. I foresee the following possibilities:

  1. People who don’t read the instructions will print the file as-is:
    • If it works for them – great!
    • If it doesn’t:
      • Abandon with “This design is stupid and it sucks.” – Well, let’s face it, I was not going to reach this audience anyway.
      • Maybe I should go back and read the instructions.”
  2. People who read the instructions:
    • Successfully fine-tune parameters to successfully make their own straightener – great!
    • Tried to follow directions, but encountered problems and need help – I’m happy to help.

Unless I’ve failed to consider something horrible, these possibilities have more upsides than downsides, so let’s try it. I’m going to share the STL files on the Hackaday.io project page, and I’ve created a Thingiverse page for it as well.

(Cross-posted to Hackaday.io)

Onshape is Free For Makers, But They’re Less Eager To Say So Now

onshape_logo_mediumWhen I first discovered Onshape over two years ago, it was a novelty to see a capable CAD system run completely within my web browser. The technologies that made Onshape possible were still evolving at the time: on the client-side, web browsers had immature WebGL implementation that sometimes didn’t work, or worked unacceptably slowly. And on the server side, Onshape is an active participant in evolving AWS to work for them.

Now WebGL is a mature part of every popular web browser, including those at the heart of inexpensive Chromebooks. I’m old enough that the phrase “CAD Workstation” conjured up computer systems that cost as much as a car. With Onshape, a Chromebook can be a CAD workstation! Not a great one to be sure, but more than enough for curious learners to get started. (This page has more details on Onshape performance.)

This is why, when I started Sawppy the Rover, I switched from Fusion 360 to Onshape. Because I wanted Sawppy to be accessible to everyone, not just those who have a computer capable of Fusion 360. And I have continued to do so, not realizing another aspect of Onshape evolution had occurred.

This came up on my radar because of my super simple wire straightener project. I’ve shared simple tools before, but this one caught more attention than most thanks to a referral from Twitter (and another). I was surprised to see feedback in the theme of “I don’t have an Onshape account” and was surprised people felt it was a barrier.

When I first started using Onshape, their sign-on screen would direct people to a page where people could sign up for an account. On this screen, a free plan for makers and hobbyists was prominently displayed.

That has been removed, hence the confusion.

The free plan still exists, but it’s no longer on their “CAD Pricing” table and not mentioned in their “How to Compare Onshape Plans” guide. From the FAQ I inferred that it’s not even possible to sign up for a free plan directly, one would have to start a trial for the Professional plan, decline to pay, and be downgraded to the free plan. (I can’t test this hypothesis myself since I already have an established account on the free plan.)

I personally find this disappointing, but I’m not surprised. Onshape is a business and businesses have to be profitable or they’ll disappear. I’m a little afraid this might mean they’re working to phase out the free plan, but even in that case I hope they offer a subscription tier that’s priced reasonably for hobbyists on tight budgets.

Copper Wire Spool Holder With Straightener

Now that I’m warmed up to make circuit sculptures, it’s time for more practice. And for that practice, I’ll need wire and lots of it. Most of the projects I’ve seen are built from straight rods of brass that I could procure from the local hobby shop. However, I personally prefer the color of copper (though it will suffer from oxidation) and I can get copper wire fairly inexpensively in a large spool. But of course, that wire would need straightening.

Thus the next project: A holder for a spool of wire that includes a straightener. For reference on straightener, I looked at CNC wire bending machines of both the DIY variety and an industrial offering, both of which featured similar wire straightening mechanisms. Then I tried to replicate my own using my stock of cheap 608 bearings and metal 8mm shafts left from my Sawppy rover project.

Version 1 was a very simple base that laid out the five shafts in the arrangement I wanted. I neglected to consider wire behavior so they ended up getting caught under the bearing.

Wire straightener 1

Version 2 addressed that issue by raising its working surface so wire would not get under bearings. However, a 3D printer has problem holding precise tolerances and so shaft holes had to be drilled out before the shafts would fit. This changed position enough that final bearing spacing didn’t work well.

Wire straightener 2

Version 3 attempted to eliminate variability of shaft position by eliminating the shafts entirely – have bearings sit on 3D-printed posts. Unfortunately position errors were even worse!

Wire straightener 3

After stopping and thinking about the problem, I thought perhaps I’m over-complicating the device. As an introduction, I’m only dealing with 18 AWG wire. This is fairly easy to bend so perhaps I don’t even need bearings – simple shapes might be enough. Hence version 4 replicated the round (but not rolling) surfaces in a wave.

Wire straightener 4

Version 5 tried to improve by having a second stage with different spacing. This is an improvement. A mild one, but an improvement nonetheless.

Wire straightener 5

Version 6 integrated version 5 into a spool holder.

Wire straightener 6

Since I’m not using bearings, friction is quite high. It would not be acceptable if I were trying to build a CNC wire bending machine (a potential future project) but for manual use it’ll do for now. Using a pair of pliers, I can grab and pull on the end to give me wire straight enough for the next few projects.

Onshape CAD file is publicly available here. Adjust dimensions to fit your 3D printer’s characteristics, then export to STL for printing.

UPDATE: Onshape has a free subscription tier for makers, even though it isn’t as prominently advertised as it used to be.

(This page has also been posted to Hackaday.io)

Onshape In-Context Modeling For Phoebe’s Second Chassis

Digitally laying out major components of a project in 3D space is something I’ve done for many projects, from my FreeNAS Box, to Luggable PC, to Sawppy the Rover. Doing it again for to figure out a more compact layout for Phoebe’s second chassis wasn’t a big deal in itself. However, this time the exercise will have a much more direct impact, thanks to a relatively new feature in Onshape.

For my past exercises, once I had decided upon a layout I would take measurements of relative position and dimensions of spaces between them. I would then copy those numbers to new drawings and build parts from those drawings. This workflow is functional but feels silly. The layout information is in the computer, why can’t I use them back in the drawings for components?

I’m not sure what the answer is, but whatever they may be, they are no longer relevant: modern CAD software now offer the ability to take assemblies of parts and use information from the assembly in drawings. They go by various names. SolidWorks documentation refers to this as top-down design. Onshape calls their version in-context modeling. Whatever the name, it’s a system that allowed me to reverse my design process. In the first chassis, I built a simple plate and bolt parts on it as I went. Now with the help of in-context modeling, I’ve arranged all the components in a game of 3D puzzle before creating a chassis to deliver that arrangement.

Using in-context modeling, I don’t have to copy & paste dimensions and risk introducing errors in the process. I also have the option to move parts around my layout and have all design dimensions update automatically. That last part doesn’t work quite as well as advertised, though I’m not sure what’s fundamental problem and what are just minor bugs they’ll fix later. But it works well enough today for me to believe in-context modeling will have a role in all my future projects.

In Context Editing 2

(Cross-posted to Hackaday.io)

Phoebe’s Component Layout Is A 3D Jigsaw Puzzle

Phoebe’s first chassis was just a rough draft to get first hand exposure trying to get all the parts my TurtleBot variant needed to talk and work with each other. What that exposure taught me is I need to improve packaging space efficiency and create a much more compact robot. Only then could I satisfy the competing requirements of increasing ground clearance and lowering LIDAR sensor height.

To work on this puzzle in three dimensions, I started by holding parts up against each other. But I quickly ran out of hands to track all their related positions so I moved on to do it digitally. First I created 3D representations of the major parts. They didn’t have to be very detailed, just enough for me to block out the space they’ll need. Then they were all imported into a single Onshape assembly so I could explore how to fit them together.

In Context Editing

I turned the caster forward, as if the robot was travelling backwards, because that position represents the maximum amount of space it needs. My battery is the heaviest single component, so for best balance it needs to be mounted somewhere between the drive wheels and the caster. Relative to the first draft chassis, the battery was rotated to allow more ground clearance, but that also pushed the caster a little further back than before.

In the first chassis, electronic components like the Roboclaw motor controller and Raspberry Pi 3 were sandwiched above the motors and below the LIDAR. They’ve been moved to the front in order to lower LIDAR height. The lowest point of the LIDAR module – its spinning motor – was dropped in between wheel drive motors. This required turning the LIDAR 180 degrees – what used to be “front” is now “back” – but we should be able to describe that frame of reference by updating its corresponding ROS component transform.

(Cross-posted to Hackaday.io)

Simple Base for Neato Vacuum LIDAR

Since it was bought off eBay, there was an obvious question mark associated with the laser scanner salvaged from a Neato robot vacuum. But, following instructions on ROS Wiki for a Neato XV-11 scanner, results of preliminary tests look very promising. Before proceeding to further tests, though, I need to do something about how awkward the whole thing is.

The most obvious problem are the two dangling wires – one to supply motor power and one to power and communicate with the laser assembly. I’ve done the usual diligence to reduce risk of electrical shorts, but leaving these wires waving in the open will inevitably catch on something and break wires. The less obvious problem is the fact this assembly does not have a flat bottom, the rotation motor juts out beyond the remainder of the assembly preventing the assembly from sitting nicely on a flat surface.

So before proceeding further, a simple base is designed and 3D-printed, using the same four mounting holes on the laser platform designed to bolt it into its robot vacuum chassis. The first draft is nothing fancy – a caliper was used to measure relative distance between holes. Each mounting hole will match up to a post, whose height is dictated by thickness of rotation motor. A 5mm tall base connects all four posts. This simple file is a public document on Onshape if anyone else needs it.

Simple Neato LDS base CAD.jpg

Each dangling wire has an associated circuit board – the motor power wire has a voltage regulator module, and the laser wire has a USB to serial bridge. Keeping this first draft simple, circuit boards were just held on by double-sided tape. And it’s a good thing there wasn’t much expectation for the rough draft as even the 3D printer had a few extrusion problems during the print. But it’s OK to be rough for now. Once we verify the laser scanner actually works for robot project purposes, we’ll put time into a nicer mount.

Simple Neato LDS base
Bottom view of everything installed on simple 3D printed base.

 

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.

Titan Aero nondestructive install

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.

Trying an Azteeg X5 Mini on a Monoprice Maker Select (Wanhao Duplicator i3)

The first step of this process was to determine if an Azteeg X5 Mini would even work with an Monoprice Maker Select. We’ll find out by trying to run the printer with the board with minimal (ideally zero) modifications to both. This way, if an unsurmountable deal-breaker is encountered, everything can be restored to the way they were.

When the printer control box was opened, there was no visual indication what was emitting the smoke scent. I had expected to see some discoloration on the circuit board or component, but this is fine: it’s a good thing we’re taking on this project before anything goes seriously wrong.

MMS Brain 01 - Before

The upgrade was done incrementally. Connectors were moved over in associated groups and tested with each group. The first group to move over were the X and Y axis motors and associated homing switches. A ViKi 2 LCD display was borrowed for the duration of this test.

MMS Brain 02 - Incremental Move.jpg

One expected annoyance is that these two boards used different connectors. Fortunately they were the same pitch so most of the connectors could be persuaded to fit (even if not properly) for testing purposes. The only nontrivial electrical work was for our Z-axis. Prusa i3 style printers like this one have two Z-axis stepper motors driven in parallel, but Azteeg X5 mini only has a single Z-axis connector. This required soldering up an Y-connector to electrically connect the two motors in parallel.

Several items in Azteeg X5 Mini’s configuration had to be modified for this particular printer chassis. Number of steps per millimeter, how to properly interpret temperature readings, all fairly normal items for configuring a 3D printer. There were no deal-breakers which is great news.

At the end of the day, all connectors were (crudely) hooked up and printer configuration updated. Heating up the nozzle and print bed allowed verification of temperature control by double-checking their temperature readings using a separate temperature probe. And finally, it was time for a test print!

The test print showed that X/Y/Z axis are working correctly, but the print exhibited signs of under-extrusion so the extruder needs tuning. This is a minor flaw which means we’ve successfully confirmed that we can use the Azteeg X5 Mini in this printer.

Next task: replace crude connections with proper connectors, and find a way to physically mount the Azteeg X5 Mini in this printer.

Smell of Smoke Prompts Monoprice Maker Select (Wanhao Duplicator i3) Upgrade to Panucatt Azteeg X5 Mini

Making parts around the clock for Sawppy was a stressful tour of duty for my 3D printers. Yesterday I described how my Monoprice Maker Ultimate burned out its relay, the second one since I bought the printer. Fixing it and bringing it back online gave me two printers… until the Monoprice Maker Select started smelling like overstressed electronics upon print bed warmup.

My first round with this product ended with a room filled with smoke. Back then I didn’t know enough about printer internals to diagnose what went wrong, I just sent the whole thing back on the generous Monoprice warranty. (For store credit that I used towards the Ultimate.) This time around I know a bit more, enough to understand what people are talking about on the forums. The controller board on these machines have some noted weaknesses and smokey smell is the least of my worries. This problem needs to be addressed before something really bad happens.

The easiest thing is to send it back to Monoprice for another replacement, but we’re not going to do that this time. I bought this open-box unit with the expectation I’ll use it to learn more about 3D printer internals, so let’s start hacking away and do a brain transplant instead.

I could replace the brain with an identical unit, but based on the internet forum information, the problem is a design weakness of the board itself which means I’m likely to end up with the same problem again. It was certainly the case with my Maker Ultimate relay problem, so let’s do something else.

On recommendation of a local 3D printing enthusiast (and enlisting his help in the upgrade process) I will try replacing this printer’s brain with a Panucatt Azteeg X5 Mini with SD2224 drivers based on Trinamic’s TMC2224 chip. There will be no control UI, I’m going to skip the Viki 2 LCD board as I plan to control the printer via OctoPrint.

Next step: test to see if Azteeg X5 Mini is compatible with the Maker Select chassis.

Azteeg X5 Mini

Monoprice Maker Ultimate (Wanhao Duplicator i6) Kills Another Relay

I was willing to stop at “good enough for now” on modifying my open-box Monoprice Maker Select because I needed printers up and running. In the process of designing and iterating Sawppy‘s 3D-printed components, I kept both printers busy pumping out prototypes to see how the designs in my mind survived the translation into real world pieces.

Sometimes there was enough work to keep printers busy around the clock, and this was too much stress for the control boards inside these affordable printers. It’s an inevitable tradeoff between price tag and robustness. In the case of my Monoprice Maker Ultimate, the weakest point in the chain is the main motor relay that controls power going to all the motors (both stepper motors and fan motors) and heaters.

This relay has failed once before, and under the constant workload, another one has kicked the bucket. It has started failing intermittently which shows up as brief interruption in motor power. Since the electronics are not powered through this path, these brief interruptions ruined prints, making them look like the motor drive belt had skipped a few teeth when the reality was the motors stopping briefly as the electronics continued onwards.

Last time this happened, I kept trying to diagnose belt skipping. Wasting a lot of time looking over mechanical parts that were working well. This time I recognize the symptoms and pulled out the control board before the printer failed completely.

Since it wasn’t completely burned out yet, the relay exterior didn’t look bad – only a minor discoloration that might have gone overlooked if we didn’t know exactly where to look.

Relay exterior discoloration

Cutting away the relay’s blue enclosure exposed a familiar sight: the interior is fried.

D6 Second Failed Relay

It’s always easier to do something the second time, but addressing my second fried relay is still time spent not working on the project itself.