Show pageOld revisionsBacklinksExport to PDFBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Marlin 2 Firmware for Ender3 v1 4.2.7 ====== I recently upgraded my Creality Ender3 3D printer to the silent mainboard (v4.2.7). The hardware replacement itself was kind of tricky because I use a 3D Touch sensor (BLtouch clone) and also upgraded to the direct driven extruder in this step. So many cables in and out. Because I didn't like the firmware from Creality itself I had to customize the Marlin Firmware for my equipment. Because I had a lot of issues to find and guess the correct firmware and settings I will provide my information here. ===== Disclaimer ===== Following the instuctions on this site may cause damage on hardware or person. Be careful with what you do. Always disconnect power when working on electric parts. \\ I am not resoponsible for any damages resulting of this instructions. Always double check everything. What works for me must not work for you. ===== Wiring ===== ==== Prolog ==== The wiring on the new 4.2.7 silent mainboard is a bit different than on the older v1 mainboards. I already mentioned that I use a 3D Touch sensor. Until now you needed a seperate adapter board for the display to connect the sensor. Now there is a seperate BLTouch port. Nice! But: new port means new connector: 5 Pin 2,54mm JST XH So I crimped a new connector which made it look and fit better then pushing the dupont connectors with force. My new direct drive extruder comes with all cables attached except the extruder motor. For this one it ships with a motor drive extender cable. I bought a new one on AliExpress in 150cm lenght. Fits perfectly but I had to swap two Pins. Check the original cable and the new one if you do that too. ==== Images ==== __3D Touch Pin layout__ \\ {{:public:marlin2-upgrade:bltouch-pin-layout.jpg?200|}} __BLTouch Display Adapter board__ \\ not needed anymore if you want to use the new dedicated port on the new mainboard \\ {{:public:marlin2-upgrade:bltouch-adapter-board.jpg?200|}} __Ender3 v1 Silent Mainboard v4.2.7__ \\ {{:public:marlin2-upgrade:silent-mainboard-port-description.jpg?500|}} __BL_T Port on Mainboard__ \\ {{:public:marlin2-upgrade:bltouch-port.jpg?200|}} ==== step by step ==== So now step by step: - **Power Off and disconnect power cord!** - mark your cables when disconnecting from the old mainboard! - replace mainboard - connect powersupply - connect hotend end and bed cables (power, fan and temp sensor) - connect motor cables (X, Y, Z and E) - connect X and Y endstop cables - connect fans (hotend and chassis) - connect BLTouch using BL_T port (any other method is pretty good described in other articles and pages) - connect display - check all wires again - finished wiring Don't forget to doublecheck everything. Some BLtouch clones may have different PIN layout. ===== Firmware ===== And now the firmware part. ==== precompiled by Creality ==== You can download the firmware already compiled and ready to print from the creality support page: https://www.creality.com/download \\ Just download the ''Ender-3 4.2.7 mainboard(32bit).zip'' and copy the correct .bin to your SD card. But the current firmware (28 Jan, 2021) had some issues which I don't like: * Try to move motors lower then ''0'', even if already homed. * did not support ''M600'' command (filament change) * duplicated terminal output which is not good for my octoprint ==== Marlin 2.0 ==== So I looked around the internet and found some instructions but most of them didn't worked for me or were for other wiring (BLtouch connected to Z Endstop). After some tries I had a nearly working firmware. Nearly, because ''G28'' or ''G28 Z'' didn't worked. The extruder always drove to the middle of the bed and thats it. In some tries he also deployed and stowed the 3D Touch sometimes but Z axis didn't moved. I ended up with this: - Downloaded [[https://github.com/MarlinFirmware/Marlin|Marlin]] release (I used the 2.0.7.2 release https://github.com/MarlinFirmware/Marlin/archive/2.0.7.2.zip) and extracted it. - Downloaded [[https://github.com/MarlinFirmware/Configurations|example configuration]] for this release: https://github.com/MarlinFirmware/Configurations/archive/release-2.0.7.2.zip - copied the ''config'' and ''extras'' directory into the ''Marlin-2.0.7.2'' folder from step 1 - copied the ''config/examples/Creality'' directory into ''Marlin-2.0.7.2/Marlin'' - copied and replaced the files from ''config/examples/Creality/Ender-3/CrealityV427/'' directory to ''Marlin-2.0.7.2/Marlin'' - Install and configure [[https://code.visualstudio.com/|Microsoft VisualStudio Code]] with PlatformIO Plugin: [[https://marlinfw.org/docs/basics/install_platformio_vscode.html|Instructions]] - Edit ''platformio.ini'' - Change ''default_envs'' variable to ''default_envs = STM32F103RET6_creality'' \\ <code>src_dir = Marlin boards_dir = buildroot/share/PlatformIO/boards default_envs = STM32F103RET6_creality include_dir = Marlin</code> - Edit ''Marlin/Configuration.h'' - Ensure that the following variable are set correctly \\ <code C>#define MOTHERBOARD BOARD_CREALITY_V427 #define CUSTOM_MACHINE_NAME "My Ender-3 32bits" //Customize to your needs #define EXTRUDE_MAXLENGTH 100 // optional, I lowered from 200 to 100 because I switched to direct drive extruder //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN //comment out because we use the BLTouch port #define USE_PROBE_FOR_Z_HOMING //otherwise Z probing won't start #define Z_MIN_PROBE_PIN PB1 #define BLTOUCH //enables BLTouch #define NOZZLE_TO_PROBE_OFFSET { -44, -10, 0 } //make sure that you enter the correct offset for your mount #define PROBING_MARGIN 15 #define XY_PROBE_SPEED (200*60) //this will speed up X and Y probing speed //#define MIN_SOFTWARE_ENDSTOP_Z //comment out so Z axis can move beyond 0 needed if you want to check for your offset #define AUTO_BED_LEVELING_BILINEAR //Automatic Bed Leveling using a grid #define LCD_BED_LEVELING // so you can level you bed from the printers LCD menu #define Z_SAFE_HOMING #define HOMING_FEEDRATE_XY (50*60) //this will speed up X and Y homing speed #define HOMING_FEEDRATE_Z (5*60) //this will speed up Z homing speed #define NOZZLE_PARK_FEATURE //needed if you want to use M600 filament change feature #define NOZZLE_PARK_POINT { (X_MAX_POS - 10), (Y_MIN_POS + 10), 20 } //parking position when filament change</code> - Edit ''Marlin/Configuration_adv.h'' - Ensure that the following variable are set correctly \\ <code C>#define BLTOUCH_DELAY 500 #define ADVANCED_PAUSE_FEATURE //needed for filament change #define PARK_HEAD_ON_PAUSE // go into park position when filament change</code> - Save and Compile - Finished .bin file is located in ''Marlin-2.0.7.2/.pio/build/STM32F103RET6_creality'' directory - Copy this onto the SD card and insert the card to your printer - Start printer ===== Links and Ressources ===== Here are some links, that helped me understanding the new mainboard and flashing progress. * https://www.gitmemory.com/issue/MarlinFirmware/Marlin/19029/680974552 * https://support.th3dstudio.com/hc/downloads/unified-2-firmware/creality/creality-ender-3-3-pro-ender-5-5-pro-firmware-v4-2-x-board/ -> This firmware didn't worked for me * https://docs.google.com/spreadsheets/u/0/d/1DYhh9fwLnvZzuNvMoBen9Dl68KN-4TWkbO94lJ4iwe4/htmlview#gid=0 -> PIN names and numbers * https://github.com/MarlinFirmware/Marlin * https://github.com/MarlinFirmware/Configurations * https://www.reddit.com/r/ender3/comments/imogwp/427bltocuh_v31/ {{tag>3d_printing 3d_druck 3d printing drucken FDM creality ender3 upgrade}} Last modified: 5 years agoby koechr