New & Reviewed

Built & Tested: Creality CR-10S Pro V2 3D Printer

Daniel Koch

Issue 48, July 2021

We bought a new 3D printer, and we wanted to share our buying process and our impression of our new printer.

All machines have a lifespan, and we’ve worked our faithful old LulzBot Taz 6 into the ground. The price, performance and quality of LulzBot products was always high, but whether they were proportional was a matter of debate. While LulzBot has been bought after collapsing, few resellers are importing them into Australia, and there have been design changes that mean new spares don’t go straight into or onto the old ones.

With that in mind, we decided to shop around. While we use our printers a lot, we’re not a production environment, nor are we printing in specialised materials or needing very rapid prototypes. While there are some amazing printers around, we couldn’t justify five to ten thousand dollars for an amazing machine that would be very much fun to have but never used to even half its potential.

After comparing several brands and sellers, we settled on a Creality CR-10S Pro V2, which we bought from Aurarum. We settled on this particular model because it has a good build volume, but does not have the separate control unit and umbilical cord that many Creality products have. We’ll get into why that’s an issue later. There is a healthy array of spares, upgrades, and add-ons available, both genuine and aftermarket. It comes mostly assembled and has a few helpful features some of the others do not.


It’s rare to find a 3D printer, or any other piece of equipment, that is exactly what you’re looking for. Almost all purchasing decisions are an exercise in trade-offs. Sometimes they’re big compromises, sometimes just little details. Once we had assessed that Creality was the brand to buy based on the relationship between price, capability, and features (and also the fact there are big stock availability problems for a lot of other brands), it was quite a difficult decision to choose a model.


Some Creality printers have a control unit that is separate from the main chassis. This has advantages and disadvantages on its own but generally, most of these units mount the filament spool holder on top, separate from the chassis of the machine. This has drawn criticism from many users, and it does not take much to cause feed problems. Filament must be aligned so that it feeds smoothly into the extruder motor, otherwise excessive resistance can cause underfeeding, and excessive bends can snap filament. Additionally, the umbilical is another plug and socket which have strain on them during movement, raising another potential point of future failure. Then, you have to put the thing somewhere. That all combined to persuade us to look for a unit with the control system inbuilt.


The two dominating filament drive systems are Bowden and Direct drives. The Bowden style is the one with the extruder motor mounted to the side of the frame and a long low-friction plastic tube leading to the top of the hot end. Direct drives feature the drive motor mounted straight over the top of the hot end, moving with it, and the feed tube from the extruder out to the side or top of the frame. Both have advantages and disadvantages, as always. Bowden tubes jam more easily, because there is far more flex and slack between feed drive point and hot end. They struggle with flexible filaments, and don’t always give consistent feed even with PLA, thanks to all the elasticity in the system. They do, however, move the weight of the motor and drive system off the moving axis and into something rigid, which aids print quality by removing the inertia of all that moving mass.

Direct drive systems overcome those issues at the expense of the extra weight on the moving axis and of having to be more compact. The mass/inertia issue is less and less of a problem with modern printers, with tighter tolerances and better axis drive and travel designs. One of the DIYODE team owns a Flashforge Guider II with over 3500 print hours, and this direct-drive machine has never displayed issues of print quality that could reasonably be attributed to interia from the drive mass. The absence of slack in the feed system means that flexible filaments can be used, and extrusion consistency is improved. It also makes retraction during prints, where that is employed, more reliable. We wanted to find a printer with a direct drive.


Bed levelling is critical to a successful print. This involves both eliminating tilt or slope on the build surface, but also includes the calibration of distance between nozzle and print bed. Technically this is not levelling, but is usually lumped in with the process, so we’ll treat it as part and parcel. LulzBot led the way in terms of consumer printers with automatic bed levelling. The printer bed on the LulzBot Taz 6 was not adjustable. It featured four corner clamps for the glass build surface, fixed to an aluminium carrier plate. Also there was a tubular limit switch. The height was checked first with this switch, then all four corners. A voltage is applied here, and the build plate with its metal clamps connected is wired to the same tubular limit switch. Once the initial level was established with the switch, the head moved to each corner and moved slowly down until contact was made with the clamp, establishing the height of that corner.

After this, software was used to compensate for any slope or inconsistency in the build surface. There were two significant problems with this. Firstly, it worked very well until it didn’t. If anything went wrong, there wasn’t a whole lot you could do about it. Secondly, there was no manual control or input. Few build surfaces are absolutely flat. Any curvature in the bed had to be assumed, and if this assumption was wrong, the correction was wrong. Very advanced users could partly fix this with g code or modified firmware but most of us were stuck with it. In the end, this is what killed our LulzBot. The glass plate had domed slightly, and the software’s assumption about the height of the bed was around 0.15mm too low. Fixing this either with new parts or code modification was uneconomical.

By contrast, many other printers use manual levelling. This involves usually three or four thumb screws which adjust the bed. Calibration is done with something like a sheet of paper, and the bed is adjusted to the best compromise between high and low spots. Many more recent printers have a levelling feature in the software which moves the bed to five or more locations, then after manual levelling, stores the offset in memory. Some printers, such as the Flashforge Guider II, augment this with a semi-automated system using a sensor. This still has manual input, which generally performs better than a bunch of assumptions.

The Creality series are manually levelled, but some come with, and others can be upgraded to, the BL Touch levelling system. This is an inductive sensor arrangement which measures a grid of twenty five spots on the bed, and stores each offset in memory. This is done after an initial five-point manual levelling operation, and is used to compensate very accurately for small inconsistencies in bed surface height. Best of all, there is a function in the firmware that allows manual offset of nozzle height by 0.1mm increments after levelling has taken place, so you can test print and modify the whole set of data by 0.1mm at a time without adjusting any screws or doing anything else that could change the balance already achieved.


Other things we were looking for were; a build volume of at least 250mm x 250mm x 250mm; good build quality with plenty of rigidity; the ability to print in basic and some exotic filaments; a build surface that was easy to remove parts from and not half the printer cost to replace; a user-friendly interface, something the LulzBot lacked; reasonable manual control or user input to settings; build speed; availability of spare parts and upgrades; and availability of the printer itself. Getting stock of a lot of 3D printers has been an issue for a while now, and spares are also affected. We wanted to buy from an Australian reseller, which meant there had to be Australian stock on hand or due soon.


We expected that we would not get absolutely every factor or feature we wanted. That’s rarely possible. We established being in stock and having the build volume that we wanted as the two most critical factors, then ranked having an integrated rather than separate controller and filament holder; rigid frame; direct drive; available spares and upgrades; exotic filament capability; automatic levelling; and being touch screen; in that order. The machine we bought from Aurarum was the Creality CR-10S Pro V2. It ticks some boxes but not others. It was in stock. It has a build volume of 300mm x 300mm x 400mm. It has an integrated controller with touch screen and not an index wheel, and a filament holder on the main frame. It has a fairly rigid frame but some accounts suggest wobbling in the upper 150mm or so if z-axis travel. It does not have direct drive, sadly. An upgrade kit for this is available, although it wasn’t in stock at the time. There is a comfortable range of spares and upgrades available. It can print a broad range of filaments. The build surface is coated in a material that releases more easily when cold. It has the BL Touch automatic levelling system as standard. Finally, the firmware has the necessary user-friendliness and plenty of manual input options rather than fixed assumptions. With that decided, we ordered it.


Opening the box revealed plenty of dense foam with cutouts securely housing all the parts needed. There is a bag of spare parts, which includes a bowden tube fitting (a standard pneumatic push-fit item in the correct size), spare feed tube, two retainer clips, a spare nozzle and a probe for the BL Touch sensor. Also in the kit are some tools: A pair of side cutters and a print removal scraper with a decent edge are provided along with five allen keys, one single-ended and one double-ended spanner, nozzle cleaning needle, feeler gauge, and a flat blade screwdriver. This last one seems a bit odd because so far, we haven’t found any flat blade screws on the unit. The USB cable was tucked in there as well.

Assembly is minimal, requiring only the gantry to be anchored with four screws, and the filament holder assembled and attached. Neither presents much of a challenge for normal users, although we modified our filament holder to fit the height of the shelf space we have allocated for 3D printers. When assembling the gantry, loosely fit the four screws then tighten them incrementally in sequence so that the best alignment is achieved. The filament holder normally sits on the top of the gantry with two T-nuts to hold it in with M4 screws, but we substituted these for an angled bracket and M5 screws we already had from an old V-slot CNC machine, so that it hangs over the side.

The second-last task is to adjust the Z-axis. This is done with an included acrylic reference gauge, but you might have to wrestle to get only one Z-axis screw moving. We found that generally, moving one side moved the other. We had to hold one side still at the stepper motor coupling collar, and move the other side at the same place. This enabled us to get the x-axis close to level. Now, all that remains is to connect three cables by their plugs and sockets. Two are identical and belong to the z-axis motors, while the last is larger and is the ribbon cable connected to the x-axis and extruder assembly. The ribbon cables for all of these are already anchored into the case at that end, with only enough cable protruding to do the job.

With all that done, the machine can be powered up and initialisation can begin. While the manual describes filament loading as the first item in describing operations, it doesn’t say to do this first and we recommend not. We suggest bed levelling with a perfectly clean, unused nozzle. The CR series printers from Creality have a habit of oozing, as do most Bowden-style printers, and even a little filament under the nozzle can affect levelling. This is even more true if you level with a cold nozzle, which is sensible considering how close your fingers may come to the nozzle during the process.


While everyone in the DIYODE team has been doing things like this for years, well before 3D printers, sometimes we forget the basics like checking the manual. So, all excited as we were, we jumped into the menu, found the auto-levelling function, and selected it. The BL touch system is fascinating to watch, with fairly bright LED lights giving an indication, by changing colour, of what is happening. The probe is magnetically extended and retracted as the system measures twenty-five points in a five by five grid. The probe extends, the z-axis slowly moves until the BL Touch is triggered, then repeats, before retracting the probe and moving to the next point.

Great, time to print! We selected the print menu and chose at random one of the pre-loaded prints. One of the few things we don’t like about the Creality firmware is that, unlike the Flashforge printers we also use, there is no preview image of the object. We had no idea what we were actually printing, and we never found out. The print failed before the skirt had even finished printing. Why? We just performed auto-levelling, it should be perfect! Wrong we were, and we went sulking back to the neglected manual to find out.

Of course, many readers are right now laughing at our oversight, knowing exactly what was wrong. Others can hopefully learn from our mistake and save themselves some frustration. We’re going to pretend we only tried one print before going back to the manual. As soon as we did, we saw an entry for manual bed levelling before automatic levelling. This made so much sense in hindsight. The BL Touch automatic leveling system is for compensating for inconsistencies in the bed surface or for not-quite-perfect levelling. It does not, and was never intended to, establish initial nozzle clearance from the build surface. This still has to be established manually.

For this purpose, the CR10S Pro V2 package has a feeler gauge in it, at 0.2mm. This is a little more consistent than a piece of paper, but some people say it doesn’t give as much tactile feedback. We found it adequate. Following the standard procedure, we entered levelling mode in the menu, and selected ‘AUX levelling’, which is the manual mode. This displays the more familiar five-point grid, and we used this with the feeler gauge and bed levelling screws to get the nozzle clearance correct. The bed levelling screws on Creality printers are very well marked, with ‘up’ and ‘down’ clearly marked with rotation arrows. This made things much easier, and soon we had the nozzle pressing on the feeler gauge just enough to feel when the gauge was pulled out.

Now we went back into the menu, and selected ‘Measuring’, which is an initial auto-levelling function. It uses the same twenty-five point grid, but displays the offset for each point in an array. In the Levelling menu, you can also turn on or off auto-levelling. When on, it is performed at the start of every print. Also in this menu is a very helpful feature: You can adjust the nozzle clearance by 0.1mm increments without touching bed levelling screws. This is really helpful if you need to fiddle with clearance to get adhesion with a particular filament without ruining the bed levelling.

With the bed properly levelled, we went back to the printing menu. This time, we had a test print that we had sliced with Creality Slicer. Some people rubbish this program but we quite like it. It has the features we need, mostly, and not too much going on to get in the way. There are quirks and we would love to see the rotation function have a numerical input field rather than being drag-only, but overall it suits us. We loaded the microSD card, and selected the print.

This time, performance was much better, but adhesion was still an issue. As the extruder worked its way around the second pass for the wall of the print, we hit the ‘adjust’ button that shows only when printing. In this menu, there is a z-axis compensation function that allows increases or decreases in z-axis height, in 0.01mm increments. Using this, we are able to get perfect extrusion. With only three shells printed, and the first not adhering well, we terminated the print, cleaned the bed, and started again.


The all-in-one printer test, available from Thingiverse and created by Majda107, is a favourite of ours. It’s Majda’s intellectual property and we’re using it here to test our printer rather than make any commercial use of it, so we’re not going to have the .stl file on our website. Instead, if you want it, please go to Thingiverse and get it straight from Majda107, and show him some support while you’re there with the various options there are for that.

The photos speak for themselves when it comes to printer tests but we’ll still point some things out. There is fair evidence of oozing or over-extrusion, but only at certain places. This is all the bumps and nodules appearing where they shouldn’t. The text for ‘3D printer test’ that faces upwards is poorly formed, as is the text in the ‘hole test’ section. Other text was outright missing. Majda107 notes that in Cura, the ‘print thing wall’ setting has to be enabled, and Creality Slicer is Cura-based. We printed with default settings for a true test, however. This included temperature and all other settings besides selecting PLA as the material, and setting our layer height to 0.2mm.

While text printing was a fail, other sections performed very well. The span test section shows great results, with no sagging even on the longest test section. The Hole test and Tube Test are both well formed, and the overhangs are very impressively done. Even at 80°, the print is still together. The dimensional check sections also check out well. We’ll try again with thin wall settings when we find where that is (if it’s present at all) within Creality Slicer.


What 3D printer review would be complete without the ubiquitous Benchy? Designed by CreativeTools, also available on Thingiverse. Again we’re using this to test editorially and not to distribute commercially, so please grab it directly from the originator if you want it. We decided to print in three resolutions: 0.1mm, 0.2mm, and 0.3mm. The results are interesting, with the 0.3mm being the roughest and cleanest, and the 0.1mm having the crispest detail but also the most stringing and lots of oozing.


We also printed a maze using the 1kg roll of Silver Silky that Aurarum supplied for free with the printer. This again showed some oozing but was otherwise crisp and the nodules cleaned off very well with a sharp knife. It would have been even better were it not for the clumsiness of the knife wielder. Another favourite of ours is the 3D Earth Globe from ClassyGoat. This is printed with no infill and slowed-down settings because it features a lot of overhang. This makes it a great test because many printers struggle to do this. Although at a larger scale, we have previously printed this with the LulzBot Taz 6 and the two make a good comparison. The LulzBot print is in glow in the dark PLA from ColorFabb, because we had it. Both are printed at 0.2mm.


We’re pretty happy with the choice we made. The Creality CR-10C Pro V2 ticks most of our boxes, and can be upgraded to tick more. It’s not the fastest printer in the world but it is thorough and it does produce a consistent product. It’s versatile and user-friendly, adjustable but independent. It gives us a healthy build volume and can handle different materials. It’s very solid and all the controls are accessible. We would like it to be quieter and have direct dive, and there are a few other tweaks. Given its performance scaled against its price, the value for money on this machine is great and we are looking forward to adding it to the workbench.


There are, however, some things we probably will change. We will definitely go for the Direct Drive Extruder when available, as we want the genuine one and not an aftermarket one. This is not to suggest that the aftermarket ones don’t work, however. We would also like to find a support kit for it, that has angled braces between the top of the z-axis gantry and the front or even back of the chassis. This will stop wobble near the top of larger prints but we haven’t made any yet to know if this is even an issue. Further, we’re investigating quieter fans or other cooling options to reduce noise. The printer shelf here is right next to the computer section of the workbench, but if it was further away the noise likely wouldn’t be an issue. One final product may be a removable magnetic print surface to make removing prints even easier, or possible the build plate found on the Creality CR-X, which is a glass plate with a mesh coating of a special aluminium oxide compound that sticks even better while hot and even less when cold than the CR10S Pro V2’s stock bed surface.

Shopping List

Creality CR10S pro V2 available at Aurarum