/Ender-3_PRO_v4.2.2_Marlin_firmware

Automatic Marlin builds for the Ender-3 Pro with the stock creality 4.2.2 board and ARM STM32F103RET6 MPU

Primary LanguageCGNU Affero General Public License v3.0AGPL-3.0

This is my take of zisismaras's marlin_auto_build (it actually uses my fork kamensekd/marlin_auto_build with following differences) to automatically build latest default and customized Marlin firmware for Ender-3 Pro with 4.2.2 board.

Every day it checks for latest Marlin versions ( latest stable/check - latest bugfix 2.1.x/check ) ; if updates exist, it builds new firmwares.

! PARTLY TESTED - Stable version doesn't seem to flash on my printer, **bugfixed Nightly** versions seem to work OK though
! In any case use with caution and at own risk !

Ender-3 Pro v4.2.2 Marlin firmware

Here You can find Marlin firmware builds for the Ender-3 Pro with the stock creality 4.2.2(512K) board.
You can find firmware downloads on the repository releases.

Important

  • Make sure you have a 4.2.2 512K flash board before installing my customized builds. Some newer models come with 256K of flash. You can read more here. If your board is the 256K variant you can fork the repo and change the board_env. Check also Marlin Firmware on Creality Board – Complete Guide for a lot of usefull info.
  • All builds here use the default A4988 stepper drivers, you can fork and change that if you have different ones. To find out which drivers you have there is a little marking on the sd card slot. More info here.

Builds

Different firmware builds are available. They are based on configuration files in builds folder.
Check Zisimaras Marlin_Auto_Build for valid syntax of builds configuration files and Configuring Marlin for details of every Marlin setting.


_default


unchanged default Marlin configuration for Ender-3 Pro based on default example configuration


custom


my customized firmware modifications that suit my needs and might or might not be good for you, so use with caution!

  • adds options to menu: Bed Tramming, Tramming Wizard, Bed Leveling, Probe Offset Wizzard, PID Edit, Mesh Edit, Autotune,
  • enables G29 UBL Automatic Leveling on 5x5 mesh,
    Note: Only tested with a 3D-touch (CR-touch and BL-touch should work as well).
    The grid is configured to be symmetrical with 20mm margin on left and right and 10mm on front and back.
    Probe offsets are set to my probe, which is -27, 0, -1.5. There are a lot of videos on how to measure and set/change them.
    The build enables the offset wizard to simplify the Z-offset measurement.
    Important: The build assumes you are using the dedicated BL-touch port on the board and you have the Z-stop disconnected.
    Bed and probe are preheated before probing to 50/180°C (PREHEAT_BEFORE_LEVELING) and Leveling Fade height increase from 10 to 40mm. The M48 Probe Accuracy Test is also enabled in case you want to test your probe.
  • enables Linear Advance,
    Linear advance K factor is set to 0.5. You can read the marlin docs on how to find and set a good value.
    There are also numerous videos on youtube.
  • enables G12 Clean Nozzle Feature
  • enables G35 Tramming Assistant
  • changes default Preheat Constants from PLA/ABS to PLA(200/50) and PETG(225/50)
  • disables Continue after Power-Loss to increase SD card life,
  • enables Emergency Parser for M108, M112, M410, M876,
  • changes some Thermal protection settings,
  • adds/changes/enforces some other settings:
    DEFAULT_TRAVEL_ACCELERATION 500, DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 100 },
    S_CURVE_ACCELERATION, XY_PROBE_FEEDRATE (15060), Z_PROBE_FEEDRATE_FAST (660),
    Z_CLEARANCE_DEPLOY_PROBE 5, Z_CLEARANCE_BETWEEN_PROBES 4,
    X_MAX_POS 250 (to let the probe almost reach bed end), MESH_INSET 5, Z_SAFE_HOMING,
    BABYSTEPPING, EXTRUDE_MAXLENGTH 500, CHOPPER_DEFAULT_24V,...

custom-octo


same as custom with some additional configurations changes:

  • enables HOST_ACTION_COMMANDS for those, using OctoPrint,




TODO



Build you own firmware

Check out Marlin auto build if you want to build your own firmware automatically on github.

Important tip in case of building process failing at "creating release"

I had a lot of trouble before successfully building custom firmware release this way, because after every succesfull "build", process failed at "creating release" with:

"Request failed with status code 403" and "Error: Process completed with exit code 1."

Solution:

in order for marlin_auto_build to work as intended, you have to select Settings tab in your repository and select Actions / General. Then you have to select Read and Write permisions (by default only read permissions are allowed) in Workflow permissions. After this change, everything worked without problems for me :)