The Ender 3 V2 3D printer – Creality’s update to their successful Ender 3 – has a few improvements over the original model, including attached belt tensioners, an extruder knob, a full-color touchscreen display, and more. An upgraded 32-bit mainboard is another distinctive feature. It ships with the Creality V4.2.2 mainboard, but you also have the option of upgrading to the V4.2.7 (silent) mainboard.
Most boards for the V2 now come with a version of Marlin 2.0 firmware installed, which the older 8-bit boards were incapable of handling. Known for its reliability and frequent updates, Marlin is one of the most popular firmware options. The firmware runs in C++, works with many 3D printer upgrades, and has safety features like thermal runaway protection (although you have to make sure that it’s activated).
In this article, we’ll explain how to install Marlin firmware onto your Ender 3 V2. This guide can also be used for original Ender 3 printers that have either a V4.2.2 or V4.2.7 mainboard installed. The steps for updating the LCD firmware, however, won’t be needed for the original Ender 3.
In the past, Creality’s mainboards haven’t been very stable and tended to malfunction. As they were 8-bit boards with less storage, Creality’s first-generation (V1.X and Melzi) mainboards couldn’t handle Marlin 2.0 with all of its features activated. Installing new firmware on those boards was also a bit more complicated: The process required a bootloader (an Arduino Uno, for example), Cura, or an ISP to USB cable.
The new V4.2.2 and V4.2.7 mainboards, however, have more space, a 32-bit processor for faster operation, and a pre-installed bootloader, so the installation process is simpler. With these new features, you can upload new firmware by using the MicroSD card slots, and the V2 has two: one on the mainboard and one on the LCD.
The boards are fairly new so there aren’t many firmware options specifically for them yet, but more will come with time. The V2 comes with stock Creality firmware, which is an altered version of Marlin. In the meantime, Marlin has already released configurations for the V2 and older Ender 3s that have been upgraded with the V4.2.2 or V4.2.7 mainboards.
The new process for updating your Ender 3’s firmware involves using a BIN file on a MicroSD card and flashing the new firmware to both the board and the LCD. In this article, we’ll focus only on the process for uploading Marlin firmware, which might not work for other flavors of firmware like RepRap or Repetier.
Although Creality’s stock firmware might be more stable than the newer firmware options, the newer versions of Marlin have more printing features. The stock firmware also has some Marlin 2.0 features deactivated. An example is linear advance, which predicts the build-up of pressure in the hot end to achieve higher-quality prints with less under- and over-extrusion.
You also may want to change the stock firmware if you want to use upgrades on your Ender 3 like a BLTouch, filament runout sensor, a geared extruder, among others. That’s because some upgrades like a BLTouch or filament runout sensor require certain features to be activated in the firmware.
One of the latest versions of Marlin (2.1.2) added features like input shaping for an even more streamlined setup. At time of writing, the latest stable release is 2.1.2.4.
Thanks to the new mainboard on the Ender 3 V2, you won’t need much to update its firmware:
The file archiver program is only necessary if you use a pre-configured firmware file that downloads as an RAR file. 7-Zip is a free, open-source file archiver program that can unzip RAR files.
Please note that current versions of Marlin do not support chips that start with GD32. If you have identified your chip as this model, it is safest to only use Creality’s pre-configured code for this chip found on their website. Note that the installation process is the same, the key difference is the configuration of the firmware. (The source of the code is still Creality’s website.)
You’ll only need VS Code if you plan to manually edit the firmware’s code. This is advisable only if you have sufficient knowledge of coding. If you’ve got the skills and are up for the challenge, make sure you also download the PlatformIO and Auto Build Marlin plug-ins on VS Code. The SD card letter will be used later while coding.
Now that you have everything you need, let’s get started!
First, we need to prep the machine for the update by downloading either a pre-configured or self-configured firmware, as well as organizing your folders:
If you don’t need to tweak your firmware, we recommend using Creality’s. They occasionally change the file types offered on their website, so you’ll either have a BIN file or a RAR file with the BIN file compressed inside. If you’ve downloaded the BIN file, make sure you also download a folder labeled “DWIN_SET”.
With pre-configured firmware, you won’t need to configure the source code files, so you can skip ahead to Step 4.
If you need to alter your firmware for upgrades, bug fixing, adjusting offsets, or other reasons, you should go with the self-configured firmware. Make sure to download the entire “Marlin-2.1.x” and “Configurations-release-2.1.x.x” zip folders. After you’ve done that, proceed as follows:
For the sake of conciseness, we’ll refer to the “Configurations-release-2.1.x.x” folder as the configurations folder in the following steps.
Next, we need to configure the base Marlin firmware for the Ender 3 V2.
With Marlin configured, the firmware must be edited and compiled in VS Code. Here, you can make personalized changes to the firmware before compiling and building.
If you want to make tweaks to your firmware, here is the place to do it. Most alterations require changes in the “Configuration.h” or “Configuration_adv.h” files.
To adapt Marlin to your specific Ender 3 V2, you will have to define your printer-specific stepper driver. Your Ender 3 V2 will have one out of five different stepper driver types. Using the letter from your SD card slot, your corresponding stepper motor type will be one of the following:
After identifying your driver type:
After you are finished editing, the firmware is ready to be compiled.
There are two ways to compile the firmware. The firmware can be built as a BIN file in PlatformIO using either the Auto Build Marlin extension or the Auto Build Marlin panel. We recommend using the Auto Build Marlin panel as it’s the more user-friendly of the two. Either way, you will need your processor chip’s model number you took note of earlier to choose the correct build environment.
Follow the steps below to configure Marlin using the Auto Build Marlin control panel.
Next, we’ll go over how to configure Marlin in PlatformIO.
Now you need to find the BIN firmware file so you can upload it; no other file type will work for your mainboard’s firmware. This process differs depending on whether you used Creality’s pre-configured firmware or self-configured firmware.
In Step 1, you should have been able to download either a BIN or RAR file from Creality’s website. If you have the BIN file, simply proceed as follows:
In order to update the firmware for the LCD display, you’ll also need to download the DWIN_SET folder from the Creality website. This folder can also be pasted onto the MicroSD card, then you can eject the card from your device.
If you have a RAR, you’ll need to use a file archiver program that can unzip RAR files. Before getting started, make sure you have downloaded 7-Zip or another file archiver program capable of unzipping RAR files. If you use another program, it should work similarly. In this tutorial, our instructions are based on the process with 7-Zip.
For the LCD display, the DWIN_SET folder is also included in the extracted contents of the RAR file.
Make sure you’ve successfully compiled your firmware in VS Code. If the BIN firmware file produced by Auto Build Marlin is already open, skip to Step 6. Otherwise, proceed as follows:
Now all you need is the firmware for the LCD display.
Now that you have the necessary files, let’s first upload the new firmware to the Ender 3 V2’s mainboard.
That’s it! You successfully installed new Marlin firmware on your Ender 3 V2 mainboard.
Now you need to upload the new firmware specifically for the Ender 3 V2’s LCD display screen. The firmware for the display is located in the DWIN_SET folder mentioned in Steps 1 and 4.
Regardless of whether you’re using pre-configured or self-configured firmware, you should have already found the DWIN_SET folder and saved it onto the MicroSD card in Step 4. The next step is simply uploading it to the screen.
Since the other MicroSD card slot on the Ender 3 V2 is located in the display, you’ll need to disassemble the LCD:
Below, we’ve listed some tips and tricks for installing new Marlin firmware on your Ender 3 V2:
Happy printing!
License: The text of "Ender 3 V2 Firmware Update (Marlin): 6 Simple Steps" by All3DP is licensed under a Creative Commons Attribution 4.0 International License.