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. 

https://www.th3dstudio.com/ 

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

https://www.antclabs.com/ 

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 2

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)