Creality Ender 5 Pro on board 4.2.2 and Marlin

I got a 3D printer at the beginning of the covid quarantine, that is, a million years ago, plus or minus. The toy went in and pretty quickly all sorts of whistles and fakes like:

  • BLTouch, I always had problems with leveling the table, with this device the problem was solved in the most correct way – automatically.

  • Board 4.2.2, even then I wanted to assemble Marlin, but something did not have enough time and desire to figure it out. Or maybe he just took up this case in moments of stupefaction. In general, I used my native firmware, quite old, and did not buzz. Attempts to assemble Marlin ended with the same thing – 1. it doesn’t work 2. it’s not clear why 🙂

  • on raspberry pi 3

And then 3 days ago I first tried to assemble klipper, it was assembled, but after loading the printer showed a clear blue screen and refused to work at all. Then I went to the official website and there already assembled marlin, even relatively recently laid out. I downloaded Ender-5 ProMarlin2.0.6HW4.2.2BLTouch, which seems to be similar in name to what you need, uploaded it to the SD card, turned on the printer, the firmware was installed, it seems to work, I send a 3-minute change for printing and leave. The cart receives a notification from the printer – ‘I did’. I go to look, and there …. nothing at all. I express my confusion. I notice that for some reason the plastic does not rest against the extruder. I finish the plastic, start printing again. And now I see with my own eyes “there is movement, there is no progress.” And then I notice that the plastic feed motor is spinning in the opposite direction. Such is the bug in the official firmware that was posted in November last year. And all pofik. On some forums (okay, in one post) people advise to change 1 and 2 pins of the motor. In general, life gives signs – collect, damn it, your marlin. Next, fiction ends and engineering begins

Tools for assembly.

Instructions in the form of a video on how to use on a poppy gravitsaps VSCode to use PlatformIO and Auto Build Marlin to build all the necessary junk.

Preparing sources.

Walk like that, take what you have, without writing out release tags.

mkdir ~/src/Marlin
git clone ~/src/Marlin/Marlin
git clone \
cd ~/Marlin/
cp /* \

Editing and collecting

Open ~/src/Marlin/Marlin as PlatformIO as shown in the video link above and generate the build environment as shown.

in VS Code, open ~/src/Marlin/Marlin/Marlin/Configuration.h and edit stupidly only 4 lines there

  1. Comment two errors at the beginning

  2. Uncomment `#define ENDER5_USE_BLTOUCH`

  3. Comment `#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN` (because board is 4.2.2 with 5-pin header)

just in case I put diff

hidden text
❯ diff ~/src/Marlin/Configurations/config/examples/Creality/Ender-5\ Pro/CrealityV422/Configuration.h ~/src/Marlin/Marlin/Marlin/Configuration.h
< #error "Don't build with import-2.1.x configurations!"
< #error "Use the 'bugfix...' or 'release...' configurations matching your Marlin version."
> // #error "Don't build with import-2.1.x configurations!"
> // #error "Use the 'bugfix...' or 'release...' configurations matching your Marlin version."
< //#define ENDER5_USE_BLTOUCH

they say you can still fix NOZZLE_TO_PROBE_OFFSET, but I haven’t gotten around to trying it yet.

Next, go to Auto Build Marlin, click Build opposite STM32F103RE_creality (512K), it looks something like this

and we get a .bin file that we write to the SD card, stick it into the printer and turn it on with it, which leads to the upload of the firmware.


First a table, everything is stupid, as described in We enter the commands in the terminal in octoprint. It’s easier than turning a knob and choosing a menu. # and do not enter everything after it, this is like a comment

M111 S247 # включаем дополнительный логинг
G28 # делаем Auto Home
G29 # калибруем уровень столика
M500 # сохраняем все откалиброванное в EEPROM 

Marlin, by the way, well done and saves everything in EEPROM, native firmware stored everything on SD. And once, pulling out the SD, turning it on without it, and trying to print something, I plowed the table with an extruder.

Let’s try to print. Most likely we will get a cobweb instead of the expected detail, because during calibration the BLTouch makes the relief of the table, but it cannot accurately set the distance to the table. This leads to the fact that the print starts higher than necessary, the part is not fixed at the bottom and crawls all over the table. In general, Marlin also has a wizard (c wizard) on this topic and another description, but I didn’t get a wizard. Practically it turned out to deduce the following working steps:

  1. G28 (Auto Home), this procedure will move the Z head 10 mm from about 0

  2. We carefully draw the head along the Z axis, changing the step, so that a piece of paper could be passed between the extruder and the table, but it clung a little (classic, yes). It turned out that it was above zero and it was -1.75 on the screen.

  3. When I tried to enter into the z probe offset -1.75 through the menu, nothing good happened, then I tried to drive ‘M851 Z-1.75’ in the terminal and then M500 and it all worked. in the z probe offset menu, it showed +1.75.

Congratulations, if you did everything right, then you can print very useful and necessary things again. For example, such

All peace and health.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *