Creality 4.2.7 Marlin + BLTouch Install notes (Ender-3)

Table of Contents

Intro

I’m using this page as a hub to organize and collect various pieces of information I have pulled together to get my Creality 4.2.7 mainboard working with the Ender-3.

Issue:

I ordered an upgraded creality v1.1.5 mainboard off Amazon and was shipped Creality’s latest “silent motherboard” version v4.2.7. The product on amazon was described to have a bootloader flashed directly out of box which would make uploading sketches to the board even easier. I spent hours on Arduino IDE trying to upload with the Sanguino board to no avail. 

Turns out that the new motherboards use the SD card to flash new firmware. All you need to do is drop the “.bin” file to the root directory. 

This made me realize that I just needed to use Visual Studio Code + Auto Build Marlin to compile and update the printer. If you don’t know how to do that, don’t worry– I got you.

Most of this information was found here, these guys got everything working and were able to put together this helpful document that lays out all of the pin data we have so far for the 4.2.7

Visual Studio Code Setup

First of all, you’ll need to download the latest version of Visual Studio Code here.

Open up VSC and install Auto Build Marlin plugin.

Once you have those both installed, its time to download and open the firmware for the printer inside of Visual Studio Code. 

Marlin Configuration

First, download the Marlin 2.X.X bugfix from Github here:

https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x

 

Once that’s downloaded, the next step is to open the “Marlin” folder that is found inside of the 2.X.X parent directory. 

Once you have that opened, now its time to edit the Marlin config files. Below are the changes that I needed make to get my printer working. Take note that this might not necessarily represent your printers setup. 

 

Change: #define CUSTOM_MACHINE_NAME “Ender-3 Pro V1.5”
To: #define CUSTOM_MACHINE_NAME “Ender-3 3G” // Or any name you’d like to

If you want to use the X endstop pin for the BL touch:

Change: //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
To: #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

// Enable BLTouch probe pins (white and black wires) to be connected to Z endstop switch

or if you want to use the new dedicated BLtouch pins

Change: //#define Z_MIN_PROBE_PIN 32 // Pin 32 is the RAMPS default
To: #define Z_MIN_PROBE_PIN 17 // Creality V4.2.7 BLTouch OUT (written on the board)

 

 

For reference here’s what the 5 pins for the BLtouch are used for (5 pins named as BL_T):

G———Green—-Servo
V———Red——Servo
IN——–Yellow—Servo
G———White—-Probe (if it doesn’t work, try to swap with Black)
OUT——-Black—-Probe

*REMEMBER* this is only if you are using the BLtouch pins (Z_MIN_PROBE_PIN 17) if you are using the Z probe endstop for your BLtouch then just uncomment “Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN” as above.

 

 

BLTOUCH and ABL stuff:

Change: //#define BLTOUCH
To: #define BLTOUCH


Change: #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
To: #define NOZZLE_TO_PROBE_OFFSET { -1, -10, 0 } //This offset is for the Ender-3 Hyrdra mod that I have installed on my printer

Change: #define PROBING_MARGIN 10
To: #define PROBING_MARGIN 15 // If you’d want stay away from the edges (higher values goes to center of the bed)

Change: #define MIN_SOFTWARE_ENDSTOP_Z
To: //#define MIN_SOFTWARE_ENDSTOP_Z // To allow to set Z offset values in negative


Change: //#define AUTO_BED_LEVELING_BILINEAR
To: #define AUTO_BED_LEVELING_BILINEAR


Change: //#define LCD_BED_LEVELING
To: #define LCD_BED_LEVELING


Change: //#define Z_SAFE_HOMING
To: #define Z_SAFE_HOMING

Change: //#define BLTOUCH_DELAY 500
To: #define BLTOUCH_DELAY 500


Change: //#define ADVANCED_PAUSE_FEATURE
To: #define ADVANCED_PAUSE_FEATURE


Change: //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change.
To: #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change.


Change: //#define PINS_DEBUGGING // M43 – display pin status, toggle pins, watch pins, watch endstops & toggle LED, test servo probe
To: #define PINS_DEBUGGING // Only if you’d like to discover new features, if you don’t, don’t let it as it is

Change: default_envs = mega2560

To: default_envs = STM32F103RET6_creality

Some users need to change the pins for the motors, it appears that some of the wiring has changed. Heres a list of what the pins should look like, cross reference this to your current configuration in pins file.

 

Link to the google doc HERE

 

Step by step guide for install, this page is where I gathered most of the information from.

 

https://github.com/MarlinFirmware/Marlin/issues/19029

 

 

Download Configuration exemples: https://github.com/MarlinFirmware/Configurations/archive/bugfix-2.0.x.zip

Uploading Firmware to the Printer

Once you’ve made all of the changes listed above, compile the firmware with VSC using the Auto Build Marlin plugin and upload it to the root dir of your SD card. Pop the SD card into your printer and boot it up! 

Comments

Subscribe
Notify of
28 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Konrad Walsh
4 months ago

Excellent write up

Brian K Blake
4 months ago

I found a lot of the default settings you list were different in the Marlin bugfix. Also, I can’t seem to get this to compile with your changes.

Malic
Reply to  G
2 months ago

I keep getting a

Marlin\src\module\motion.cpp:151:16: error: ‘HOMING_FEEDRATE_XY’ was not declared in this scope

error

Elliot
4 months ago

This is a great guide. I would also add Restore Leveling after G28 and the Probe offset wizard.

Pavel
3 months ago

I have the last board 4.2.7 with silent drivers and bltouch connected across the bridge and if I follow exactly these instructions, bltouch doesn’t work. It works with firmware from creality, so I don’t know where the bug is.

Styx
Reply to  Pavel
3 months ago

Purchased Same Board 4.2.7. for Ender 3Pro, and ordered BLTouch . install went great but the firmware well… we tried everything?? lol but ended up trying and useing Creality site latest firmware marlin update As well (thx for the tip) and works incredible . Any ideas about this bug is as well ??

Thanks kindly for any info

Pavel
Reply to  G
3 months ago

I didn’t have to shuffle the cables because, as I wrote above, I used the jumper that came with the BLTouch. Since Creality, the firmware works great, but I need to build my firmware and I can’t do that according to these instructions. Build and install goes, but BLTouch doesn’t work.

Jason
Reply to  G
2 months ago

Thanks to your post I was able to get Marlin working on Ender 3 v1 + 4.2.7 Silent board + BL Touch 3.1 (for Ender 3)!

For Z stop, I used the standard Z stop header, not the new 4.2.7 dedicated header. VCC, G, and SIG I wired to VCC, G, and IN on the new dedicated header. Just needed to swap G and VCC in the 3 wire female connector coming from the BL Touch, and I was off to the races.

Really appreciate your help here!

Paul
3 months ago

Hi, Just bought 3x 4.2.7 boards for my Enders and upgraded them all this weekend with the same firmware and SD card. The first 2 worked perfectly, the 3rd one isn’t doing anything when I insert the card and turn the printer on. I’m suspecting the card reader on the new board is not working right. It detects the card but doesn’t do anything. I tried different cards as well as a card with gcode / print files on, and still it doesn’t recognise these – is there a way to upload the firmware using the USB cable as an alternate method, in a similar way I did with Arduino and my v1.1.4 boards previously? Thanks

Last edited 3 months ago by Paul
Don
Reply to  Paul
3 months ago

Try Changing the name of the bin file. see if that helps.

William C Kreutinger
Reply to  Don
3 months ago

Is your LCD on, BLTouch lit up, fan running, but nothing else happening? I’m having the same issue and have no idea how to fix it… If you’ve made any progress please share.

William C Kreutinger
Reply to  Paul
3 months ago

Is your LCD on, BLTouch lit up, fan running, but nothing else happening? I’m having the same issue and have no idea how to fix it… If you’ve made any progress please share.

Marvin
Reply to  William C Kreutinger
2 months ago

Plug in a USB with 5V 3A charger to a wall outlet into your Pi/Port into printer. It should come on and work properly. You burned out the small spider looking regulator chip on bottom left of the board, as I did. Crossed wiring in the BLTouch hotwired and shorted the chip. Can get it fixed by solder or new board. It should still work with this setup.

Alfonso
1 month ago

Thank you very very much. I couldn’t find anywhere what is the BL Touch port pin to use with the Z_PROBE in Marlin with a 4.2.2 board.
Pin 17 seems to work fine.

MrPig
Reply to  Alfonso
1 month ago

I received support help from creality that shows the proper direct connect to the main board (for v4.2.2, appears similar to v4.2.7).

I cannot attach the photo…but here is the wiring for v4.2.2 direct mainboard BLTouch 5 pin header.

BOLD is for the Z limit, I clipped top wing of the plastic on the Z limit in order to not collide with the 3 pin connector.

G — Blue
V — Red
IN — Yellow
G — Black
OUT — White

Last edited 1 month ago by MrPig
Richard D Hall
1 month ago

I finally figured out what I think a lot of people are having problems with. In my case, an Ender 3 V2 with a 4.2.7 board and a BLTouch.

If you have a Creality 4.2.7 board with a BLTouch, and ARE using the BLTouch connector (all 5 pins), then you need this change:

change this:
//#define USE_PROBE_FOR_Z_HOMING
to this:
#define USE_PROBE_FOR_Z_HOMING

Also the probe pin is definitely #define Z_MIN_PROBE_PIN 17

.Without this change, your probe will not activate when homing and will crash into the bed! Been looking for this problem for a week! FINALLY SOLVED!

ercument
Reply to  Richard D Hall
1 month ago

I’m trying to edit with visual code. But I’m getting an error. Anyone to share the edited version, command or software (* .bin).

I am using Ender 3 V2 BlTouch 3.1. I made the connections with the BLTouch slot,

Vendicar Kahn
1 month ago

No vorkies. During a home, the BLTouch moves to the center of the build plate, gantry lowers, pin retracts, then it deploys again without the gantry moving upward, deploys again, the head crashes into the build plate, and the BLTouch turns red to indicate an error. Marlin status screen shows “STOPPED” in the bottom left corner.

Vendicar Kahn
1 month ago

#define Z_MIN_PROBE_PIN 17″ Causes dozens of compiler warnings. Resulting bin still fails.

samwiseg0
Reply to  Vendicar Kahn
19 days ago

I had the same problem. Here is a link that seems to describe the changes that need to be made in the latest version. 2.0.7 https://github.com/Flawioo/Creality-Ender-3-board-v4.2.7/tree/Marlin-2.0.7

Jonas Quinn
1 month ago

I have an ender pro 3 with a 4.2.7 silent board with bltouch, the printer works great with the stock bltouch firmware from creality, but I wanted to add more touch points for the bltouch. I’ve followed these settings to the letter, but when I auto home, the z axis won’t move down to the build plate. All I want is the newest marlin with increased leveling. Can you help? I can’t find anything on how to fix this. Again, if I load the stock firmware, everything works fine.

David
Reply to  Jonas Quinn
10 days ago

I’m having the same issue. I finally got the (most) of the bugs out of my program and everything its plugged in and working correctly. When I turn my printer on, the bltouch does two sample “plunges” but when I home it, nothing.

isaiah
16 days ago

can anyone post an already created bin file for me\

misudes
Reply to  isaiah
7 days ago

Not complete instructrions, other hard needs to setup in config file: #define X_DRIVER_TYPE  TMC2208_STANDALONE
and others …

Landmark

You’re reading the first post on our site. Nothing special or notable to say here other than the fact that this is indeed the very first time a post has been published to the website.

Read More »

Uploading Firmware to the Printer