You are on page 1of 16

Thanks for making the purchase on the bed levelling kit for the cr-10.

If you are in any way unhappy


with your purchase, please make contact before leaving negative feedback on eBay or slating me on
Facebook- ill be more than happy to resolve any issues that should arise. Thanks. 😊.

CR-10 BED LEVELLING SENSOR KIT by Scou @ www.ebay.co.uk/usr/skynet3dmods


(more mods for this printer coming soon so please add skynet3dmods to your favourite ebay sellers
and keep a look out!)

DISCLAIMER
I DO NOT ACCEPT RESPONSIBILITY IF YOU CHOOSE TO MOD YOUR PRINTER
FROM ITS STOCK FORM… IF YOU HURT YOURSELF OR ANYONE ELSE FROM
MODDING YOUR MACHINE THEN ITS YOUR FAULT. IF YOU DAMAGE YOUR
MACHINE- BLOW UP YOUR HOUSE OR GIVE YOUR GRANDMOTHER A HEART
ATTACK- ON YOUR HEAD BE IT!!! YOU ARE EXPECTED TO CARRY OUT ALL
NECESSARY RESEARCH BEFORE UNDERTAKING THE TASK AHEAD. PLEASE
FOLLOW THE GUIDE CAREFULLY BEFORE POSTING QUESTIONS!
Also. I can only verify this guide for windows users. So be aware before buying!

All credits on the firmware go to our favourite Yankee - Timothy Hoogland from
https://www.timothyhoogland.com - He’s saved the whole community the job of configuring the
marlin firmware with handy profiles and guides. please note that this guide here is just a spin on
what you can find over on his page and instructables.com . And If you have any spare money I really
suggest supporting this dude for his work! Thanks TIM!

Please note. Tim is very busy with his own customers. So, I ask those that have purchased my kits to
please refrain from asking Tim for support. If you need any additional support with installing this kit
then you can contact me either through my Facebook page or eBay.
http://www.facebook.com/skynet3ddevelopment
http://www.ebay.co.uk/ust/skynet3dmods
Changes to the firmware

When the first batch of sensors went out. It was quickly brought to my attention that the firmware
was too large and causing an error where the screen would remain blue.. essentially soft bricking the
printer. I’ve now edited Tim’s release to prevent this from happening again.

The changes below were made to save on program memory

Disabling arc support (G2&G3 from the configuration_adv.h)


Disabling M503
Disabling Host keepalive feature from the configuration.h to prevent those annoying ‘’busy
processing’’ messages!!

This has allowed me enough memory to enable babystepping and double click babystepping for live
z offset adjustment without going as high as 99% program mem 😉 happy days..

You will now be able to quickly press the knob on the printer twice and then tweak the z offset at
any time (usually during the first layer)

Contents of the kit!

- The capacitive sensor itself (this is in 2 parts so that you can route the cable into the cr-10
control box)
- Usbasp bootloader flashing tool
- Usbasp 10-pin to 6-pin adapter
- One 3d printed sensor mount
INSTALLATION

1. TURN OFF THE POWER AND UNPLUG THE POWER CHORD (VERY IMPORTANT)

2. Disconnect the control box wires from the printer- this is the reverse of what you did when you
first built the machine. This is so that you can get the control box near your pc when you flash the
firmware. You can also just use a usb extension cable for the usbasp.. this is up to you 😊

3. now were going to open the control box. start by removing the 5 screws on the bottom and
removing the bottom plate exposing the power supply.

4. remove the 4 power supply screws on the side and pull out the power supply and move it out of
the way – theres no need to disconnect it . then you will be able to see the melzi board
5. Remove the lcd ribbon cable and the z endstop cable
6. Thread the sensor cable through the back of the control box ( ignor the fat cable going to the
spool holder.. that’s my sensor testing board so I don’t have to keep opening my control box 😉 )

…and plug in the sensor harness to the z endstop and the spare fan socket. Please note- on the
sensor harness – the plug with 2 cables goes to the z endstop and the plug with 1 cable goes to the
spare fan socket. Then you can connect the 2 halves of the sensor together..
7. open your usbasp kit- plug the 10pin to 6 pin adapter into the ISP pins right next to the lcd socket
on the main board.- pay carefull attention to the orientation of the adapter.

8. now plug in the cable that came with your usbasp and then plug the usbasp into a free usb port on
your computer.. you should see a blue light on the printer board and a red light on the usbasp itself.

Now we will flash the firmware.. these next steps are slightly different to other guides out there.
Other guides require you to flash and arduino uno- then flash the bootloader- then flash the
firmware.. we will simply flash the firmware already containing the bootloader thus saving a few
steps 😉
I have already installed the sanguino library into arduino 1.8.3 to make installation for you a little
easier but ive included the library in the download anyways just so you have it 😊 ive also made
arduino ide a portable version so please make sure you are using the included version!
9. open the ardunino 1.8.4 folder and run arduino.exe

click allow access!


10. now were going to open the firmware.. go to ‘’file’’ and ‘’open’’

11. navigate to Marlin 1.1.4 / Configurations and select the correct printer for you and the correct
mount for your setup.. for the purose of this guide I will be installing the ‘’CR-10 – ABL OEM
Mount’’-- so open that folder/whatever folder suits you (if you are using the sensor mount included
in the kit.. youll also be choosing the same options as me)
Double click on any of the files above to open the source code into arduino.. you should see this…
12. Now we will set up arduino so that it compiles for our printer. Go to tools at the top and make
the following changes .

13. hit the verify (tick) button- just to check that the firmware compiles properly
Once its done compiling we can move on to the next step!

14. go to the ‘’sketch’’ tab and ‘’Export compiled Binary’’ -- this will compile again and save two
.hex firmware files that we can now flash to the printer later

Once it says ‘’done compiling’’ as it did before .. close arduino and move onto the next step

15. open avrdudess.


16. set the programmer to ‘’usbasp’’. Set the port to ‘’usb’’. Set the MCU to ATmega1284p. and hit
detect. Then look to see if the board is detected(step5 below)
17. now if you look above.. click the 3 dots button next to the ‘’flash bar’’ below the ‘’port(usb)’’ –
this is where we will find the .hex file we created when we ‘exported the compiled binary in arduino.
We want to choose ‘’Marlin.ino.with_bootloader.sanguino.hex’’ here so once you’ve found that in
the folder where you chose your firmware config.. hit open to load it into avrdudess

18.Smash that ‘’Program!’’ button!

Once that is completed… that’s it.. you’ve just installed your sensor then flashed the firmware and
bootloader in one foul swoop.. good job..
19. Disconnect your usbasp kit from the cr-10 board.. plug in the lcd ribbon cable and install the
power supply and bottom plate of the control box. And make sure all wiring to your printer is as it
should be apart from the z endstop cable which now isnt needed… just leave it in the control box
and forget about it.

20. install your sensor bracket and route your sensor along the bowden tube

21. remove the old z endstop.. you can see here that I substituted the endstop switch mount for a
couple of nuts… shorter screws will do too but I didn’t have any!

And that’s it.. you now should have a marlin enabled – auto leveling CR-10…
control your boner because youre not finished yet!
BASIC Z OFFSET TUTORIAL.

You need to set your z offset and check functionality of the sensor in order to use bed leveling
properly so you need to have your CR-10 connected via usb to set the z offset. Afterwards youll be
able to print however you want but for this process your going to need to control your printer with
commands.

1. First you need to set the height of the sensor.. manually move the nozzle until it touches the bed..
then set the sensor 1-2mm above the bed as shown below.

2. open your favourite slicer.. im not gonna be going into the in’s and outs of different slicer’s here..

3. load a model

4. print with usb (were not actually printing yet but we need access to the comand window) .. im
using cura 15.04 with pronterface for this .

5. now we will check the functionality of the sensor- we do this with the M119 command.. first
send the command with the nozzle raised off the bed then using the movement buttons in
pronterface- move the nozzle down until the light comes on the sensor and send the command
again. If for some reason your
nozzle is touching the bed.. you
need to raise it up again and
adjust the screw on top of the
sensor until the light comes on
but is not touching. There
should be a good 4-5 mm
distance at this point to be on
the safe side.
6. once you have verified the function of the sensor.. preheat the bed and nozzle. And send the
following commands
7. send an ‘’M502’’ to load default values
8. send ‘’M851 Z0’’ to make make sure the z offset is set to ‘0’
9. send ‘’M500’’ to store that z offset number to the eeprom
10. autohome with a G28

The printer should home x and y and then procede to home the sensor in the center of the bed..
after this the nozzle will raise 10mm and you will have ‘’ Z10’’ on the display .

11. using the movement buttons in pronterface – lower the nozzle down 10mm to compensate for
the previous step.. your display will now say ‘’Z0’’.
12. continue to lower the nozzle until you have the correct gap – this can be done by eye or by using
a piece of copy paper. Make sure to do this step in 0.1 incriments to prevent the nozzle hitting the
bed.. youll now be presented with a negative z number on the CR-10 Screen. This is your Z offset.

Mine came out at -5.29

13. send ‘’M851 Z-5.29’’ to set the new z offset


14. send ‘’M500’’ to store this to the eeprom

This still may not be the perfect level of squish that you require and to be honest .. only printing
something will actually show you this.. so print something small and then adjust as needed using the
commands from step 13 and 14.

So that’s it for setting the z offset. And your pretty much good to go .. all you have to do now is set
your ‘’start g-code’’ so that it has a G29 (autolevel command ) in it .. look at the example below..
you need to make sure the G29 is AFTER a G28… because if you have a G28 after a G29 you will
cancel out the autolevel procedure and itll never work.. see my example start g-code below.

You might also like