I will start with the fact that the very design of Creality CR10 and CR10S is very stiff and stable, and once a well-set table allows for many days of printing without fear of problems with sticking to the print, every now and then you need to slightly adjust the level to still print without obstacles.
A big problem arises when the table itself is crooked, then despite the best efforts, it may be that the printout will not stick and it will cause us a lot of frustration. This problem, as with many other users, also occurred with me, and even after replacing the factory glass pane for the Ikea Lots mirrors recommended everywhere, despite everything that appeared from time to time.
“I think that adding an auto-leveling sensor is the best modification I made in the previous printer (Anet A6) and I honestly recommend that everyone do the same.”
Immediately after installing “auto bed leveling”, many of my problems with printing ended and that’s why I decided to do the same procedure in Creality CR10S as well. In this case, despite the fact that the procedure, in theory, is very similar, you still need to know what to do (plus, minus, because I’m not an electronics engineer myself and I don’t know anything about integrated circuits, but it works, and that’s probably the most important thing)
How to add auto bed level sensor to CR10 and CR10S
Currently, there are several ready-made solutions that are more user-friendly who have never had a soldering iron in hand.
The cost of installing the sensor by yourself should not exceed $20, so the difference is quite significant, and the whole procedure is not so complicated and will be described below in a general way so that you know what to prepare for. I will describe each point in greater detail later. From the broader description, you will learn first of all what to look for at each point and what are the consequences and limitations of all these actions that you will perform. To work!
- Order the auto-leveling sensor: Sensor for CR10S
- Order the corresponding optocoupler with Aliexpress, Allegro or Gotronik
- Print the handle and screw the sensor handle to the printer
- Connect the sensor properly
- Upload new firmware to the printer ( TH3DUF or Marlin 1.1.8 )
- Set Z Offset in the new firmware
- Add the G29 command to each of your newly cut slice models (Cura, Simplify 3D).
And that’s all. After getting through these 7 points you will be able to enjoy first, new, better software in the printer, which allows you to change many parameters very easily and offers several additional options such as baby-stepping, and secondly your problems with leveling the table and getting stuck printouts.
VisitSocial Captain for more…
1. Order the auto-leveling sensor for Creality CR10S
Why this one, since everywhere I meet people use a cylinder-shaped sensor?
The principle of operation is the same, while the “my” blue sensor worked perfectly with the previous printer, is solidly made, and is smaller, has a large tolerance range for 6V-36V power supply (although it worked even 5V without any problems), it is not expensive, and for this, its operating range is up to 8 mm, so even when printing on glass 4-5 mm thick it should not cause any problems.
However, be careful of fakes that I read about on the web and which I found, e.g. on Aliexpress, these sensors are identical, but by 2 or 3 dollars cheaper, however, their range of action is reduced to 4 or 6 mm, which may already be a problem in some situations, so I recommend buying only the original sensor from here: Original auto leveling sensor for CR10 / CR10S
2. Order the appropriate optoisolator
I will not hide that I am not a specialist in the field of electronics. I have asked in several places on the network that a system such as an optoisolator is necessary and what it is all about. This is professional:
“Module with optoelectronic isolator, designed to control systems working with voltages up to 70 V through 3-5V digital systems, e.g. microcontrollers. The module separates the executive system from the controller, thus protecting the control system and eliminating the occurring noises and interferences.”
In a nutshell, our sensor will be powered from a 12V power supply to ensure the accuracy of readings, but the motherboard in CR10S can accept at most 5V, so that everything works as it should (motor control) and in order not to burn the motherboard we use the so-called optoisolator or optocoupler. We will connect most of the cables to it, but more on that later.
3. Print the handle and screw it to the printer
The sensor holder is of course on Thingiverse.
This is my design and I recommend using this handle because it fits this sensor perfectly, it is easy to install (it does not require any additional screws, we use the same ones that are already in the fan housing and nozzle), and the software, which you will upload later, have the correct offset of the sensor from the print nozzle entered.
I recommend setting the layer height to 0.1 mm and adding supports that will allow it to be printed in the current orientation and preserve details such as places for the sensor nuts in the back of the handle.
4. Connect the sensor properly
Well, the hardest part is ahead of us, but don’t worry if, unlike me, you already know “what and how” at the beginning, things get a lot easier.
a) Sensor supply
In practice, we need to power the sensor with 12V. For this, we will use a regular 12V 1A or larger AC adapter (with higher intensity, i.e. 2, 3 or 5 Amps). You can easily find such a power supply at home, and if you don’t, you can buy it at Allegro or some other electronics store for a few pennies. The plug in the power supply should be cut off (you could also keep it, but I decided that it is rather permanent construction, so let it be soldered permanently. After cutting off the power supply plug, depending on its type, we can already have 2 separate wires, where plus usually marked or dashed white line
Or something like a coaxial cable, where the inner vein is our plus and its braid is our minus. Regardless of which power supply you have, it should be suitable without a problem.
In the first stage I tried to power the sensor directly from the CR10S power supply (we also have 12V there), but unfortunately for unknown reasons this treatment did not work, so I recommend a separate power supply after all.
b) Auto leveling sensor
Now it’s time for the sensor. There are 3 wires coming out of its plug, in the product picture above it is black, red and yellow, but in reality, they will be:
Brown – a plus
Blue – minus
Black – signal
We cut the plug and remove the shirts from all three wires. The black, thick, outer jacket can be boldly cut (taking care not to cut the colored wires inside).
c) With endstop
The next step will be to bring the Z-axis position signal to the motherboard. Originally this role is played by the so-called endstop (the sameis at the “end” of each axis.) For the printer to know the position from the auto-leveling sensor, we must send a signal to the motherboard. For this purpose, we will use the current cables that run from the motherboard to the mechanical end stop of the Z-axis located on the left side of the printer. Here, too, we must distinguish which wire is which. The easiest way is to look at Endstop because there the cable entries are signed.
d) Cables ready for connection
The center of our connection is the previously mentioned optoisolator. The model I used has two inputs + and – on the left, and three VCC, OUT, and GND on the right. In this case, wedo not use the VCCoutput, so the connection is quite simple and quite obvious.
On the left, plug the
2 power cords to the
plus: Plus from the power supply and plug from the sensor.
On the left, plug the 1 cable to the minus:
Signal from the sensor.
On the right, connect the OUT outputs: 1 cable:
P plug from our Z-end stop.
On the right connect 3 wires to the GND output:
Minus from the sensor, minus from the power supply and signal from Z-endstop
Is everything connected? Checked? If you’re sure then go ahead and turn on the printer and we’ll see soon.
The sensor will not work properly yet and the printer will not recognize that it should stop, so don’t even try the Auto Home option! It’s best to lift the Z axis about halfway up the work area and start the test. If you did everything correctly, after placing a metal object under the sensor, a red diode should light up on the sensor and on the optoisolator. If it is not lit, check the cables again.
5. Upload new firmware to CR10S
There are plenty of tutorials on the network on how to upload other firmware to CR-10 or CR-10S. I will not go into details here. You will certainly find the right instruction on YT. What you need to know is that if you have the regular version (without S) then you must first put on the Bootloader motherboard and that both firmware files that I have prepared are only suitable for the upgraded version, i.e. CR-10S. For CR-10, several modifications should be made there.
If you have a Creality CR-10S printer we can start.
- Download and install the Arduino IDE from this page
- Download the u8glib library from this page
- Download firmware for CR10S from TH3DUF or pure Marlin 1.1.8
- Open the TH3DUF.no file
- Go to Sketch> Attach library> Add .ZIP library and install the u8glib library
- Go to Tools> Plate and select Arduino / Genuino Mega or Mega 2560
- Go to Tools> Processor and select ATMega2560
- Go to the Port tab and check what ports are available before connecting the printer to the computer. Then turn on the printer and use a USB cable to connect it to the computer in the Ports list should appear one new COM port. Choose him.
- Now select the first icon on the left in the upper corner and click Verify. The Arduino IDE will now check to make sure that there are no conflicts or errors in the firmware and that you have correctly installed the library. If everything goes well you will see the message Compilation completed and some information about how much memory the sketch consumes.
- Now just select the upload button and wait for the whole process to complete. When the uploading is finished, the new printer will be installed on your printer, thanks to which our table auto-leveling sensor will work, and you will find in it many other settings that the standard CR-10S firmware does not offer.
6. Set Z Offset in the new firmware
Instead of describing the entire procedure, I will use a video showing how to easily calibrate Z Offset. Remember that sometimes you will have to gently modify it before you find the perfect value for your printer. Print, test, change, and at some point, you will think that this is the right value. You only set this offset once.
7. Add the G29 Auto Leveling command on your slice
For the sensor to work and the table auto-leveling procedure to be started, the “G29” – Auto bed leveling command should be added immediately after the “G28” command, i.e. Home all axis.
Update! To make sure that the firmware saves what the sensor has collected and used in printing, add the M420 S1 command immediately after G29. Below is the whole, ready Start Script that I use in Simplify 3D.
G1 E10 F3000; Retract filament 1mm G28; Home all axes G29; autolevel M420 S1; Save mesh M420 S1; Save mesh M117; Purge extruder G92 E0; Reset extruder G1 Z1.0 F3000; Move z up little to prevent scratching of surface G1 X0.1 Y20 Z0.32 F5000.0; move to start-line position G1 X0.1 Y250.0 Z0.32 F1500.0 E15; draw 1st line G1 X0.4 Y250.0 Z0.32 F5000.0; move to side a little G1 X0.4 Y20 Z0.32 F1500.0 E30; draw 2nd line G92 E0; Reset extruder G1 Z1.0 F3000; Move z up little to prevent scratching of surface M117 TechBoss.pl
Settings> Printer> Manage Printers> Machine Settings
Edit Process Settings> Scripts> Starting Script
If you have gone through this guide and still have some doubts ask in the comment and I will be happy to help. Auto Bed leveling is a great thing and it’s definitely worth adding such functionality to your 3D printer.