Guide:Marlin
Install PlatformIO
root_dir=$PWD export PLATFORMIO_CORE_DIR=$root_dir/pio git clone https://github.com/platformio/platformio-core-installer cd platformio-core-installer && python3 get-platformio.py
Clone Marlin
We clone the version 2.1.2.1, the latest at the time of writing this guide.
git clone -b 2.1.2.1 https://github.com/MarlinFirmware/Marlin marlin cd $root_dir
Also clone example configurations (also for version 2.1.2.1), so we don't have to start from scratch.
git clone -b 2.1.2.1 https://github.com/MarlinFirmware/Configurations config
Find PlatformIO environment
Find the environment (a build preset/toolchain) to use with PlatformIO. We're compiling for Ender 3 v4.2.2 board, so use STM32F103RE_creality
in "Build Marlin with PlatformIO"
If your printer or motherboard version is different, proceed with the steps below.
Search for similar lines in ./Marlin/src/pins/pins.h
file:
grep CREALITY_V422 marlin/Marlin/src/pins/pins.h ./Marlin/src/pins/pins.h:575: #include "stm32f1/pins_CREALITY_V422.h" / STM32F1 / env:STM32F103RE_creality / env:STM32F103RE_creality_xfer / env:STM32F103RC_creality / env:STM32F103RC_creality_xfer / env:STM32F103RE_creality_maple
Choose the one that matches your board.
Configure
Optional: create a git branch specific for this printer, so all changes can be tracked and updated easily.
cd $root_dir/marlin git checkout -b ender-3
Use the example config:
cp $root_dir/config/config/examples/Creality/Ender-3/CrealityV422/{_Bootscreen.h,Configuration_adv.h,Configuration.h,_Statusscreen.h} marlin/Marlin/
Optional: commit the changes, and do this every time the config is changed. Provide a description of the changes.
cd $root_dir/marlin git add Marlin git commit -m "Ender 3 example config"
Build with PlatformIO
Use the PlatformIO environment that we found before.
cd $root_dir/marlin $root_dir/pio/penv/bin/platformio run -e STM32F103RE_creality
This builds a firmware file, and you can find it in the compilation output log:
RAM: [= ] 11.6% (used 7592 bytes from 65536 bytes) Flash: [=== ] 27.2% (used 142600 bytes from 524288 bytes) Building .pio/build/STM32F103RE_creality/firmware-20231008-230629.bin
Installation
Copy .pio/build/STM32F103RE_creality/firmware-20231008-230629.bin
to
the SD card. Do not rename it, otherwise the printer may refuse to update if the name is the same as the current firmware.
Insert the SD card and reset the printer. It should update itself during the boot.