A few thoughts on 3D printing and the Creality CR-10

A name plate, printed in two different colors of PLA filament on my Creality CR-10.

Over the last couple days, I’ve been pondering my journey through 3D printing. After having taken a three month break from it (more on that below) I’ve managed to get my Creality CR-10 back up and running in a reasonable way, and have donated my Anet A8 (my gateway drug to the world of 3D printing) to our hacker space at work, and I’m slowly tinkering it back into fighting shape. Last night I decided to try the “change filament” option in the Marlin firmware for first time, and it worked really well. I made the name plate pictured on the right, first by laying down the base in Fire Engine Red PLA I had, and then once the layers with the embossed lettering started, initiating a Filament Change from the front panel. This stopped the print in progress, moved the hot end off to the side and then retracted the existing filament and told me to load the new color. I used 3D Solutech white. The firmware allows you run several purge cycles to get the old color out. It took several tries to get the filament to turn reasonably white, as opposed to pink, but then I hit continue and it worked perfectly. Neat, and with no fancy G-code modifications.

But I digress.

Dean Segovis tweeted this yesterday:

https://twitter.com/HackAWeek/status/1096020904977428481

and followed up with:

https://twitter.com/HackAWeek/status/1096020906432958465

And this has got me thinking about writing up what I think is good and bad about my choice of 3D printer, and where I think the perfect “hacker” 3D printer might be going.

My first printer was an Anet A8. They are still available, and very inexpensive, at $150. I do not recommend them as a printer, even though I had a lot of fun with mine. It’s actually a remarkably capable little printer, and I made some pretty impressive prints with mine. The pluses?

  • It’s inexpensive, at just $150 or so.
  • It is (or at least was) a fairly popular option, so a large community with lots of information and upgrades is available.
  • Replacement parts are cheap.
  • It runs the Marlin open source firmware, so upgrades are relatively easy to perform.

But it does have a number of significant drawbacks.

  • It’s not just inexpensive: it’s cheap. The frame is from laser cut plastic, and it’s easy to break parts if you overtighten bolts. In fact everything about the printer is cheap. I spent a lot of time replacing parts which are broken or just substandard.
  • It’s not ready to go out of the box. It comes as a kit, and there is a lot of assembly. It took me the better part of a weekend to get it going properly.
  • It is not very well engineered for safety. By default, the version of Marlin installed on mine didn’t even have overheat cutoffs. The connectors used to power the hot bed are not really sufficient to handle the current, and present a fire risk. I wouldn’t leave the Anet printing unattended without a serious audit of all the safety features.
  • I hate the bed leveling. This isn’t unique to the Anet, I hate it period, but the Anet is pretty bad. The hot bed on mine was not even close to flat, probably well over a millimeter down in the center. Printing directly on the hot bed (or covered with tape) seems wrong. And my pet peeve: nothing that needs to be leveled should ever do so with four screws. It’s overconstrained and never works right. When I used to make telescopes, all my mirrors were adjusted with three screws, which are all you need to define a plane.
  • The extruder is a direct drive MK-8 extruder. There are reasons to like the direct drive. In theory, they allow you to use less retraction and they will have less stringing than the Bowden type. But there are several pragmatic issues that make me despite them. They seem more complicated to assemble and disassemble. Because the stepper is mounted right next to the heat block, they carry more mass than a simple Bowden style. Loading and unloading filament is kind of a pain, as you don’t have any way to visually inspect the entry of the filament into the hot block. And the way that it’s mounted on the A8 is annoying, and requires that you unscrew a set screw which is awkwardly placed underneath the assembly when its mounted in the printer.

After tinkering with mine for three months, I was sufficiently excited by 3D printing to justify getting a new printer. I settled on the equally (or perhaps more) popular Creality CR-10. This has become my workhorse printer (well, since I use it primarily for tinkering, perhaps “workhorse” is the wrong word, but you get the idea…)

The Creality CR-10 has a number of significant advantages:

  • It is a very popular machine, with lots of information and support.
  • It supports the Marlin firmware as well, so upgrades are fairly common.
  • It’s much less of a kit. It comes in three parts, and if you know what you are doing, you can probably assemble and get the whole thing going in an hour or so. Not quite “out of the box”, but pretty close.
  • It has a 300mm print bed, and can handle prints up to around 400mm high. That is an awesomely large print bed.
  • The electronics are housed in a custom aluminum enclosure, and so has a much less erratic appearance compared to the A8.
  • It uses 2020 Aluminum extrusion for all the structure members.
  • It uses a Bowden style extruder, which makes the moving parts on the X gantry much lighter and generally easier to service. Loading and unloading filament is much easier.
  • It is more expensive (~$400) but generally just feels like a better engineered product. I am not constantly terrified that it will burn my house down if I turn my back on it.

I really like mine. I think that it’s an excellent buy if you are a tinkerer and want to learn a lot about the nuts and bolts of 3D printing, but don’t want to either invest a ton of money nor waste your time with a pile of substandard parts. But there are still things which I don’t like about the Creality CR-10, and I’d be remiss if I didn’t enumerate some of them.

  • Fans are noisy, and it has a lot of fans. The extruder carries two small fans, which are usually not a lot of trouble, and are straightforward to upgrade. The worst ones are inside the power supply/control box. And while we are complaining about the control box, it’s annoying to open to gain access, and you will need to gain access to upgrade its firmware because the controller doesn’t contain a proper Arduino boot loader.
  • The Anet A8 had dual Z steppers, which helped keep the X axis level. The Creality drives only one side, and to keep it level and moving smoothly, you have to adjust it fairly carefully and keep the tension just right. There are upgrades for the Creality to make it a dual Z machine, but that’s an extra cost and I haven’t done mine yet.
  • The extruder is a Bowden sort, which means that only the heater and fans are carried on the X-axis. That also simplifies the mechanics there, but the stock housing is pretty bulky and makes access and viewing of the nozzle more cumbersome. It also has questionable value in directing the nozzle fan. Updated “fangs” are available, I printed the Petsfang v2 for mine, which I have my own complaints about (it’s a pain to install and take off, and it’s not the easiest thing to print) but it works better.
  • All the bed leveling issues I had with the Anet A8 are true for the CR-10 as well. I installed an https://www.th3dstudio.com/ezabl-kit/EZ-ABL bed leveling kit on mine to help, and while it does work, it’s been a bit fussier than I would like. The overall repeatability of measurements seems pretty iffy (maybe only accurate to 0.2mm) and occasionally much worse. I think if I were to redo it, I’d probably go with a BLTouch instead.
  • The bed itself wasn’t super flat (probably off by half a millimeter). I covered it with a piece of mirror tile from Lowes, which helped, but I ended up using 5×5 probing to help get things to lay flat on the first layer. Honestly, can we actually get flat build plates? The telescope maker in me hates this with the power of a burning sun.
  • The controller is based upon the ATmega 1284, which means that the Marlin firmware fits barely into the controller. When new features come out, sometimes you have to disable other functionality to get them to work. I’ve been using the TH3D Unified Firmware Package which works pretty well, but I do wish we had more space. A replacement motherboard is actually pretty expensive to replace ($40) and doesn’t have replaceable stepper drivers, which makes a failed stepper driver a bigger issue than it should be. A motherboard like the MKS Gen L is only $20 or so and allows the possibility of replacing the driver modules with higher quality (and quieter) drive modules. I haven’t done that, but I like the idea. The overall board layout seems nicer as well, and the board supports dual extruders and has the ATmega 2560 which has double the flash space.
  • I’ve mostly done printing with PLA and a smattering of PETG. I tried to get the bed to heat to 100C for printing ABS, and it seemed like the maximum temperature it could reach was about 82C. If you are wanting to print ABS, you’ll probably need to do some mod to insulate and/or boost the power to the hot bed.

In the end though, I guess I mostly like the Creality CR-10 because nothing about it is very mysterious or proprietary. It is in some ways a fairly obvious design, with lots of room for tinkering, replacement or improvement. It is also capable of making good quality prints at a reasonable cost. I have been considering pickup up an Ender 3, which is the little brother to the Creality for jobs which are smaller, and maybe updating the CR-10 to use a larger nozzle (0.6mm) for larger coarser prints. I’ve also been thinking that it would be possible to easily create a home brew printer using aluminum extrusion, an MKS Gen L (or even better) mother board, and many of the same parts that I would use on the CR-10.

But for now, the CR-10 works well for me, and for the pointless kind of things I do, it’s a nice little printer.

If you have any questions or would like to add any of your experiences, leave a comment.