Skip to content
Miguel Risco-Castillo edited this page May 8, 2023 · 58 revisions

Welcome to the best Ender 3 V2/S1 firmware

This firmware is based on Marlin, has been optimized and has enhancements for the Creality Ender 3 V2/S1 printer. This is an universal firmware that can be used in both RET6 and RCT6 STM32FX chips that have 256k or 512k Flash memory. The firmware and its wiki are not really intended for beginners but as a supplement to already existing guides.

How to search in this Wiki

Use the search box of Github to write your keywords and select In this repository then in the list of results select Wikis
image

Wiki

Requirements

In order to use this firmware, your printer must meet the following requirements:

  • A compatible control board: Creality 4.2.2, 4.2.3, 4.2.7, V24S1_301 or SKR Mini E3 V3 for Ender series printers with a STM32F103 or STM32F401 SoC.
  • A DWIN or DACAI color screen with encoder knob. Touch or legacy monocrome screens are not supported.

You can modify your printer to meet these requirements.

Versions

  • Ender 3v2 MM: if you have the Ender 3v2 near to stock then use this version (Manual Mesh).
  • Ender 3v2 BLT: use this version if you installed a CR/3D/BLTouch level sensor in the Ender 3v2.
  • Ender 3S1: use this version if you have an Ender 3S1 printer with CRTouch, (F1 is for the STM32F103 and F4 is for the STM32F401 SoC)

You can download the latest binaries from the assets at the bottom of the release page. To know if you have the last release go to the info page in the display of your printer and compare the release build date with the name of the binary file. The filename follows the convention:

Ender3V2-422-MM-YYYYMMDD.bin

Where YYYYMMDD indicates the date of the build. 422 refers to the mainboard version 4.2.2, 423 refers to the mainboard version 4.2.3, and 427 is for the 4.2.7 mainboard version, if you got a 4.3.1 board use the 422 version. SKRMINI version is currently for the BTT SKR Mini E3 V3 board (needs a screen adapter).

For example, if you want a firmware for your Ender-3 V2 printer with a control board version 4.2.2, CRTouch and support for UBL, you should download the file:

Ender3V2-422-BLTUBL-YYYYMMDD.bin

Identificando_version_de_placa

UBL versions

Binaries with UBL in their filename have support for Marlin Unified Bed Leveling, this system is similar to the bilinear leveling but with a few extra features to provide users with more control. There are multiple guides on the web about UBL, we recommend reading about it before using this new leveling system.

Model Predictive Temperature Control (MPC)

In the latest releases MPC is being incorporated in all versions. MPC has proven to be a better algorithm for keeping the nozzle temperature stable, and is also very useful for high power heaters.

Note: Due to lack of program memory space in the STM32F401 SoC, not all the features are available for the precompiled binaries of Ender 3S1 F4, for the F4 with UBL version more standard feature had to be removed.

Special versions

There are several special configurations here: https://github.com/mriscoc/Special_Configurations/releases

Other custom builds can be compiled using the Configurator:

Community links

Donations

Thank you for your support, I receive donations through Patreon and Paypal

Firmware features

  • Universal RCT6/RET6 Ender 3 V2/S1 Support
  • DWIN / DACAI screens support
  • Improved support for Manual Mesh and CR/3D/BLTouch
  • User configurable power lost recovery enabler
  • Manual and assisted bed tramming
  • Tramming Wizard for BL/3D/CRTouch versions
  • Long filename support with scroll
  • Axis value in dash board shows actual position of the axes, including Z leveling
  • Baby Z-Stepping
  • Firmware Retract
  • Advanced pause feature
  • Configurable park-head position (default x=240 y=220)
  • Filament change support
  • Filament management (load/unload/park head) in prepare menu
  • Print Flow on Motion and Tune menu
  • Home axis after motor disabling
  • Fastest Z feed rate
  • Live move for all motors but extruder
  • Support for S-curve Acceleration
  • Reboot printer item on control menu
  • Increase extruder feed rate limit to 150 for BMG users
  • Allows to invert direction of the extruder on Motion menu
  • Support for BTT Smart filament sensor
  • Selectable runout filament sensor active state (LOW/HIGH/MOTION)
  • Editable runout distance
  • Support for memory card extensions via Media Update (auto-mount) Enable/Disable menu item
  • PID popup with temperature plot
  • Lock screen
  • Editable physical dimensions
  • Mesh viewer and editor
  • Custom pre-heat
  • Enable/disable beeps sound
  • View of g-code embedded thumbnail (use this guide)
  • New print done screen
  • Two decimal positions for axis coordinates value
  • New Z-Offset wizard
  • New PID settings menus
  • PID moves the head to the center for more accuracy
  • Leveling bed temperature linked to bed PID temperature
  • Editable extrude minimum temperature
  • Brightness settings on tune menu
  • Turn off the backlight of the lcd in the tune menu
  • New status line system, allows the scroll of large messages
  • Home submenu with individual axis homing
  • Enabled user setting for 115200 bauds (Creality Box compatibility)
  • Head parking before recovery after power failure
  • Offset icon changes to show leveling status
  • Live end-stop diagnostic page
  • Move bed to front after cancelling a print.
  • Editable firmware retracts settings for Tune and filament settings menu
  • Print Statistics page accessible from the Advanced Settings menu
  • Toolbar with 11 configurable shortcuts actions.
  • Support in source code of control menus for LED lights as the Neopixel
  • Support up to 10 Preheat settings (needs own compile)
  • Support for Model predictive temperature control "MPC" (needs own compile)

latest release

Manual mesh

  • Assisted manual bed tramming
  • Assisted manual mesh leveling menu
  • Selectable mesh points from 2x2 to 9x9
  • Mesh viewer
  • Persistent Z-offset
  • Move Z to 0 and disable motors option
  • Mesh editor for fine tuning
  • Allows to set the Z height after Z home

CR/3D/BLTouch

  • Safe Probe Z-Homing
  • Bed auto level
  • High speed probe
  • Retry bed level on error
  • Mesh viewer
  • Assisted tramming
  • Selectable mesh points from 2x2 to 9x9
  • Allows the user to cancel an auto leveling process
  • Increase Max Probe Offset and Probing Margin to 60 mm
  • M48 Probe Test to Probe Settings menu
  • Probe Stow/Deploy in Probe Settings menu
  • Option to disable HS mode for better compatibility with CRTouch
  • Option to change the Z Probe feed rate
  • Configurable Bed auto leveling temperature
  • Mesh editor for fine tuning
  • Automatic maximize leveling area
  • Automatic center leveling area
  • Editable multiple probing

G-Codes enhanced support

  • Filament Load Unload G-codes (M701/M702)
  • Support for M600 filament change
  • Support for G-code M117 messages
  • Enable M575 change baud rate by G-code
  • Extended M75 with filename support, use M75 {{ event.name }} in g-code script
  • Enable ARC and 'P' parameter to specify complete circles (G2/G3)
  • G35 support
  • M155 Geometry report
  • Native support of marlin brightness and M256 g-code

Support for special nonstandard custom C G-Codes

  • C10 marks a G-code file as a configuration file to avoid confirm to print and print done dialogs.
  • Implemented C11 En Rn Gn Bn gcode for colorize UI elements
  • C108: Cancels screens waiting for user simple confirmation
  • C29 F### B### L### R### N# T#: Mesh insets, amount of grid points and bed temperature of the mesh leveling
  • C100 X### Y###: to sets minimum limits
  • C101 X### Y### z###: sets maximum limits
  • C102 X### Y###: sets bed size
  • C104 U1 T###: unlocks the hotend maximum temperature to ###°C (CAUTION)
  • C115: Shows ProUI details
  • C125 X### Y### z###: sets the park position
  • C412 M#: sets run-out sensor active state (M0:LOW, M1:HIGH, M2:MOTION)
  • C510: locks/unlocks the screen (C510 U1 to unlock)
  • C562 E#: inverts the Extruder (E1 to invert)
  • C810: sets up the toolbar shortcuts
  • C851 S#### [Z###] Mn: sets probe Z feed rate (S) and set Multiple probing (Mn>1) or disables it (M0), in manual mesh version, Z parameter can be used to set a manual Z-offset.

Advanced settings menu

  • Advanced mesh leveling editing features
  • Probe offsets menu (BLTouch version)
  • Customizable park-head position
  • Customizable bed size and z heigh up to 999 x 999 x 999
  • Launch PID for nozzle and bed with graphical feedback
  • Filament run-out sensor with active state setup (LOW/HIGH)
  • Filament load and unload lengths menu items in run-out menu
  • Power-loss recovery enable/disable option
  • LCD Brightness control
  • Select Color Sub Menu
  • Beep/Sound enable/disable option
  • Selectable mesh point (BLTouch version)
  • Media Update (auto-mount) for memory card extensions support
  • Lock screen
  • End-stop diagnostics

Special Octoprint / Host print support

  • High speed (250000 baud) serial communication
  • In screen control of host printing (M73, M75-M77)
  • Display messages on status line (M117)
  • Color change of UI elements for visual status report (C11)
  • Binary file transfer for remote firmware upgrade
  • List binary (.bin) files (M20) for flash firmware support with BFT
  • Arc Welder Octoprint plugin support
  • EEPROM Editor Octoprint plugin support
  • Host action commands for filament runout
  • Emergency Parser active
  • Advanced OK

Octoprint bed visualizer support

Display enhancements

  • Extended DWIN library
  • Enhanced status messages
  • Improved status bar with temperature, flow, fan, z-offset and xyz positions
  • MPC/PID auto tune progress on display with plot
  • Leveling progress on display
  • Boot screen for M997
  • Transparent icons for better color theme adaptability
  • New print g-code preview
  • New print done screen

A lot of additions and fixes from Bugfix development branch

More info on the wiki pages

20211121.mp4