Wanhao Duplicator 9 Review – crimes against engineering (and how to fix them)

The Wanhao D9, or the identical but rebadged Monoprice Maker Pro, is a deeply flawed 3d printer. At almost every stage in the process the designers made decisions that plumb the depths of bad engineering. In this article, we'll take a slightly tongue in cheek look at these flaws, and I'll suggest fixes for anyone unfortunate enough to own this attention hungry beast.


Fig 1: Choo choo! All aboard the failboats! First prints from an unmodified MKI. Last one I cancelled mid print, perhaps you can understand why... Much of this is due to the astonishingly bad cooling - MKII is better there, but still flawed. Read on for why....

"What were they thinking?"
I shake my head as I examine my new second hand MK1 D9...
"Is that a spring belt tensioner I see? Yikes.... and oh my, axial fans with hugely restricted inlet / outlet areas? Wow..... they can't work very well.... hey the Y axis seems... interesting, held by just those two gantry plates with... sprung V wheels on them? Huh... Lets just check the build plate for rotational stiffness and.... oh dear."

This forms a small section of my thinking after unpacking and assembling my D9 3d printer. Bought second hand on ebay, with the seller assuring me it only had about 50 hours of print time. I believed him, and went looking for reviews. I found almost none, not really, just a few French videos on youtube where, although I couldn't really understand what they were saying, they seemed enthusiastic. And their test prints looked good. OK, thinks me, I'll give it a go - any problems, I'm sure I can mod my way around them. Doh! I now suspect these individuals were in fact resellers posing as reviewers, having caught a Frenchman doing just this in the Wanhao facebook group.

Don't misunderstand, you can fix many of the cardinal sins that Wanhao committed on the design of this 3d printer, but it will take considerable time and for best results, you will need to spend money. Once complete you'll be able to get decent prints - but by that point, your printer may be a Wanhao in name only.

Note that I have a background in mechanical engineering, so this wont be a "little Timmies first 3d printer" style review. It is also not a "specs review" by a site that hasn't actually tested the product in question (caugh-all3dp.com-caugh). We'll be talking in real practical terms, and getting into the underlying engineering concepts that define how well 3d printers work - or in the case of the D9, don't.

Quick Links, and current status of the design issues on the MK2

Yes, as you will soon find out this is a long and detailed breakdown. Skip to the TL:DR (Too Long: Didn't Read) summary near the bottom if you get tired of it!

Motor and Part Cooling

Perhaps the biggest failure on the D9 was not just the choice of using two axial fans for part and stepper cooling, which was bad enough, but the hapless way they implemented them. This extended to the MKII and the lazy way they designed in the new centrifugal fan for part cooling. Getting back to axial fans, they are fine when you want to move lots of air in an unrestricted manner. They simply do not work when there is a requirement to push against a static pressure - essentially the air flow separates from the blades, becomes turbulent and goes into a stall condition. At which point, they lose 90+% of their function as fans. Which is a technical way of saying, that trying to use an axial fan to push or pull air through a narrow gap, is a recipe for failure. Wanhao tried to do both.

So, lets take a closer look.... click the pictures for a better view.


Fig 2: Hot End Fans annotated
Fig 3: Heat Sink Cooling Fan
Fig 4: Cooling Fan moved to reveal heat sink

Part Cooling Fan

MK1: As you can see from the annotations in Fig 2, the main part cooling fan is squeezed into the bottom, with a couple of little plastic spacers holding it 3.8mm away from the heat sink plate above (just over 1/8"). Yes, that small gap you can see is all the space the fan has to suck air through. Worst still, this tiny slot is only fully "open" on the side pointing at the nozzle - it is totally blocked on the back, and has just two 13mm (1/2") gaps on each side. Of course, the airflow also needs to take a sharp 90° bend to reach the fan blades, good luck there. So in total, it has one 25x3.8mm (about 1"x 1/6") and two 13x3.8mm (1/2" x 1/6") gaps. If this were not insane enough, I checked and measured the location of the miniscule airflow that does actually exit the other side (underneath, you can see the black duct screwed onto the fan), and it is literally pointing about 2cm (4/5") to the left of the actual nozzle!! Incredible. As such, the "part cooling" on the MKI is entirely non-functional and purely cosmetic.

MKII: They have added a proper centrifugal fan - in fact it is, and I quote, a "Customrise cooling fan, accuracy beyond your expectation".... yeah, really says that....  Anyway, this is an improvement, but I am not convinced. There are no ducts to narrow the outlet area and direct cooling towards the end of the nozzle, instead it just blows "in the general direction of" - which includes the rest of the hot end. So yes this is better than the MKI, although that is not saying much given that a kitten strapped to the extruder and panting gently on the nozzle would be better than that abomination. And I note it is similar to the Creality CR-10S pro which produces excellent prints, but still, as with the CR-10S Pro, many people swap it out.


Heat Sink Cooling Fan

Moving on, the heat sink fan is suppose to remove heat from the stepper and any heat that creeps up from the hot end, and here Wanhao made some design choices that I find truly amusing. I want you to look closely at Fig 3 (click on to enlarge), where the assembly is removed from the printer, and Fig 4, with the fan pushed to one side. Note how the fan is essentially blocked where it is under the stepper motor, leaving only a remaining 40% or so with access to unrestricted air flow above. Look down underneath this, and you will see the "blades" of the heat sink, and how they dont actually reach to the end of the aluminium block. Not shown in the pictures, is how the cuts into the aluminium that create the blades, extend to the front of the extruder assembly. So - they are supposed to act as channels for the air flow. But.... the overlap between where the fan is not blocked from above, and where the channels actually start, is just 6mm (1/4"). The fan hub cover most the remaining space, with blades only actually passing over the outside two slots - giving us a total of two 2x6mm slots for the fan to try and blow air through. Unsurprisingly then, the airflow that passes through these two channels, and escapes at the front of the extruder, is puny to the degree it is barely detectable. I honestly wonder if convective cooling would not be as effective.

While this is funny for me, I imagine it is less amusing for owners whose hot end jams on them all the time. Heat creeping up from the hot end needs to be removed as quickly as possible, if this does not happen the melt zone moves upwards, filament expands too soon and, well - lets just say this design could more aptly be called the jam-o-matic.

How to solve all the cooling issues discussed above? Buy two 24v 5015 radial fans, and check out my thingiverse design here:


V wheels on 4040 T-Slot Extrusions

Update 21th Jan 2020: This is fixed! At least, you can buy Monoprice Makers where this issue is fixed, see comments section below. However, I also heard from someone late 2019 who had a new unit, and this was still a problem for them. Could be old stock, unsure, but if you are buying a unit and have an opportunity to check parts, then check this.

We are talking here about the Z axis - the two vertical pillars and the carriages that run up and down them. When considering how to best design this axis, Wanhao made a truly incredible decision. The engineers mind boggles - V slot wheels like those shown in the picture, should go onto V slot rails. Such rails are designed with faces that precisely meet the angle of the wheels - as shown in the Fig 9 below. In this case however, they run directly on the 4040 extrusions that make up the rest of the frame. Look at Fig 7, and you will see the inside edges of these extrusions, where it contacts the V wheels on the Z, has two ridges running down each side. The inevitable result? Fig 8, rapid wear on the wheels. Over time this will inevitably worsen, until play develops and the wheels can no longer hold a steady position and need to be replaced.

The thing is, Wanhao are supposed to be a technology company! They are supposed to be savvy with this stuff, savvy? If they really wanted to use 4040 rails for this application, they could have done it and made it work - with one caveat. Machine down the ridges, essentially replacing them with nice 45° faces. There would be no significant reduction in strength, and best yet, a competent machining shop could production line the process, 30 seconds per operation. Hell, a competent engineer could build a machine specifically for that purpose and it would cost no more than a couple of hundred $$. But I guess Wanhao did not think of this, or perhaps they thought it was too much effort. Nice.


Fig 6: Location of Z axis carriage


Fig 7: 4040 Aluminium Extrusion on the D9
Fig 8: Wear on V-Wheels from 4040
Fig 9: Actual V Slot 2020 rail

Sprung Belt Preloaders?!

Of all the bad design choices made by Wanhao, I find this one the most offensive. Yes, I'm an engineer - I get offended by these things.

On any half decent 3D printer, or functional CNC machine that uses belts, there is a system that allows you to manually adjust the belt tension. These systems are not in any way complex, and can be bought off the shelf. As shown in this admittedly not great picture, the system they chose to use is a spring clip that fits around the belt and pulls it tight.

Fig 10: Sprung Belt Preload

So, what is it about this that puts my knickers in such a twist? Simple really. As any 8 year old knows, the thing about springs, it that when you pull on them, they stretch. The thing about belts, like the 6mm Chinese GT2 Gates clones used here, is that they are designed - very specifically and very carefully - to not stretch. Glass fibres, aramid etc, are all added to the belts to help them resist stretching. And then along come Wanhoa and says "hey duhh, lets add a spring to the belts!". I mean.... seriously?! OK OK but fine, I know some people reading this might object that other printers have these on (may be true, not sure) or that Wanhao did not invent them (which is true, then are sold by Openbuilds as "torsion springs") - but this is not an excuse. The D9 300 was released as a $700 printer - this in unacceptable.

To get more technical, this creates lag and overshoot in the movement - you could probably call it dynamic backlash, different from static backlash, in that it occurs mainly during movement. Backlash being the technical term for the print head being somewhere other than where it should be, and static backlash could be something like e.g. play or wobble in a system, such as looseness on a leadscrew nut. Naturally, problems caused by adding a spring into the system will get worst the faster you try to print, which will manifest e.g. as degraded fine details, or other unwanted artefacts like ghosting. One way to avoid this then is to limit your print speed, or better to reduce jerk and acceleration settings - which many people with the D9 do. Print speeds from 15 to 40mm/s max are common on unmodified units. For comparison, my now heavily modified printer can do a reasonable job up to 100mm/s, with many times higher acceleration than would be possible with stock.

Fortunately, a real fix is pretty simple. Use belt tensioners such as this excellent pair of designs by Bleugh:


And don't get me started on the lazy design used to hold the Y belt to the hot bed assembly, it just screams "flex me" but this article is long enough already....

Sprung V Wheel

Again with the sprung preload! All three axis have these systems in place. And again, there really is no excuse. Other manufacturers, like Creality, use the widely available eccentric spacers, best known in Openbuilds systems. See below Fig 11 for Wanhaos implementation of spring preload, and what an eccentric spacer looks like in Fig 12. To be fair, the spring is at least constrained, so that movement can only occur in one direction only when an externally applied force is large enough to overcome the spring (unlike the free floating belt tensioner spring). But still, it is a poor choice, and clearly insufficient on the weighty Y axis which is easy to twist and move by hand.

To minimise movement, you need to tighten both springs up, but this in turn creates another problem. As the plate and wheel(s) are pulled in, the angle of the wheel on the V rail changes - or in the case of the Z axis, the angle on the 4040 extrusion masquerading as a rail. This means it will not be able to hold its position as well, it will create uneven wear and it will place unwanted forces on the already cheap, dodgy Chinese bearings in the V-wheels.

Now, on the MKII Wanhao have switched the single V wheel on the spring plate to two V wheels. But since this doesn't address any of the core design problems, I cannot see how it improves the situation.

Eccentric spacers on the other hand, allow the user to simply turn them like a nut and tighten the V wheel against the shaft. It is a simple and elegant system that produces well constrained carriages with essentially no backlash. I have no idea why Wanhao thought this setup was insufficient - perhaps they just wanted to be different, or they didn't trust their users to manually adjust the spacers into position (even though it is child's play).

For the Y axis, to begin with I added two spare mini V gantry plates as shown here: https://www.thingiverse.com/thing:3906204
For the X axis, here is a mod I made that essentially changes it from sprung to solid preload: https://www.thingiverse.com/thing:3914066
For the Z axis, especially with the 4040 "rail" issue discussed above, your only real solution is to pray for a swift and merciful death. Or buy and install some proper linear rails like the MGN12, perhaps less dramatic. In the end I realised this, and since I was swapping the Z I decided to swap the X and Y also.

Fig 11: Sprung V Wheel Preload
Fig 12: Eccentric Spacer, a much better solution

Bed Warping

Another fun one! So, the D9 has a 3mm aluminium hot plate, on top of which they clip a sheet of 3mm glass with a 0.5mm layer of steel glued to it (adhesive seems to vary). Which is interesting, because there are two reasons people use glass for 3d printer beds. The first is that is it extremely flat, and the second is that it makes an OK surface to extrude on to - or at least a surface for other additives. Unfortunately, D9 build surfaces are far from flat, and they then add a magnetic build surface on top - completely nullifying both the reasons for using glass in the first place.

I am not sure whether the problem is with the steel and glass having different thermal expansion coefficients, or if they simply come out the factory bent. It may be the latter, as there seems to be a degree of luck in whether peoples build plates are flat or not. Worst still for me, my aluminium heating plate, while relatively flat by comparison, has a small bow to it as well (sagging down), but in the opposite direction to the glass/metal. Unsurprising as it is also only 3mm thick. As such I would estimate that there was probably a 3mm gap in normal use between the hot plate and the glass at the centre of the bed. Wonderful.

Fig 13: Heat bed warp

Solution: Check to see if your glass is similarly warped, then check the aluminium plate underneath. More people have luck with the aluminium being flat, so in my case I bought a nice powder coated PEI spring sheet steel from the linked vendor on Aliexpress - I can highly recommend this seller both for the product and the customer service.

ENERGETIC Double-sided PEI Textured / Smooth Powder Coated Spring Steel Sheet with Magnetic Base

It comes with a magnetic sheet, peel off for sticky on one side. I stuck it straight to the aluminium, and the spring steel sits nicely on top. So much better! It is even happy at temperatures up to 140°C (284°F), unlike the Wanhao flexible magnetic build surface which starts to demagnetise above 60°C. Of course, the hot bed on the D9 is underpowered with around 0.2W/cm(2) - but they vary quite a lot due to poor quality control, mine outputs around 190W whereas other people have measured theirs closer to 250W. As such my own unit cannot reach much over 90°C. Power levels of 0.4 to 0.6W/cm(2) would be required to heat the bed up for ABS level temperatures.


Some time after bringing out the MKII, Wanhao redesigned to partly fix this issue. They essentially reversed orientation on the entire hot end assembly, such that the red heat sink is now flush against the X gantry carriage. Why they didn't do this to begin, I have no freaking idea. Perhaps they got the idea from somewhere, like this page - a thought which makes me feel genuinely dirty, I would much rather NOT be giving engineering tips Wanhao, but there you go. Anyway, the new design does not move the steppers or stiffen up the connection between X and Z axis, but it is much better for sure.

Lets visit the design decision anyway. We are interested in the position of the nozzle when referenced to the lead screw nuts holding the Z axis in place, and the multiple places where flex/backlash can occur. Look at this picture:

Fig 14: Overhang from nut to X rail, and from X rail to nozzle.

Consider - the extruder/hot end, carriage, X stepper, and V rail (hidden behind the 4 screws in the middle, using Bleughs belt tensioning system) are all essentially hung off the Z axis nut, that you can see to the far right in this image. The Z wheels on the 4040 "rail" are there to keep these parts upright, but ultimately the force is transferred to the nuts meaning we still have something of a lever system. Important then is the distance of the nozzle to these two nuts - and here the Wanhao "engineers" chose a configuration that placed them literally as far apart as possible. I suspect this was partly a choice of looks over function, and partly laziness. Ideally, these parts would arranged with the nuts and nozzle essentially in a straight line when viewed from the side. Admittedly this is difficult to achieve, however on the D9 the nozzle is overhanging about 163mm or 6 1/2". This is huge, and at each connection point more flex is added into the system. The worst connection is the way the X carriage is held to the rail, this can flex a ton, but the single bar joining the X rail to the Z carriage (in the middle, in front of the Z axis 4040 "rails") also flexes, as does the X rail itself with torsional flex (it can easily be felt vibrating during prints). All this flex leads to unwanted vertical movement at the nozzle. This will be most noticeable when Z hop is active, and means that Z jerk and acceleration need to be set very low to not induce artefacts - which they are as per factory settings.

Solution: Unfortunately, beyond simply limiting your print speed etc (again), there is no easy solution for owners of previous models of the D9. I did consider rearranging the position of all the parts and printing new brackets, but it was too much hassle given the shortcomings of the V wheels and their poor implementation. I am currently moving to linear rails instead, and will do a complete redesign then. Watch this space, or message me for updates.

Z Braces

... or rather, the lack of them on the MK1. Again, these have been added to the MK2, but you still have to wonder, what were they thinking? The core problem is that the vertical aluminium extrusions that form the Z axis, were free floating at the top. Only constrained by small angle brackets at the base - see picture, you can just about make the brackets out. It was trivial for me to try printing something and touch the top of the extrusions. They were clearly and obviously vibrating. What use is 400mm build height, if the top end can move around so much?

That said, Wanhao are not alone in making this absurd design choice - other companies such as Creality have shipped designs that need to be modified in this way just to be functional higher up the Z axis. Wanhao of course just copied them.

Solution? Wanhao used to offer these "free" and for "just postage cost" of $30, which seems a little high given that the Chinese Government subsidises shipping but hey. You now have to buy them and pay postage. Fortunately there are braces you can print, such as the ones I designed to use M10 threaded rods:


Fig 15: Z Axis Flex Direction


Wanhaos latest firmware is based on Marlin 1.1.4 - released in July 2017. Given the breakneck pace of development in 3d printing over the last few years, this is badly out of date. And they only updated and released this version after a great deal of hassling from irate owners. Worst still, they didn't even do a good job. Marlin original 1.1.4 contains features like babysteps - the ability to tweak Z position during the start of the print to get a perfect first layer. Wanhao chose not to include it. Instead, during the auto-homing procedure you can adjust Z height in increments of 0.1mm. Given first layer heights are often in the range of 0.15mm, that is simply too large. Another "feature" Wanhao added which annoyed me no end, was to cause the x and y axis to go to home when you cancel a print. Sounds great, except this happens without raising Z first and without consideration for the shape of the bed. As such, if you are on your first layer, and your bed is slightly higher on the left than the right, the still very hot nozzle will be dragged over and into the soft, magnetic print surfaces. When I bought my second hand, little used D9 I noticed the bed was covered in a series of lines, all returning to an outside edge and then moving to a corner, two of which had small melt holes in them - and I wondered why. Now I know. So unless you install a new mainboard or reprogram the existing one (see below), the best way to cancel a print on the first layer is to hit the power off switch (and even then it starts moving on the X!). Speaking of Z height, when you set this during the auto-levelling process, it won't actually print at this height - instead it prints with the nozzle about 1mm above the height you have set. WTF? I have no idea. As a result, you need to push the nozzle about 1mm down into the bed during the auto level. But to get decent levelling, you also need to have the bed temperature set to printing temperature (it warps as it heats up). But you can only pre-heat the bed AND the nozzle, to pre-set PLA or ABS temperatures. The result? You have to push the now fully heated nozzle 1mm into the bed, and you quickly develop a small burn hole at that location.

And there are other problems, like the deeply unhelpful "it in in progress, please wait" error that essentially hangs the printer mid print. The last time I experienced this was 6h into a 1 day print. Yey. I figured it out in the end, but it was still annoying and unnecessary. Another one - they switched to a BLTouch probe on the MKII, and released new firmware for people to upgrade with, but didnt correct for the new offset during auto-levelling so it tries to level with the sensor off the back of the bed. Naturally, they have never actually corrected this, even though it would be trivial for them to do so. Nice. Finally, typifying the lack of care, fan speed is listed as 255% when at max - this is actually the PWM value, the way fan speed is controlled at the firmware level, which goes from 0-255. It is not a percentage. So e.g. a real 25% speed would be shown as 64%. This is a kindergarten level programming mistake. Worst, if you manually set fan speed you are given the normal range of 0-100% - only the same mistake is in effect, meaning if you set it to 100%, it will say 100% but you will only actually get 39%. Awesome! Thanks Wanhao.

Solution: Steve Wagg has ported a version of Tiny Machines Marlin 1.1.9, originally written for the Creality CR-10S Pro (uses the same LCD touchscreen as the D9). You may be able to flash your LCD and Mainboard with it, alas for reasons unknown I was unable to flash the LCD and had to buy a new mainboard and LCD instead. Quite a few people have also moved to the MKS GEN L, replacing the entire mainboard and drivers, and it apparently fits quite well - there are even mounts on thingiverse. Personally however I decided to go with a Duet 2 Maestro, supporting a UK based company that is innovating while also giving myself an epically good board.

Waggster Firmware Link
MKS Gen L and MKS TFT35
Duet Maestro

Is that all you got?

Well, no, actually! I realise that this list might seem exhaustive, but it is really just my own experience after having worked with - mostly on - this printer for the last month or so. There is more, some sourced from the Wanhao Facebook group. Lets review in brief:

  • Awful customer service from Wanhao (not the resellers, they seem pretty good). Common to Chinese 3d printer manufacturers, but Wanhao take it to the next level e.g. my personal gripe, their refusal to release specifications for the stepper motors.
  • Lazy assembly and poor quality control. Again, this is common with Chinese 3d printers, but again, Wanhao managed to fail here in a truly epic manner. I spoke with someone who ran a well known Wanhao reseller site, and spent 3 years building up the business. He no longer sells the printers however, as he got tired of taking the flak. By his estimation and from customer feedback, over 50% of the units he sold had issues. Not a typo! Worst, he was stuck with over $4,000 of printers that simply didnt work straight from the factory. Wanhao did not reimburse. They made regular promises but never fixed the core problems, and instead simply moved on from the D9. For a company that once had a strong and loyal following, with the D9 they totally burned any good will they once had.
  • Sudden de-levelling has been noted by many users. They will have auto-levelled the bed and it will be working fine, and then when starting a new print the nozzle will crash into the bed. This can only be fixed by doing a factory reset, and is thought to be caused by corruption of the config files. Which in turn may be due to either firmware issues or cheap electronics components - my bet is on the latter.
  • Low quality bearings on the V wheels causing them to "stick" at their previous resting point and creating wobble as the wheels move along the rails. Another common problem on Chinese 3d printers, a result of their using cheap Chinese bearings. Running the numbers, budget but serviceable bearings from a European vendor and bought in bulk, would cost about £42 / $53 for the MKI or £56 / $72 for the MKII, which has extra wheels. So this is a significant cost. I do not think this is an excuse, but in the quest for reducing 3d printer costs, you can understand the decision.
  • Moire, also known as zebra stripes or salmon skin can be quite a problem with the extruder. Although this is an issue with many extruders, especially direct drive systems, it is (as usual) extra bad on Wanhao products - not just the D9. Cheap steppers, bad tuning, and poorly designed extruder systems all contribute to this. Some people have found that adding TL smoothers helps, but you really need a better hot end entirely, such as this one designed specifically for the D9: Bondtech Extruder Upgrade (amazon affiliate link).
  • Electronics issues - my splitter board failed and needed to be replaced. The splitter board is basically a breakout board for the ribbon cable, and apparently this is a known issue on the MKI, caused by components being under-rated for the voltage/current capacity. Another school yard error then. I have seen people complaining of other electrical problems, from the printer just switching off on them mid print, to the power break sensor glitching and needing to be removed, or even the mainboard simply dying. The list goes on.
  • The D9 has no filament runout sensor - which is annoying for users of the 300x300 printer, but crazy for the 500x500. The whole point of all that space is to enable users to print massive parts, which could easily use a whole reel. But this printer just keeps on printing air regardless.
  • Speaking of the x500 version, the heating elements are the same size as the x300. Meaning there is a 100mm gap between the elements and the edge of the bed. This is astonishingly bad - users have measured a temperature difference up to 35°C (95°F) between the centre and edges of the bed. Also although I have not had confirmation, I suspect then that the power level is the same as the already underpowered x300, which would have obvious consequences for time taken to heat up and maximum temperature.

So, is there anything Wanhao actually did right??

I'm struggling here. In all honesty, I am not writing this article as someone with a personal grudge against Wanhao - at least, no more than is reasonable given the pain they have put me and all other D9 users through. So let's see....

  • Runs on 24v supply, rather than 12v - this gives you better performance from the steppers (more torque at higher speed), ability to use thinner wires like the ribbon cable, and theoretically more power for the heat bed. I say theoretically, as have an old 12v printer than can reach higher bed temperature than the D9, so while this would have been nice, the hot bed is unfortunately underpowered.
  • The bulk of the frame is 4040 aluminium extrusion, admirably stiff and strong. Joints are solid and sturdy. Some of the hardware is good, such as machined aluminium brackets and quality leadscrew couplings. The downside of a 4040 frame is that it is actually overbuilt, which means more expensive in parts as well as extra shipping / handling costs, all without any actual benefit. Paid for, ultimately, by the customer.
  • I quite like the ribbon cable? It has come under fire from some users, but I think it a neat solution.
  • LCD touchscreen - you have to give it a much sharper poke than the screens on our phones, but once you get used to it, it is pretty nice. I don't like the lack of options presented by the touchscreen, actually a well fleshed out menu structure in text with a standard dial would be better. But software aside, the touchscreen itself works reasonably well.
  • Looks pretty cool?

That's all I got...

Some people might point to the "power recovery" feature which lets you restart a print if the power fails, however since I live in the UK and not in Africa or California (jk), this is not particularly helpful!

Recommendations instead of the D9

Clearly, if you have got this far, you can see the D9 is not a printer to buy, unless you have a fetish for analysing engineering fails <cough>. So, which to buy instead? The Creality CR-10S or CR-10S Pro are the clear choices.

Creality CR-10S Pro

Amazon Affiliates link

Creality CR-10S Pro

Amazon Affiliates link

Although I have no experience with this printer myself, it is much loved by reviewers all over the internet. I was going to buy it myself, until the D9 came up looking like a good deal. Damnit.

A few features on the CR-10S compare with the D9:

  • Eccentric spacers holding the V wheels in place - instantly superior to the D9's dodgy sprung preload system. Y axis has a single 20x40 V rail with x6 V-wheels in a row. No issue with dual rail alignment issues, much more rotational stiffness. I would be interested to see if there is potential for rocking side to side, but eccentric spacers should keep it pretty tight.
  • Much stronger design and geometry - for instance how the X axis is held in place, implementation here is infinitely better with both the lead screw and nozzle being much tighter into the rail, and the setup generally being much stiffer. Also there are some lovely engineering touches, like running the X axis belt almost inside the rail.
  • Filament runout sensor.
  • Max bed temp 100°C on 10S, 110°C on 10S Pro reached in 5 minutes
  • 2x geared extruder on 10S Pro
  • Actual manual belt tensioners! Revolutionary I know....
  • MUCH bigger and more active community base = more easily accessible upgrades. I was shocked about how little was available for the D9 and how much I had to do myself - I suspect most people simply gave up on it.
  • Seeing the Benchy prints people get without a single modification, makes me feel genuinely sick. I'm not even joking.

Places for improvement would be adding Z braces, and perhaps a better part cooling setup - existing one is similar in many ways to the MKII. Also note that there are question marks about quality control, and Crealities customer service is just as non-existent as Wanhaos. However, the active community base and genuinely well designed product, more than makes up for these issues.


TL:DL Summary

Yes, this is a stupidly long article, so let me sum up each point

  • Extruder and Part Cooling: Totally useless axial fans in the MKI mean part and heat sink cooling are completely broken. They didnt even manage to aim the tiny part cooling flow at the hot end. MKII improved here, but still poor implementation. Heat sink cooling in general should be renamed the "jam-o-matic" due to its utter inability to stop heat creep.
  • V wheels on 4040 T-Slot Extrusions: 4040 rails are not designed for V slot wheels, and cause rapid wear. Wanhao could have machined in the correct profile, but chose not to.
  • Sprung Belt Preloaders: Springs are designed to stretch. Belts are designed not the stretch. See the problem? A quick way to introduce dynamic backlash.
  • Sprung V Wheel: Another sprung preload system holding each axis, but doing a poor job of it. Allows carriages to flex on each rail, causes uneven wear, exacerbates problems with cheap bearings.
  • Bed Warping: Steel glued to glass hot plate either came from factory warped, or repeat heat cooling cycles made them warp together due to uneven thermal expansion/contraction. My unit probably had 3mm gap in the middle between glass and aluminium hot plate.
    • Additionally, heated bed underpowered at around 0.2W/cm(2), mine maxes out around 92°C. 0.4-0.6W/cm(2) would be needed to reach higher bed temperatures preferred by ABS.
  • Geometry: Nozzle placed as far from Z nut as conceivably possible, huge overhang. Bad design choice.
  • Z Braces: Lack of them in MKI meant that top of Z axis vibrated around like crazy during use, completely unusable for tall objects.
  • Firmware: Marlin version outdated and with features missing, and other features added by Wanhao were badly implemented and can easily cause significant damage to build surface.
  • Also issues with quality of V wheel bearings, electronics failing, awful quality control (estimated 50% units shipped had issues), config data corruption causing de-levelling (factory reset required), moire, 100mm space between heating element and edge of the bed on the x500 version, and lack of customer service from Wanhao central. Etc.
  • Good things on the D9: Uses 24v power supply (more torque from steppers at speed), strong frame, nice hardware fittings (brackets etc) in some places, LCD touchscreen.

Conclusion: Epic Fail

The Chinese can create and engineer some great products. However, what people in the West do not see is the quality of goods that the Chinese produce for their internal market, which can be truly atrocious. For instance, the only people in China who drive Chinese cars are people who cannot afford foreign imports. An example I saw recently (on a Youtube channel I watch), was how the rubber on the engine air hose had simply perished after a year of use, causing air to be sucked directly into the engine, from the street, without going through the filters first. Rubber is a well understood product, with various grades available - that the engineers chose to use a low grade variety that will inevitably fail, not only speaks to an astonishing lack of care by the "designers" (quotation marks, as almost all Chinese cars are cheap copies of non-Chinese cars), but it also speaks to the mentality of the Chinese consumer. There is no culture of caring for their purchases - to the point of e.g. not bothering to check or change their engine oil. They buy products, use them until they break, and then throw them away. It is my opinion that a similar lack of care was displayed here by the Wanhao engineers. They designed the D9 as if they were selling to their internal market, without understanding that you simply cannot do this when exporting. Hopefully they will learn this lesson in the future, one way or another. That said, this is not the first sub-par product Wanhao have produced, and unfortunately it is unlikely to be their last. I can only hope this detailed breakdown will help others avoid the many, many hours of frustration, not to mention the considerable extra money I have had to pay, to fix this terrible 3d printer.

In closing, I can add two other points of amusement. The first is that Tom Sanladerer recently reviewed the Formbot Raptor 2.0 - his title "This huge 3D printer was fun, but absolutely no one should buy it" pretty much tells you all you need to know. He tore it to shreds. When watching, I noticed the same odour of fail that the D9 exudes, and found it curious they used the same black 4040 extrusions. So I dig some digging. And as it turns out, the head offices Formbot and Wanhao are just 15 minutes drive from each other, located in a tiny city called Jinhua. What are the chances! Amazing really, given that Jinhua is predominantly an agricultural city, not exactly known as a hotbed of 3d printing "excellence". But I am sure it is just a mad coincidence!! And finally, if I have not convinced you yet then perhaps a thread from the Facebook Wanhao group will do so.... enjoy.....

Still reading?

Hey, if you are still here then you might be interested in this - I wrote an article detailing a few tricks I've figured out over the years for how to design better parts for 3d printing, such as how to reduce warp and create stronger parts,  check it out here.

14 thoughts on “Wanhao Duplicator 9 Review – crimes against engineering (and how to fix them)

  1. I’ve been building and using my Wanhao D9 MK1 (purchased recently from Monoprice as an open box for a steal at $160) for a month or so, and I really appreciate the detailed breakdown of issues in your blog. A few points and questions:

    – My printer Z axis does use proper 40mm v-slot extrusion. Not sure if Monoprice pressed this issue but I’m glad as the Z axis motion system seems OK.
    – Thanks to your article I did purchase the PEI powder coated spring steel sheet, and was wondering what your long-term feedback is on this item. Do you have any issues with durability or flatness?
    – I’m keen to re-engineer the X axis carriage mounting as it seems way too flimsy for the direct drive system.
    – I’m about to replace the extruder with a BMG clone, but long term want to design a mount for the Hemera hotend/extruder. Is this something you’ve considered?

    Thanks again for the time you’ve taken to write up your thoughts. I’ll probably start blogging about my experiences when I have time.

  2. Hi Matt!
    No problem, and happy you found the article useful. Although as you can see, I have many issues with this printer, $160 is still a crazy price – I imagine you would struggle to buy all the components in China for that. So hey, if you enjoy modding then what the hell. Your points:
    – Thanks for the update re the Z axis – that is really interesting. Wanhao like to make changes as they go it seems, so there are multiple versions of both the mk1 and mk2 floating around. I suspect there are probably a lot of old boxes sitting around in shops and warehouses as well, so its entirely possible if you were to buy a D9 from two different vendors today, you could receive a different product from each. Anyway I’ll update the article to reflect this – out of interest, how did they make the change? Is it still a 4040 extrusion as per the pictures, but with correct faces milled into it, or have they gone with a different extrusion entirely?
    – PEI coated spring steel – yeah I still like it. My main problem with the product itself is getting ABS to stick to it – but then I dont have an enclosure yet and I can only get the bed to 90degC, neither of which will help, plus I’ve only tried the textured side. There are other higher temperature filaments that stick well, e.g. Formfutura ApolloX and actually stick too well. No issues with durability, I have the version with PEI sheet one side and textured powder coated the other and have actually started using an orbital sander (400 grit quality sandpaper) on the flat sheet side, so I get a perfect finish when the components come off. Previous prints can be lightly visible otherwise, and I need it to look perfect – but the powder coated side seems hugely resilient to knocks etc. Flatness is not an issue, mine has actually been slightly bowed since I did a big print on it some time back, but it doesnt matter because the sheet gets pulled down fully onto the magnetic bed. Which is itself my main issue in that regard, as it warps and changes shape with different temperatures…. have been seriously considering buying a 6 to 8mm thick aluminium tooling plate, milling some PCB heater elements, and replacing the old plate entirely. But if you always run it at at 60C then it is very repeatable.
    – I’ve recently got all my linear rail axis working nicely (had a true saga of epic fail with a chinese vendor that delayed things enormously, never ever ever ever buy from “Singasong”….) – but now it is working I am very happy with the result. The steel rail combined with the alu 2020 seems totally stiff enough.
    – Hemera, yes I’ve been considering buying one since it came out! Trouble is my titan/v6 clone was actually in the post when they released it, horrible timing, if I hadnt already bought and designed for my close then I would have gone with the Hemera for sure. Mounting should be easy, they’ve done a nice job with that. That said, my machine uses a chunky 400ma CPU cooling fan, so anything I design will be for that, which may be an problem for anyone else who wants to use my designs! Its easy with a Duet board but I’m not sure the how much current the Wanhao or MKS boards can supply. I mean it might work…. but….. it might not….

    If you blog, come back here and drop a link :).

  3. Thanks – will do! You’re right about the price of the parts vs. just fixing the issues with the printer. That was my thought going in and so far I’m really happy with the choice. Seems like Monoprice might be dumping these below cost due to poor engineering and no updates from Wanhao. The Z axis extrusion is obviously T-slot with the two opposing slots machined to have a 45 degree flat surface. I’ll consider ordering the Hemera if the BMG clone gives me problems, but despite the obviously insufficient parts cooling and tendency for heat creep I haven’t had problems with clogging or bridging large gaps with PLA or PETG. My biggest issue right now is the stock extruder which is just embarrassingly poor and inconsistent. Great info about the linear rail conversion. I’m curious if the rail carriage could be designed so that it rides fully within the Z towers to reduce the amount of X axis cantilever. If I do a Hemera mount I may seriously consider this.

  4. OK interesting – I guess they probably processed the 4040 extrusions like I mentioned in the article then, nice that they finally figured this out! Yeah I’m sure you are right about dumping printers, probably made the decision to discontinue and needed to offload at a price the market will accept… I seem to remember them trying to sell at $250 before, but I guess people weren’t buying…. can’t think why!!
    With the positioning of the hot end, I did consider trying to put it on the other side, but it would have required rearranging the z posts, and then remaking the Z braces, etc etc… plus it would horribly reduce visibility – something I learned about with my current design, maximising space and visibility around the nozzle itself. And a little bit of cantilever is fine, so long as everything is nice and stiff. I’m totally happy with my current design in that regard – I’ll have to do a full article detailing all the mods some time, at least once I’ve finalised everything (if there is such a thing as a final design?!).
    OK well, best of luck! And thanks for the comments!

    1.5 years ago, I went to our local 3D printer store to buy a Creality something something. (I can’t remember the model now, but at the time, the reviews were reasonable).

    The guy at the store talked me into this STUPID Wanhao Duplicator 9 MK2 400.
    It was pricey. When I got it home and assembled it, IMMEDIATELY, the right size of the gantry (Y axis) would not move up or down in sync with the left side.
    I discovered the problem on the bar itself. I took the printer back to the store and the “owner” tried to rip me off by LOOSENING the screws so it would move!!!


    So after that, the 2 sides moved properly. But I just could not get good prints.
    That took a long time to filddle with slicer settings and the machine itself.

    Only to find out that the rollers where warped from the factory!!!! Yup! WARPED!
    I used my electronic microscope to monitor the X movement and sure enough, it was like a boat going across a chopping lake. It moved up and down as per the warp.

    There’s a ton of issue, but I won’t bother listing them.

    I finally got this piece of crap to print well, BUT, it was NEVER reliable!
    It could just stop or complain that it ran out of filament when the filament was there.

    So I let this EXPENSIVE junk sit for months.

    This week, I needed to print some projects. Well just forget about that!

    Now, it will print the 1st layer perfectly and a few layers on that.
    But it gets to certain points, perhaps 5 layers, maybe 7 and it’s no longer extruding!
    The drive gear is turning, but the filament is on the top of the gear instead of sandwiched.

    I’ve noticed for a long time that the drive gear seemed to be slipping a lot and not able to pull the filament from the roll. I made a spool holder that reduced tension greatly. But still, it would mess up.

    So, logically, I figured that the drive gear needs to be cleaned and the tension spring tightned.

    So yesterday, I took off and disassembled the entire extruder. I was able to open it up and sure enough, the gear and tension were gummed up! I thought this was great as this MUST BE the issue.
    I cleaned it all up nicely and stretched the spring to make more tension.
    Now, the gear grabs the filament so nice and tight that it doesn’t slip.

    I put it all back together and ran a test. SAME PROBLEM, roughly in the same area!!!
    I even stood there and watched it.
    That is significant as is the fact that it will print a few layers no problem then all of a sudden, the filament comes out of the top. It seems melted there.
    So the other thing, is I’m aware of heat creep on these trash heaps. So even though the gear area wasn’t hot to the touch, I still added a fan to blow right into the gear to keep it cool and not melt the filament if heat creeped up there.
    But nope, SAME PROBLEM.

    So then I started thinking, hmmm…. no more “out of filament” warning… this issue happens roughly at the same level(s)…. perhaps it’s the wiring harness OR maybe even the plug-in connections on the Melzi board.

    So that’s on my list for today. I’m going to take off the wiring harness (that’s the one that goes to the top of the extruder, up and inside the rails, down to the bottom and across to the controller.
    I’m going to quickly design an Arduino wire checking device, where I can plug in both ends of the cable and let Arduino measure each of the wires for opens, shorts and resistances.

    Then, I’ll rip apart the Melzi board to see how it is and perhaps just solder in all the wires that were plugged in.

    This is either a kill or cure project at this point!

    I HATE THIS PIECE OF JUNK and wish that I had not listened to that guy.
    The point of buying THIS machine was the direct drive instead of Boden as I like to print with Flexi filament.

    I just thought I’d share my story and I hope that others who might be thinking of buying a Wanhao,


  6. Please HELP !? After I installed the MKII upgrade on my D9-300 and new firmware, everything appeared to be working. The BL-Touch works, auto-leveling works, but then when I attempted to turn on the heaters, the machine reported 355° on the extruder and so obviously it would not turn on the heaters. If I unplug the thermistor, it reads -15° so the connection and the connector, are correct. Everything worked perfectly before the update so I’m sure there’s no physical defects anywhere. I was super careful handling the extruder and the wires are not broken or anything, they are in perfect condition. Has this happened to anyone else? What is the solution?

  7. Hey Bill – just seen your message, I’m not familiar with this bug sorry! But if you flashed to new firmware, can you not flash back to the old? Or install Waggsters firmware – which is better anyway. I also suggest you try the facebook groups (there are two), people there will be more up to date with this stuff than me, I dont really follow so much any more. Good luck….

  8. This is a great write-up on the D9 that seems to cover all the issues and good points of it. This is a very thorough review. Really nice job!

    The ribbon cable was an excellent idea IMHO too and love it. I never converted the ribbon cable to MK2 version because of how flexible the mk1 cable is. There is very little pressure put on the connector when the extruder moves. The main structure is very sturdy… especially with the angle arms in the front. There are some things I really like about it.

    Things I have done…

    Replaced fan on power supply (fan died)
    Replaced fan that blows on mainboard (fan died)
    Replaced fan on extruder before upgrading it (fan died)
    Replaced fan on heatbreak before upgrading it (fan died)
    (Some research has shown that the fans used are meant to be mounted vertically and not horizontally or they will fail over time.)
    Replaced wheels with polycarbonate to fix constant readjusting level height and also fixed the wheels that had the rubber part shifted wich caused the extruder of many things to wobble up and down as it went left and right on the Y axis.
    Using a custom extruder fan that blows from all directions and is quieter (using a quieter and more powerful blower fan)
    Using a custom heatbreak fan assembly to help with heatbreak cooling (blower fan)
    Bondtech upgrade extruder
    Removed spring from Y axis and using bleugh’s adjustable tension mod
    Removed spring from X axis and using bleugh’s adjustable tension mod

    Another thing to add I think is that the heatbreak is soo far into the heatblock that if you don’t get the nozzle as close to the heatbreak as possible, the top of the heatbreak can touch the heatblock rendering the skinny part of the heatbreak pretty much useless causing clogs. I figured that out recently that was driving me mad. The heatbreak really should have been designed to go up a little higher so that it isn’t so tricky trying to get the nozzle as close to the heatblock as possible. Need some more room for adjustment there.

    The only other issue is the warped bed (it is lower in the center). I think the glass bed is better but I don’t want to add weight by going to the MK2 glass bed so I just live with it. The mesh bad leveling that Wanhao enabled in the firmware at least compensates for it. If I ever need to glue 2 faces together though with a multi part print, The surfaces will not mate together flat as both will be convex. I rarely do multi part prints that need to be put together. I hope to one day resolve that though with some kind of mod.

    It has been a journey but I am very happy where I am right now with the exeption of the bed warp issue that I can deal with.

  9. Hi, thanks for the write up! And apologies for the late response, thought I had fixed my site notification issues but obviously not…

  10. Hi
    my D9 in make crime progress

  11. Hello Rob

    Attention Bill

    Problems my be related to the thermister type which has been set in the firmware
    If you can edit the firmware and recompile it you can change the thermister type for the hotend and the bed before uploading it
    If not you may need to source another copy of the firmaware which does not give the problem


  12. Hello Rob

    I have a D9/300 Mk2 which I purhased about 18 months ago a which worked for a while before dying
    I have now returned to it and thanks to your article I know points to address
    I am modding up as follows
    installing X and Y tensioners B.Leugh
    upgrading extruder and hotend (Hemera extruder and V6 hotend) Redesigned mounting plate to fit)
    Redesigned part cooling shroud (cools both sides of part using blower fan)
    Will use your solution for X and Y V Wheel preloaders
    Upgrade motherboard Bigtreetech SKR3 with marlin firmware

    So far bed is not warped
    40×40 Extrusion is correct profile for V wheels

    I will continue because I enjoy modding and its the journey right
    I have no doubt there will be other issues but it is educational

  13. I got one of these machines for FREE and it’s damaged. Trying to figure out how to buy replacement parts and Frankenstein it to a working machine. Worth the effort and money? Any advice on where to start? No engineering background, but mechanical brain and very willing to learn.

  14. Nice to get it for free, as for whether it’s worth it – depends how much time and money you’re willing to spend, or if you just want to tinker. And what version it is, mk1/mk2/mk3, does it have proper linear rail guides on the Z or not, in what way it’s damaged etc – hard for me to make an assessment remotely. Generally though, my #1 upgrade would be getting rid of the torsion springs and installing real belt tensioners, plus replacing the part cooling fan setup with one that is actually functional, and any other more easily printable upgrades, check these for instance, mods I did before swapping to linear rails:
    I’d also swap out the old build surface for the spring steel, at least if it’s warped, which it probably is. Flash the board if you can, though that could get more involved, better yet replace it, though that takes a lot more time, and could get expensive depending on which board you replace it with. Then you’re looking at swapping in linear rails…. good luck!

Leave a Reply

Your email address will not be published. Required fields are marked *