CR-10 Getting started and Setup
This guide will try to describe all major and optional upgrades I made to build up a great 3D printer that makes great prints every time you ask it.
I start from the assumption that you do not have a second printer to print the upgrade parts, although I would not recommend that anyone start the 3d printing experience with a S5 printer (walk before run...).
Steps marked as “Highly recommended” are the things I would really, really recommend doing from day 1. “Optional” steps can be also done from day 1, but if you defer their build or even never build them, you will not suffer when printing simple parts that do not demand high grade of printing.
Highly recommended - Buying the printer with additions
When buying a CR-10 S5 printer, it is recommended to purchase a few additional components already with it. I would suggest that you buy the following items:
Creality extension cables kit (about 60cm long)
A set of additional 0.4mm nozzles
1 or 2 additional hotend silicon sockets
The hardware needed to install the upgrades will be detailed for each upgrade. Purchasing of screws, nuts and the likes in sufficient quantities is highly recommended right from the start, so that you don’t run all the time to your preferred hobby shop.
Highly recommended - Unboxing and first build
For the start, I would just say... enjoy your purchase! The S5 printer is a great (also physically!) printer already out of the box. Packaging is very nice, extras and goodies are welcome and much appreciated for the price of this printer.
Just find a big space, build it in full and make it ready for your first prints “as is”. There are plenty of videos on Youtube about this, so I’ll skip this step here.
Highly recommended - First print
As many people mentioned on the Internet, this is nearly mission impossible to have a fully flat and level bed on such big printer. For the first prints, and before the bed level is fully fixed and automated with a probe, you must print with a manually levelled bed. My strategy was to concentrate on the front left part of the print bed and print the first parts right above the levelling screw and spring. In order to make a first decent print, I advise the following procedure:
a) If you’ve mounted the glass plate already, then remove it now as well as any paper clip
b) Locate the bed levelling screw and thumb nut on the front left under the bed c) Give a bit of a screw-in (clockwise) on the thumb nut, without exaggeration d) Home your print head from the LCD menu
e) With the help of the LCD menus (or remotely via USB if you’ve plugged in a PC with relevant software), move the Z axis to 0
f) Disable the stepper motors in the LCD menus and gently bring the hotend above the front left bed levelling screw
g) Try to fit back the glass plate. If the nozzle is too low, then screw in the front left thumb nut again until there is enough clearance to place back the glass plate without scratching it with the nozzle
h) Screw in the other three thumb nuts in about the same amount in order to lower the rest of the bed in the same proportions. This is not to achieve bed levelling, this is only to avoid that the nozzle will scratch the glass plate in general. So better to screw in more than less.
i) When the glass plate is in place and secured with paper clips, level the bed carefully around the front left levelling screw with a piece of plain paper as you would do on any other printer. Verify the levelling of the bed above the other 3 levelling screws and just make sure that this is about OK-ish, but avoid above anything else that the nozzle touches the glass plate.
At this stage, it is safe to print parts in a 20cm x 20cm square around the front left bed levelling screw. This is more than enough area to print the essential parts that will enable you to safely level all the bed soon.
As many users soon discovered, due to the size of the printer, the vibrations tend to rapidly loosen the bed levelling thumb screws. Not
only you need to recheck the level at the beginning
of every print, but also the bel level changes already
during the prints. For this reason I recommend that
you first ever print on this printer is a fix to this issue.
This will enable to print more parts more comfortably
until you have auto bed levelling. If you choose not
to go for auto bed levelling, this fix will enable you to
print well also without.
The first recommended print is to be found here:
https://www.thingiverse.com/thing:2462249
This is a knob that embeds a nylon locking nut and replaces the stock thumb nut.
For this upgrade you need 8 nylon locking nuts in M4 size. Screws are the stock ones reused.
So first of all, use you preferred slicing software and make sure you position your print in the area that you have levelled in the front left part of the bed! When print starts, be ready to adjust live the level of the bed to make your first layer adhere well to the glass plate.
Please note: I do not recommend using the provided blue tape on top of the glass plate. Although this works very well for the first prints, it will soon deteriorate and will need to be replaced. But replacing 50x50cm of blue tape is not a given, and it will create many issues with time. My personal preference is to use spray glue like “3DLAC”. For this first print, the glass is perfectly clean, so adherence will be difficult. I do recommend using sprayed glue for the first prints until the glass is becoming more “rough”.
When the first leveling knob is printed, even if it is not too nice, you are ready to dramatically improve your comfort with this printer.
See next section for slicing your STL files for the S5 with Cura 4.1. OPTIONS: At this stage, you have 2 options:
1/ if the first print went well and you’re confident to print directly 3 other knobs, just do it! You’ll then change all 4 knobs in one go, sparing extra work.
2/ if you had to fight constantly with your printer to maintain a sufficiently good level for the print, then change only one knob now, then print the other 3 knobs after that.
Whichever option you choose, here is the procedure to change a levelling knob:
a) Remove the glass plate and paper clips (now you understand the benefit of option 1)
b) Completely unscrew the thumb nut
of the front left levelling screw.
c) Completely remove the levelling
screw.
d) Catch the yellow spring and keep it
close
e) IF YOU HAVE ALREADY
PRINTED ALL 4 KNOBS: do the
same for the other 3 screws
f) Insert back the levelling screw in its
hole and screw in a nylon nut
immediately under the metal bed
plate. Keep the nut with pliers and
screw in the screw until about half
its size.
g) Insert the spring back. Finish screw in the locking nut in the screw. h) Now the screw should be in place, locked with the locking nut, with the spring loaded and then through the hole in the carriage.
i) Insert a nylon locking nut inside the levelling knob.
j) Screw in the knob at the end of the screw until the plate is low enough k) IF YOU HAVE ALREADY PRINTED ALL 4 KNOBS: do the same for the other 3 screws
l) place back the glass plate
In case you’ve only printed one knob, then re-level your bed on the front left side with the new knob and print the other 3 knobs. Thanks to the new system, you will be able to print 3 knobs without re-levelling the bed in-between. Then install all 4 knobs according to the procedure above.
Highly recommended – Cura 4.1 slicing parameters
As you prepare your first print with your preferred slicer, you have to configure your slicing profile for your new printer. If you are new to slicers, I recommend using Cura 4.1 (latest version at the time of writing) and modify it with the CreawsomeMod update:
GitHub - trouch/CreawsomeMod: Modification for Ultimaker Cura
I personally tested it but found no real added value for me as I was familiar with Cura before. So I reverted back to my own Cura 4.1 profile that I modified with the good ideas found in this mod. However, I warmly recommend this mod for Cura beginners.
For reference only, I indicate in appendix at the end of this document my personal settings that have made very very good quality results with the S5. This is a mix that I made out of my own experience with previous printers, as well as adopting some of CreawsomeMod parameters.
These settings also work with Cura 3.6.0.
Optional - Manual bed levelling mesh creation
When all 4 knobs are installed with locking nuts, the bed levelling system is strong and stable. You can already repeat printing jobs without re-levelling all the time.
Still, the glass plate is not fully flat and it requires compensation. This is not yet activated on your printer at this stage and it requires a major change: flashing the firmware.
If you want to make already bigger prints at this stage, you should envisage to flash the firmware, enable manual mesh bed levelling, then create a compensation mesh in the printer EEPROM to adjust the z-height throughout the bed plate. If you don’t understand exactly what the previous sentence means, and just want to carry
forward improving your printer and slowly discover its capabilities, just skip this and move to the next step.
If you want to know what manual mesh levelling is about, please read the documentation on this topic, starting from there:
http://marlinfw.org/docs/gcode/G029-mbl.html
I personally recommend keeping printing on a small area in the front left corner of this printer for the time being, with the already improved bed levelling knob, and wait for a few more steps before getting to larger prints. Walk before run.
Optional – put your printer on feet
As you’ve witnessed already with the bed levelling exercise, access to parts under the bed is not too easy. In addition, the printer is vibrating significantly, considering the energy of the big bed with glass when reverting direction.
I saw several mods online for adding higher feet to the printer. I personally made an upgrade here:
https://www.thingiverse.com/thing:3762782
This raises the height of the
printer, composed of a top printed
block replacing the stock block, a
layer of shock absorbing material,
and a locking hole for an M8 nut
for adding any size of standard
bed feet with M8 rod.
Bed feet (in wood, metal, etc.) are
inexpensive, very sturdy, and
available in almost any height as
you need.
Additional benefit is that the space
below the printer can be used to
create (well accessible) cable
paths as well as to store spare parts. Around 20cm high bed feet will allow storage box about the size of shoe boxes. The higher, the more vibrations, so find a balance.
IMPORTANT RECOMMENDATION: with or without extended feet, I recommend that you take the time to level your printer frame when you put it in location. Especially in the case where you add bed feet and place the printer on the ground, it is important that you add spacers under the feet so that the frame is well level in both X and Y directions. This will greatly diminish bed warping, friction on the cart wheels, etc. However, this will not replace a good bed levelling assistance later on.
Highly recommended - Strengthening the frame
Now that the levelling knobs have been replaced with locking ones, you can start printing bigger parts, and for longer print times. However, as soon as the height of the printed parts is above a few centimetres, you will start noticing vibrations of the vertical bars of the frame. A classic remediation of this is to add braces.
Every owner of S5 printer seems to have to do that at some point, so do it now!
OPTIONS: At this stage, you have again 2
options:
1/ purchase a brace kit from Creality. I
understand it involves piercing holes in the
frame of the printer, and all accessories are
included for that operation;
2/ make your own braces out of threaded rods
and printed parts.
I went for the second option and had to decide
between 2 sub-options:
2.a/ install the braces in front of the printer;
2.b/ install the braces on the back of the printer.
I chose the second option for several reasons:
a) placing braces on the back frees up the front of the printer for object manipulation;
b) I found a neat design online that included additional features like a side holder for filament (see photo);
c) this fits well the area where I placed my printer ultimately.
Especially for the third reason I went for
this design:
https://www.thingiverse.com/thing:2898
173
When parts are printed, you need the
following hardware to complete the
setup:
x2 1 meter M8 threaded rods
x4 M8 nuts
stock + extra M4 bolts
M4 T-slot nuts
(refer to website for details)
PLEASE NOTE: I could not figure out precisely the size of the bolts that were required to fix the printed parts. I therefore remixed the bottom brace part to accomodate M4x16 cylindrical head screws, and I also enlarged the hole for the M8 nut. As the printer is still not totally precise on the z-axis, I found that the tolerance for the hole was a bit too tight.
My remix is found there: https://www.thingiverse.com/thing:3659386
Optional – Permanently syncing the dual Z-axis rods
As can be seen on the above picture, the designer of the back-side braces has also proposed to add pulleys to keep the two z-axis rods in sync.
I have myself ordered the 50mm timing pulleys and the 1220mm closed GT2 timing belt. I cannot say it doesn’t work but I am not fully convinced about the thing.
My main concern is that the belt tends to get tension on one side and gets loose on the other side. Although the size of the wheels and belt seems correct, there seem to be just a little margin of error and I fear this creates friction back on the stepper motors, make the motors miss steps, then creates heat or make them even break. It never happened so far and my Z-rods are kept in sync. On the other hand, as I never switch off my printer, I’m not sure if my z-axis would have lost sync if I had not installed these pulleys;
Up to you :)
Optional – Install filament holder on the side of the printer
This upgrade obviously depends on 2 things:
do you have space on the left handside of your printer?
where is your controller box positioned and do you plan to use the top plate for something else than the stock filament holder?
Later in this document I propose an
upgrade for an Octoprint box with touch
screen to be fixed on top of the
controller box. I also have clearance on
the left handside of the printer.
Therefore I installed the filament holder
on the back left handside of the printer
using this design:
https://www.thingiverse.com/thing:2898
173 (same link as above)
Again, I have remixed the design to
enable the installation of 2 filament rolls
on the same holder, for various reasons like preparing for a future dual extrusion setup, to anticipate a change of filament at mid-print of for the next print, etc.
Here is my remix: https://www.thingiverse.com/thing:3737773
Please follow the instructions provided online.
Optional – Install your controller box on supports
Now you have a printer with good bed levelling, strong frame and possibly bed feet. It is possible that your controller box is now too far from the frame, especially if the bed feet are high enough. A possible solution is to place the box on printed supports alongside the frame on the left-hand side. This is the 3rd purpose of still the same design here:
https://www.thingiverse.com/thing:2898173 (same link as above)
This time for the controller support
part. Again, I made a remix of this
part because it is likely that in the
next steps of your setup, you will
want to install a bed levelling probe,
in which case you will want the
controller box a bit more forward in
the side. This remix does exactly
that:
https://www.thingiverse.com/thing:37
37785
For this upgrade you’ll need 4 M4x10
“triangular head” screws with 4 M4 T
slot nuts.
Optional – Reduce noise and vibrations of X and Y stepper motor
This is an upgrade composed of 3 parts:
install dampers on X and Y stepper motors
install backend bracket on Y-axis motor
install TL-smoothers on X and Y stepper motors
Part A: installing damper on X-axis stepper motor
After purchasing a couple of them, installing dampers on stepper motor is straightforward and is well documented online, like here:
https://www.youtube.com/watch?v=jQvjHiyGhZ0
However, as things are never easy, here are specific instructions for the S5 motors:
Start with the Y-axis motor. Unscrew 2 of the 4 holding screws and take them with you to work on the X-axis motor.
The X-axis motor is held by 4 long screws passing through the plastic cover of the pulley and holding the X-stop trigger. You need to follow these steps:
a) loosen screws of the holder of the tension pulley on the right hand side of the X-axis rail,
b) remove all 4 long screws on the front left hand side of the X-axis rail, c) remove and keep nearby the plastic cap with X-stop
d) remove the stepper motor
e) screw in one side of the damper on the motor using the 2 screws that you removed from the Y-axis motor
f) untight the screw holding the dented pulley on the motor axis and move the pulley away from the motor by the thickness of the damper
g) place back the motor making sure that the pulley fits inside the belt h) verify the position of the pulley with regard to the belt and adjust as relevant i) place back the plastic cap and X-stop
j) screw the other side of the damper with 2 of the long screws where appropriate k) re-tension belt and tighten the screws of the right hand side pulley l) verify that the print head moves correctly on the X-axis
Part B: installing dampers and bracket on Y-axis stepper motor
Placing a damper on the Y axis is more or less as straightforward as on the X-axis, however there is a subtle difference. Moving the whole bed with glass on top is heavier and creates more momentum to accelerate and decelerate than for the X axis motor to move the print head. Consequently, the motor is much bigger and powerful, creates more torque, and therefore more reaction force from the bracket.
As a consequence, adding a damper here between the motor and the metal frame attachment, in the one hand, reduces the noise, and in the other hand, creates quite some play between the motor dented pulley and the Y-axis belt. This creates artefacts on the prints like salmon skin effect for instance. It is therefore a matter of balance between noise and precision.
In this guide I first explain the simple installation of a dampener and then I explain 2 possible workarounds to finding the proper balance.
First is the installation of the damper:
a) loosen screws of the holder of the tension pulley on the front of the printer, b) remove the 2 remaining screws that hold the motor to the metal bracket, c) remove the stepper motor
d) screw in one side of the damper on the motor using the 2 screws that you just removed from the motor
e) untight the screw holding the dented pulley on the motor axis and move the pulley away from the motor by the thickness of the damper
f) place back the motor making sure that the pulley fits inside the belt g) verify the position of the pulley with regard to the belt and adjust as relevant h) screw the other side of the damper with 2 M3 short screws and 2 M3 nuts i) re-tension belt and tighten the screws of the right hand side pulley j) verify that the bed head moves correctly on the Y-axis
Normally, during the re-tension at step i) you have witnessed that the belt can be tensioned to its full extent because the damper allows the motor to move slightly sideways (the damper is made of flexible rubber...). This is the cause of the appearance of new artefacts on the prints and in a perfect world, you would like to have the effect of the damper AND a non-moving motor.
To try to approach this situation, first workaround is to install a back bracket for the motor. There are several designs for such bracket; however they are not interchangeable between the CR-10S, S4 and S5. Here is one that fits the latest S5 models:
https://www.thingiverse.com/thing:3745801
This is debatable if a second dampener is really necessary between the motor and the back bracket, I leave this decision to you and made 2 models, depending on your choice. I personally used a thin cork wood damper that I initially bought as main damper, which I found inappropriate for that usage.
For this setup you need to buy special screws that are M3x60mm long screws. They have to go through the bracket, then the cork, then the motor body, and attach to the front metal component of the motor. the bracket is fixed with M4 screws and T-slot nuts to the frame. The advantage of this setup is that the motor is well fixed to the bracket, which slightly helps compensate the tension of the belt on the front damper.
The other setup is to insert a full rubber damper also on the back of the motor. In this case, the damper is fixed to the motor with special M3x55mm long screws, while the other side of the damper is fixed to the bracket with short M3 screws and nuts.
Ultimately, I have not been able to reduce both the noise and the skin artefacts at the same time completely. I have therefore added another mod to the previous ones, to remove further the skin problems, while slightly increasing the print noise: On the front damper, I have removed the screws on both sides of the damper and I have screwed in the motor directly through the damper. the advantage is that the motor finally stays in its position and do not vibrate at every direction change of the bed. The inconvenient is that the noise of the motor is not transmitted more to the bed frame through the screws. This is my own trade off.
Part C: installing heat dissipators on stepper motors
PLEASE NOTE: As is maybe less well documented online, placing a dampener in between the motor and the metal holder will reduce the amount of heat dissipated by
the printer frame. The motor will become much much hotter than before. I can only recommend using thermal glue and sticking heat dissipators on the sides of the stepper motors.
For the bigger Y-axis motor I’ve used 2 dissipators like this:
size is 40x40x11mm, glued on the back and bottom
For the smaller X-axis motor I’ve used 7 smaller dissipators :
size is 10x10x10mm, glued around the motor case
Motor heat has been greatly decreased with these dissipators.
Part D: installing TL-smoothers on X and Y stepper motors
Finally I installed TL-smoothers inline with the X and Y motor cables. I used the extension cables mentioned at the beginning of this document to cut and insert the smoothers (cable plugs are of course not compatible with each other). To be perfectly honest I installed the smoothers BEFORE installing the dampeners and I do not believe it made any difference to the print quality. In any case, the smoother boards get very hot and I cooled them down by ziptying them flat to the frame with thermal paste on their back, and they’re much cooler now.
Highly recommended – Improve cable management of the print head
Here is a good opportunity to test the progress of your print quality after the change you’ve made so far.
As you’ve noticed already, the black cable and bowden tube that connect the print head are competing with each other to go up and down, back and forth, etc. It is time to improve this part.
Here is a design for better managing
the black print head cable:
https://www.thingiverse.com/thing:334
8829
This part will be screwed on the X-axis
rail with 2 M4x10 conical head screws
and 2 T-slot nuts.
When in place, remove the tape that
holds together the bowden tube and
the black cable.
Here is another design for better
managing the bowden tube:
https://www.thingiverse.com/thing:2984
407
The author has used this holder for the
bowden tube and kept the cable
attached to the tube.
All solutions are fine, as long as the
cable and tube do not touch the parts
being printed during the print
operations.
If you plan to upgrade to dual extrusion later, or change the stock extruder for a stronger dual-drive extruder (which is a good idea at some point and is documented later in this document), then the first design will still work but not the second, as it is only working with the stock extruder.
Optional – Install ventilation fangs on your hotend
Recap so far: You have a brand new printer, with good enough bed levelling, stiffening braces, motor dampeners and possibly bed feet, side filament and control box holders, and you are keen on printing more difficult stuff.
Here is your first big move forward.
I have marked this upgrade “optional”,
because I believe that many prints can
be achieved with good enough
quality
with the stock print head. However, no
denying that many many users of CR
10 printers upgrade their head with
“fangs”.
To cut it short, there are many designs
available online and I chose the one
that I found the most modular and
popular, the “modular petsfang v2”
here:
https://www.thingiverse.com/thing:2759
439
There are advantages with this design, like the probe holders available for bed levelling probes on the left or right hand side of the hotend. And as the next step will
be to install a bed levelling probe, there is a significant interest to install this mod now.
There are basically 2 options:
1/ you want to keep the stock fan. Then print the “bullseye” base and duct and install the stock fans on it. Easy and straightforward
2/ you want to install a bigger layer fan than the stock one. Then you need to cut and replace the fan with a “5015” type of radial fan and then print the “petsfang” parts.
I recommend the first option unless you know exactly why you need an upgraded fan. All this is very well documented online by the creator and I leave the rest to you. I am myself printing with the Bullseye with great results. I will move to the Petsfang when I will have the motivation to cut through the stock fan cable and solder in a plug for a 5015 fan. Using only stock parts was the greatest convenience of the Bullseye.
If any question I recommend you start here:
http://www.dpetsel.com/because-you-asked.html
Optional – Install a bed levelling probe
After having changed the levelling knobs, a decent level of bed levelling has already been achieved. Although this was sufficient to print the other upgrade parts, manually levelling the bed is a constant control and tuning of the printer before every print. this means that it is difficult to go further with the printer and enable for example remote printing, as you do not have certainty of the readiness of the printer at the moment when you want to remotely start a new print.
This is what auto bed levelling helps achieving. This is your second big move forward.
There are many probes on the market and I don’t want to start any comparison here. As far as I am personally concerned, I considered 2 options:
1/ you want to implement a capacitive probe with minimum modification to the printer and maximum customer support: go for the TH3D EZABL probing kit.
2/ you want to implement a contact probe with a little bit more cable manipulation and online community help: go for the Anctlabs BLTouch probe
I personally went for the BLtouch probe essentially because of the shipping & customs costs from USA to Europe, while the BLTouch was available at my local hobby store. So I cannot give feedback on the EZABL kit, which seems very popular nevertheless. As I said, this is not a comparison and all systems are fine.
With regard to the BL Touch probe, here are the things to know at the time of writing this document:
Current version is v3.0
V3.0 probes manufactured before 5
th April 2019 do not work properly with Creality printers, at least with mine (which embeds a Creality v2.2 motherboard). Just insist to have it exchanged by your reseller if you’ve one. - Privilege the genuine probe over its clones.
Make your life easier by buying their 150cm genuine extension cable. That will make a no-soldering path directly from the motherboard to the probe.
For the installation of any probe, there
are a few steps to follow:
a) Print fixed length spacers for the
bed and replace the spring-mounted
bed levelling knobs that took you so
much time to install before...
https://www.thingiverse.com/thing:34650
75
b) Although I understand that this is
better to use ABS or PETG for parts
that touch the heated bed, I printed
my spacers in PLA and it is good
enough for me for now...
c) Print a probe mount that fits the print head of your choice. If you kept the stock head, a standard probe mount is normally available from the vendor of the probe. If you went for the “bullseye” or “petsfang”, a probe mount is available for either the left or the right hand side of the print head. I personally placed my probe on the left because of the length of the probe cable (150cm cable needs a slightly shorter path than the other print head cables on an S5).
d) Finally, I designed and printed some cable guides for the probe cables. I highly recommend to insert these cables into a woven cable tube similar to the ones used for the stock cables.
Now the bed is fixed and the probe is in place.
Here is a remix for the probe mount with cable guide to accomodate the 150cm cable length without further extension:
https://www.thingiverse.com/thing:3737871
Design for the cable guide dedicated to the probe cable support also to make the path shorter to the control box:
https://www.thingiverse.com/thing:3737850
On the pictures the BLTouch cable tube is the one in orange while the stock cable is the black one.
Next step is to plug the probe to the motherboard. There is ample documentation online for both probes, including many warning notices related to the proper testing of the probe ABOVE the glass plate and avoiding at any cost a crash of the print head on the glass.
A good guide is to be found here: https://www.thingiverse.com/thing:2975949 which includes this wiring image:
PLEASE PAY PARTICULAR ATTENTION TO PLUGGING THE RED AND BROWN WIRES AT THEIR RIGHT PLACE BECAUSE THE BLTOUCH PROBE MAY BE
PERMANENTLY DAMAGED IF YOU REVERSE THE WIRING!!! IN MOST PREMADE CABLES RED IS IN THE MIDDLE AND BROWN ON THE SIDE... When the probe is installed the self-test should pass OK, however the printer cannot yet use it. Testing the good functioning of the probe necessitate an update of the firmware of the printer. This is the next step.
Highly recommended – Flash a new firmware in the motherboard
Now comes the moment of truth. You leave the shores of stock firmware and make yourself ready to unleash the power of open source magic.
All necessary information to prepare and flash your first custom firmware is found in the guide referenced above. I warmly recommend to flash TH3D Unified Firmware (https://www.th3dstudio.com/knowledgebase/th3d-unified-firmware-package/). This is so straightforward and well-made that it will enable you to just get what you’re looking for and don’t waste time in debug mode. This may have to do with the fact that I could never had a good firmware build with the vanilla Marlin firmware, and it is just because of me, as I see so many people who can do that very well. For me, I was very close to completely brick my printer and I had very cold sweat time. On the other hand, I never had an issue with flashing a TH3D firmware, although it is based on exactly the same Marlin code... shame on me, congrats to the TH3D guys.
Basically, what you want to configure in the Configuration.h file. Here is what I suggest to define for an S5 printer with a Bullseye setup and the BLTouch on the left of the print head.
PLEASE MAKE SURE TO DEFINE CR10S_S5 and NOT CR10_S5 !!!
// Printer section
#define CR10S_S5
#define CUSTOM_PROBE
// EZABL Advanced Settings (also works for BLTouch) #define EZABL_POINTS 7 // this creates an accurate mesh #define EZABL_PROBE_EDGE 60 // to avoid touching the bed pins #define EZABL_FASTPROBE
#define HEATERS_ON_DURING_PROBING // to keep bed warm #define EZABL_OUTSIDE_GRID_COMPENSATION // to extend the mesh
// setup for the BLTOUCH mount on the left of Bullseye #if ENABLED(CUSTOM_PROBE)
#define X_PROBE_OFFSET_FROM_EXTRUDER -48
#define Y_PROBE_OFFSET_FROM_EXTRUDER -10
// extra features
#define HOTEND_THERMAL_PROTECTION_TIME 60
#define BED_THERMAL_PROTECTION_TIME 300 // increased for S5 #define FAN_FIX // for the stock fan on the Bullseye #define USER_PRINTER_NAME “yourname” // Always nice #define DISABLE_BOOT
#define LINEAR_ADVANCE
#define BLTOUCH
#define BLTOUCH_V3
When the firmware is successfully flashed, the new name of the printer will be displayed, which will indicate the new firmware is active. New menus will be made available in the navigation tree, like “bed leveling”, and a BLTouch menu among other things.
A comment on my Bed Levelling parameters:
At the beginning I was probing 3 points only, and I was doing this at the beginning of every print. I soon found it inaccurate as well as time consuming. My strategy now is to probe a 7x7 grid for a much more accurate mesh, store it in EEPROM and do it only periodically (like after re-tightening the bed spacers, or when resetting the firmware). At the beginning of every print, I insert a gcode sequence after homing to reload the mesh stored in EEPROM and activate bed levelling based on the stored values. This works very well and enables a faster start of the prints (especially when bed is pre-heated already).
Gcode is (pending the mesh has been saved before):
G28 //homing
M501 // restore EEPROM settings
M420 S1 // activate bed levelling based on current mesh
Optional – Install a tough dual drive extruder
After having changed all the parts above, and created a very robust printer, I ended up with another frustration when I got prepared to print bigger parts. When loading a big and heavy roll of filament on the filament holder, I noticed in some occasions that the extruder was not capable to pull on the filament hard enough to assure the flow expected. This ended up in grinding of the filament, which in turns made the extruder pulley more slippery. I therefore decided to invest into a “tough extruder”.
As for the fangs and ABL probes, there are many models and this document is not intended to make any comparison. I purchased a BondTech BMG extruder that I installed after printing the bracket available on their website (including a holder for the stock filament detector). I’m sure the E3D Titan extruder is equally good.
Once the extruder is mounted on the bracket with the stock motor, I recommend the following actions:
a) remove, if you had installed it, the holder for the bowden tube mentioned earlier in this document. The other cable holder should be in place for the black cable. b) zip-tie the black cable of the print head, as well as the BLTouch cable, somewhere on top of the new extruder,
c) the bracket being made of PLA, the stepper motor will get hotter than before, therefore install on its right hand side a 40x40 heat radiator with thermal glue d) verify the good functioning of the filament detector and plug it back e) verify the whole path of the filament by inserting a sample.
On a side note, I have successfully printed flexible filament with both stock and tough extruders through the stock bowden tube, and I therefore did not envisaged to mount the tough extruder as direct extruder, while it is possible to do so. I preferred to leave the print head light and maintain the good print quality achieved at this stage.
Finally, the firmware of the printer has to be adjusted again in order to accommodate with the new gear ratio of the extruder. The lines to add to the “Configuration.h” file listed earlier in this document are the following:
#define TITAN_EXTRUDER
#define TITAN_EXTRUDER_STEPS 415 // set to 463 for others
You can just flash at this point or you can also optionally change the manual feed rate of your extruder in “Configuration_adv.h” file. The default configuration is:
#if ENABLED(ULTIPANEL)
#define MANUAL_FEEDRATE {70*60, 70*60, 4*60, 60}
The last value is manual feed rate of the extruder when using the LCD panel to move the filament. The extruder is capable of higher speed, and has a safety check to prevent cold extrusion. This value can only be changed with a re-upload of the firmware.
In the same spirit, values for the scripted filament change (gcode M600) can be adjusted to your new extruder. Here are the default values in Configuration_adv.h:
#define ADVANCED_PAUSE_FEATURE
#if ENABLED(ADVANCED_PAUSE_FEATURE)
#define PAUSE_PARK_RETRACT_FEEDRATE 60 #define PAUSE_PARK_RETRACT_LENGTH 2 #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 #if ENABLED(DIRECT_DRIVE_PRINTER)
#define FILAMENT_CHANGE_UNLOAD_LENGTH 20 #else
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 #endif
#define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 #define ADVANCED_PAUSE_PURGE_FEEDRATE 3 #define ADVANCED_PAUSE_PURGE_LENGTH 50 #define FILAMENT_UNLOAD_RETRACT_LENGTH 13 #define FILAMENT_UNLOAD_DELAY 2000 #define FILAMENT_UNLOAD_PURGE_LENGTH 8 #define PAUSE_PARK_NOZZLE_TIMEOUT 60 #define FILAMENT_CHANGE_ALERT_BEEPS 10 #define PAUSE_PARK_NO_STEPPER_TIMEOUT
#define PARK_HEAD_ON_PAUSE
#endif
Compile, upload, and you’re good to go!
Conclusion
The journey to a fully loaded CR10-S5 printer is well advanced now. At this stage the printer has braces, feet, dampers, filament holders, a raised control box, fangs, bed levelling probe, tough extruder and a brand new and tailor-made new firmware that controls all the functions well.
Last step is to re-verify all the upgrades, how did they behave during the last prints, has anything moved, are all screws still well tight?
When all is performing well, it is now time to clean the cable paths. I recommend to zip-tie the cables together between those that move vertically with the X-axis and the ones that do not move at all. I have regrouped them in two groups and embedded them in bigger tubes commonly used for cable management of PCs. I have then zip
tied the non-moving cables below the frame, thanks to the bed feet that enable good access to below the printer.
If you want to add a cherry on the cake, you can adjust your LCD menus by defining or un-defining other parameters like INDIVIDUAL_AXIS_HOMING_MENU and ultimately you can also modify directly the file “ultralcd.cpp”, with the following reference:
http://marlinfw.org/docs/features/lcd_menu.html
NOTE: This is quite risky to change this code if you don’t know what you’re doing, so make backups of the original file and changes things little by little. Personally I tweaked the “prepare” menu by putting the preheat PLA submenu at the top, removing the preheat ABS menu, removing the options to home by axis, and finally to reorder the other commands to my taste. I did not change any other menu so far.
At this point, I would recommend moving from there to the next level of 3D printing that is to pilot and monitor the printer remotely with a print server. After all, printing with a S5 means you will embark for multi-day prints, and you want to keep an eye on the process. This is what I will try to document in another guide with the implementation of OctoPrint on a Raspberry Pi with touch screen, as well as internet
based printing with AstroPrint.
I hope you enjoyed reading this manual and upgrading your printer. Happy printing !!!
Appendix – My own Cura 4.1 settings for the S5 printer
Parameters in bold are the ones I would recommend to check for every print. Values in bold are the ones I changed from the default values.
Parameter name 0.16mm plain 0.25mm plain Other profiles
Quality
layer height 0,16 0,25
Initial layer height 0,2 0,2
Line width 0,4
Wall line width 0,5
Outer wall line width 0,5
Inner wall line width 0,5
Top/Bottom line width 0,5
Infill line width 0,4
Skirt/Brim line width 0,4
Support line width 0,4
Support interface line width 0,4
Suport roof line width 0,4
Support floor line width 0,4
Initial layer line width 100%
Shell
Wall thickness 1,5
wall line count 3
Outer wall wipe distance 0,4
Top surface skin layers 1
Top/bottom thickness 1,44 1,5
Top thickness 1,44 1,5
top layers 9 6
Bottom thickness 1,44 1,5
bottom layers 9 6
Top/Bottom pattern zigzag
Bottom pattern initial layer zigzag
Top/Bottom line directions []
Outer wall inset 0
Optimise wall printing order yes
Outer before inner walls no
Alternate extra wall yes
Compensate wall overlaps yes
compensate outer wall overlap yes
compensate inner wall overlap yes
Fill gaps between walls everywhere
filter out tiny gaps yes Print thin walls no Horizontal expansion 0 Initial layer horizontal expansion 0
Z seam alignment sharpest corner Z seam X 0 Z seam Y 0 Seam corner preference Hide seam Z seam relative - Ignore small Z gaps no Extra skin wall count 1 Enable ironing no Iron only highest layer no
Ironing pattern Zig zag
Ironing line spacing 0,1
Ironing flow 10
Ironing inset 0,2
Ironing speed 25
Infill
Infill density 20 Infill line distance 4
Infill pattern gyroid Connect infill lines no Infill lines direction [] Infill lines multiplier 1 Infill overlap percentage 30% Infill overlap 0,135mm
skin overlap percentage 15% Skin overlap 0,075mm
Infill wipe distance 0 infill layer thickness 0,16 0,2 gradual infill steps 0 infill before walls yes minimum infill area 0 Infill support no Skin removal width 1 top skin removal width 1
bottom skin removal width 1
Skin expand distance 1 Top Skin expand distance 1
Bottom Skin expand distance 1
Maximum skin angle for expansion 90 Minimum skin width for
expansion 0
Material
Default printing temperature 200
Printing temperature 200 Printing temperature initial layer 200 Initial printing temperature 190 Final printing temperature 185 Default build plate temperature 50
Build plate temperature 50 Build plate temperature initial layer 50 Flow 100% Initial layer flow 100%
225 for crystal PLA/flex filaments
60 for crystal PLA/flex filaments
Enable retraction yes no for flex filament Retract at layer change no
Retraction distance 7
Retraction speed 40
Retraction retract speed 40
Retraction prime speed 40
Retraction extra prime amount 0
Retraction minimum travel 2
Maximum retraction count 50
Minimum extrusion distance window 10
Nozzle switch retraction distance 16
Nozzle switch retraction speed 20
Nozzle switch retract speed 20
Nozzle switch prime speed 20
Speed
With stock extruder
With BMG extruder
for Flex filament (both extruders):
Print speed 40 60 30 Infill speed 40 60 30 Wall speed 20 20 15
Outer wall speed 20 20 15 Inner wall speed 40 40 30 Top surface skin speed 20 30 20 Top/Bottom speed 40 60 40 Support speed 40 60 40 Support infill speed 40 60 40 Travel speed 50 60 50 Initial layer speed 20 20 20 Initial layer print speed 20 20 20 Initial layer travel speed 30 40 30 Skirt/brim speed 40 40 40
Maximum Z speed 0
number of slower layers 2
Equalise filament flow No Enable acceleration control No Enable jerk control No
Travel
Combing mode Not in skin Retract before outer wall No Layer start X 0
Layer start Y 0
Z hop when retracted No
Cooling
Enable print cooling Yes Fan speed 100 Regular fan speed 100
Maximum fan speed 100
Regular/Max fan speed threshold 10s
Initial fan speed 0
Regular fan speed at height 0,68 0,9 Regular fan speed at
layer 4
Minimum layer time 10
Minimum speed 10
Lift head yes
Support
Support choose per print (no)
Build plate adhesion
Build plate adhesion type choose per print (skirt)