Skip to content

Optimized Marlin 2.1.x firmware builds and configurations for Creality Ender 3 (4.2.2 board) with CR Touch auto bed leveling and custom tuning

License

Notifications You must be signed in to change notification settings

davekopecek/ender-bender-firmware

Repository files navigation

Ender-Bender-Firmware

Custom Marlin firmware configurations for Creality Ender 3 with CR Touch auto bed leveling

Documentation

Initial Setup

  1. Clone the repositories:
# Create base directory
mkdir ~/3d_printing
cd ~/3d_printing

# Clone Marlin
git clone -b bugfix-2.1.x https://github.com/MarlinFirmware/Marlin.git Marlin-2.1.x

# Clone configurations
git clone https://github.com/yourusername/ender-bender-firmware.git
  1. Link configurations:
# Create symbolic link to configurations
cd Marlin-2.1.x/Marlin
ln -s ../../ender-bender-firmware/configs config

# Verify the link
ls -la config

Project Structure

📁 My-Project-Directory (~/3d_printing)
├── 📁 Marlin-2.1.x (cloned from MarlinFirmware/Marlin)
│   ├── 📁 Marlin
│   │   ├── 📁 config -> ../../ender-bender-firmware/configs  # Symbolic link
│   │   ├── 📄 Configuration.h      # Comes with Marlin
│   │   ├── 📄 Configuration_adv.h  # Comes with Marlin
│   │   ├── 📄 Configuration_override.h  # Generated during build
│   │   └── 📄 Marlin.ino          # Comes with Marlin
│   ├── 📄 platformio.ini          # Comes with Marlin, we modify
│   └── 📄 README.md               # Marlin's documentation
│
└── 📁 ender-bender-firmware (my config repository)
    ├── 📁 configs
    │   └── 📁 ender3
    │       ├── 📄 ender3-crtouch.ini  # CR Touch config
    │       └── 📄 ender3-stock.ini    # Stock config
    ├── 📄 README.md                   # This documentation
    ├── 📄 flashing-instructions.md    # How to flash firmware
    └── 📄 managing-configurations.md  # Configuration management guide

File Origins

  • From Marlin Repository:

    • Configuration.h - Base configuration file
    • Configuration_adv.h - Advanced configuration file
    • Marlin.ino - Main Marlin sketch
    • platformio.ini - Build configuration (we modify this)
  • Generated During Build:

    • Configuration_override.h - Created from your INI file
  • From Your Repository:

    • All files in ender-bender-firmware
    • INI configuration files
    • Documentation

Use PlatformIO to Compile Firmware

  1. See PlatformIO Setup

Configuration Management

  • Keep configurations in the config subdirectory
  • The path in platformio.ini is relative to the Marlin directory

Create Configuration Override

Create a new file Configuration_override.h:

#pragma once

// This file is automatically generated from the INI config
// Do not edit this file directly

#include "config.h"

About

Optimized Marlin 2.1.x firmware builds and configurations for Creality Ender 3 (4.2.2 board) with CR Touch auto bed leveling and custom tuning

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published