├── .github ├── FUNDING.yml └── workflows │ ├── rambo.yml │ ├── ramps.yml │ ├── skr1p3.yml │ ├── skrpro.yml │ └── skrturbo.yml ├── .gitignore ├── README.md └── src ├── configs ├── V13DP_MiniRambo ├── V13DP_Rambo ├── V13DP_Ramps_MK8 ├── V13DP_SkrPro_2209 ├── V13RP_SkrPro_2209 ├── V13RP_V4_SkrPro_2209 ├── V1CNC_Archim1 ├── V1CNC_Archim1_Dual ├── V1CNC_Archim2 ├── V1CNC_Archim2_Dual ├── V1CNC_MiniRambo ├── V1CNC_Rambo ├── V1CNC_Rambo_Dual ├── V1CNC_Rambo_DualLR ├── V1CNC_Ramps ├── V1CNC_Ramps_Dual ├── V1CNC_Ramps_DualLR ├── V1CNC_Skr1p3_2209 ├── V1CNC_Skr1p3_8825 ├── V1CNC_Skr1p3_DualLR_2209 ├── V1CNC_Skr1p3_DualLR_8825 ├── V1CNC_Skr1p3_Dual_2209 ├── V1CNC_Skr1p3_Dual_8825 ├── V1CNC_SkrPro_2209 ├── V1CNC_SkrPro_DualLR_2209 ├── V1CNC_SkrPro_Dual_2209 ├── V1CNC_SkrTurbo_2209 ├── V1CNC_SkrTurbo_8825 ├── V1CNC_SkrTurbo_DualLR_2209 ├── V1CNC_SkrTurbo_DualLR_8825 ├── V1CNC_SkrTurbo_Dual_2209 ├── V1CNC_SkrTurbo_Dual_8825 ├── V1ZXY_MiniRambo ├── V1ZXY_Rambo ├── V1ZXY_Ramps ├── V1ZXY_SkrPro_2209 ├── accessories │ ├── TFT35_E3_V3_Print │ ├── TFT35_e3_v3_CNC │ ├── aero-extruder │ ├── auto-filament-change │ ├── dual-drivers-on-xy │ ├── dual-drivers-on-yz │ ├── dummy-extruder │ ├── laser │ ├── mini-rambo_e_fan │ ├── mk8-extruder │ ├── no-dual-endstops │ ├── reprap_discount_full_graphic_lcd │ ├── reprap_discount_smart_controller │ ├── tmc2130 │ ├── tmc2209 │ └── use-32-microsteps ├── boards │ ├── archim1 │ ├── archim1_dual │ ├── archim2 │ ├── archim2_dual │ ├── mini-rambo │ ├── rambo │ ├── rambo_dual │ ├── ramps │ ├── ramps_dual │ ├── skr_1p3 │ ├── skr_1p3_dual │ ├── skr_pro │ ├── skr_pro_dual │ ├── skr_turbo_1p4 │ └── skr_turbo_1p4_dual └── common │ ├── 3dp-config │ ├── 3dp-repeat-config │ ├── 3dp-repeat-v4-config │ ├── Readme_header.md │ ├── _Bootscreen.h │ ├── cnc-config │ ├── v1-base-config │ └── zenxy-config ├── core ├── build-for-machine ├── config-for-machine ├── config-platformio-target ├── env ├── version ├── zip-marlin └── zip-release └── docs ├── README.md └── UBUNTU_BUILD.md /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [jeffeb3,V1EngineeringInc] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: V1Engineering 5 | # open_collective: # Replace with a single Open Collective username 6 | # ko_fi: # Replace with a single Ko-fi username 7 | # tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | # community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | # liberapay: # Replace with a single Liberapay username 10 | # issuehunt: # Replace with a single IssueHunt username 11 | # otechie: # Replace with a single Otechie username 12 | # lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 13 | # custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 14 | -------------------------------------------------------------------------------- /.github/workflows/rambo.yml: -------------------------------------------------------------------------------- 1 | name: rambo 2 | 3 | on: 4 | schedule: 5 | # At 12:15 each day. No idea what time zone this is... 6 | - cron: '15 12 * * *' 7 | push: 8 | branches: 9 | - main 10 | pull_request: 11 | branches: 12 | - main 13 | paths-ignore: 14 | - src/configs/V1*Archim* 15 | - src/configs/V1*Ramps* 16 | - src/configs/V1*Skr* 17 | - '**/*.md' 18 | release: 19 | types: 20 | - published 21 | 22 | jobs: 23 | build: 24 | 25 | env: 26 | MARLIN_VERSION: ${{ matrix.branch }} 27 | CONFIG_NAME: ${{ matrix.machine }} 28 | V1_VERSION: ${{ github.event_name == 'release' && github.event.release.tag_name || '' }} 29 | 30 | name: ${{ matrix.machine }}-${{ matrix.branch }} 31 | runs-on: ubuntu-latest 32 | 33 | strategy: 34 | fail-fast: false # Allow all machines to finish building 35 | matrix: 36 | branch: ${{ fromJson( 37 | github.event_name == 'schedule' && '["bugfix-2.1.x"]' || 38 | github.event_name == 'pull_request' && '["bugfix-2.1.x", "2.1.2"]' || 39 | '["2.1.2"]') }} 40 | machine: 41 | - V13DP_MiniRambo 42 | - V13DP_Rambo 43 | - V1CNC_MiniRambo 44 | - V1CNC_Rambo 45 | - V1CNC_Rambo_Dual 46 | - V1CNC_Rambo_DualLR 47 | - V1ZXY_MiniRambo 48 | - V1ZXY_Rambo 49 | 50 | steps: 51 | 52 | # First, cancel unfinished jobs. 53 | #- uses: technote-space/auto-cancel-redundant-job@v1.7.5 54 | 55 | # Based on .github/workflows/test-builds.yml 56 | - name: Select Python 3.x 57 | uses: actions/setup-python@v4.5.0 58 | with: 59 | python-version: '3.x' # Version range or exact version of a Python version to use, using semvers version range syntax. 60 | architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified 61 | 62 | - name: Install PlatformIO 63 | run: | 64 | pip install -U https://github.com/platformio/platformio-core/archive/master.zip 65 | platformio update 66 | 67 | - name: Check out MarlinBuilder 68 | uses: actions/checkout@v4.2.2 69 | 70 | - name: Check out MarlinFirmware 71 | uses: actions/checkout@v4.2.2 72 | with: 73 | repository: MarlinFirmware/Marlin 74 | ref: ${{ matrix.branch }} 75 | path: Marlin 76 | clean: true 77 | fetch-depth: 1 78 | 79 | - name: Configure 80 | run: | 81 | src/core/config-for-machine ${{ matrix.machine }} 82 | 83 | - name: Zip up Marlin 84 | run: | 85 | src/core/zip-marlin 86 | 87 | - name: Upload src artifact 88 | uses: actions/upload-artifact@v4.6.2 89 | with: 90 | name: ${{ matrix.machine }}-${{ matrix.branch }}-src-${{ strategy.job-index }} 91 | path: | 92 | Marlin_*.zip 93 | 94 | - name: Build 95 | run: | 96 | src/core/build-for-machine 97 | 98 | - name: Zip up release 99 | run: | 100 | src/core/zip-release 101 | 102 | - name: Upload built artifact 103 | uses: actions/upload-artifact@v4.6.2 104 | with: 105 | name: ${{ matrix.machine }}-${{ matrix.branch }}-built-${{ strategy.job-index }} 106 | path: | 107 | firmware* 108 | Marlin_*.zip 109 | 110 | - name: Upload Marlin-${{ matrix.machine }}-${{ matrix.branch }}.zip to release 111 | if: ${{ github.event_name == 'release' }} 112 | uses: actions/upload-release-asset@v1.0.2 113 | env: 114 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 115 | with: 116 | upload_url: ${{ github.event.release.upload_url }} 117 | asset_path: Marlin-Release.zip 118 | asset_name: ${{ matrix.machine }}-${{ matrix.branch }}.zip 119 | asset_content_type: application/zip -------------------------------------------------------------------------------- /.github/workflows/ramps.yml: -------------------------------------------------------------------------------- 1 | name: ramps 2 | 3 | on: 4 | schedule: 5 | # At 12:15 each day. No idea what time zone this is... 6 | - cron: '15 12 * * *' 7 | push: 8 | branches: 9 | - main 10 | pull_request: 11 | branches: 12 | - main 13 | paths-ignore: 14 | - src/configs/V1*Archim* 15 | - src/configs/V1*Skr* 16 | - src/configs/V1*Rambo* 17 | - '**/*.md' 18 | release: 19 | types: 20 | - published 21 | 22 | jobs: 23 | build: 24 | 25 | env: 26 | MARLIN_VERSION: ${{ matrix.branch }} 27 | CONFIG_NAME: ${{ matrix.machine }} 28 | V1_VERSION: ${{ github.event_name == 'release' && github.event.release.tag_name || '' }} 29 | 30 | name: ${{ matrix.machine }}-${{ matrix.branch }} 31 | runs-on: ubuntu-latest 32 | 33 | strategy: 34 | fail-fast: false # Allow all machines to finish building 35 | matrix: 36 | branch: ${{ fromJson( 37 | github.event_name == 'schedule' && '["bugfix-2.1.x"]' || 38 | github.event_name == 'pull_request' && '["bugfix-2.1.x", "2.1.2"]' || 39 | '["2.1.2"]') }} 40 | machine: 41 | - V13DP_Ramps_MK8 42 | - V1ZXY_Ramps 43 | - V1CNC_Ramps 44 | - V1CNC_Ramps_Dual 45 | - V1CNC_Ramps_DualLR 46 | 47 | steps: 48 | 49 | # First, cancel unfinished jobs. 50 | #- uses: technote-space/auto-cancel-redundant-job@v1.7.5 51 | 52 | # Based on .github/workflows/test-builds.yml 53 | - name: Select Python 3.x 54 | uses: actions/setup-python@v4.5.0 55 | with: 56 | python-version: '3.x' # Version range or exact version of a Python version to use, using semvers version range syntax. 57 | architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified 58 | 59 | - name: Install PlatformIO 60 | run: | 61 | pip install -U https://github.com/platformio/platformio-core/archive/master.zip 62 | platformio update 63 | 64 | - name: Check out MarlinBuilder 65 | uses: actions/checkout@v4.2.2 66 | 67 | - name: Check out MarlinFirmware 68 | uses: actions/checkout@v4.2.2 69 | with: 70 | repository: MarlinFirmware/Marlin 71 | ref: ${{ matrix.branch }} 72 | path: Marlin 73 | clean: true 74 | fetch-depth: 1 75 | 76 | - name: Configure 77 | run: | 78 | src/core/config-for-machine ${{ matrix.machine }} 79 | 80 | - name: Zip up Marlin 81 | run: | 82 | src/core/zip-marlin 83 | 84 | - name: Upload src artifact 85 | uses: actions/upload-artifact@v4.6.2 86 | with: 87 | name: ${{ matrix.machine }}-${{ matrix.branch }}-src-${{ strategy.job-index }} 88 | path: | 89 | Marlin_*.zip 90 | 91 | - name: Build 92 | run: | 93 | src/core/build-for-machine 94 | 95 | - name: Zip up release 96 | run: | 97 | src/core/zip-release 98 | 99 | - name: Upload built artifact 100 | uses: actions/upload-artifact@v4.6.2 101 | with: 102 | name: ${{ matrix.machine }}-${{ matrix.branch }}-built-${{ strategy.job-index }} 103 | path: | 104 | firmware* 105 | Marlin_*.zip 106 | 107 | - name: Upload Marlin-${{ matrix.machine }}-${{ matrix.branch }}.zip to release 108 | if: ${{ github.event_name == 'release' }} 109 | uses: actions/upload-release-asset@v1.0.2 110 | env: 111 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 112 | with: 113 | upload_url: ${{ github.event.release.upload_url }} 114 | asset_path: Marlin-Release.zip 115 | asset_name: ${{ matrix.machine }}-${{ matrix.branch }}.zip 116 | asset_content_type: application/zip -------------------------------------------------------------------------------- /.github/workflows/skr1p3.yml: -------------------------------------------------------------------------------- 1 | name: skr_1p3 2 | 3 | on: 4 | schedule: 5 | # At 12:15 each day. No idea what time zone this is... 6 | - cron: '15 12 * * *' 7 | push: 8 | branches: 9 | - main 10 | pull_request: 11 | branches: 12 | - main 13 | paths-ignore: 14 | - src/configs/V1*Archim* 15 | - src/configs/V1*Rambo* 16 | - src/configs/V1*Ramps* 17 | - src/configs/V1*SkrPro* 18 | - '**/*.md' 19 | release: 20 | types: 21 | - published 22 | 23 | jobs: 24 | build: 25 | 26 | env: 27 | MARLIN_VERSION: ${{ matrix.branch }} 28 | CONFIG_NAME: ${{ matrix.machine }} 29 | V1_VERSION: ${{ github.event_name == 'release' && github.event.release.tag_name || '' }} 30 | 31 | name: ${{ matrix.machine }}-${{ matrix.branch }} 32 | runs-on: ubuntu-latest 33 | 34 | strategy: 35 | fail-fast: false # Allow all machines to finish building 36 | matrix: 37 | branch: ${{ fromJson( 38 | github.event_name == 'schedule' && '["bugfix-2.1.x"]' || 39 | github.event_name == 'pull_request' && '["bugfix-2.1.x", "2.1.2"]' || 40 | '["2.1.2"]') }} 41 | machine: 42 | - V1CNC_Skr1p3_8825 43 | - V1CNC_Skr1p3_2209 44 | - V1CNC_Skr1p3_Dual_8825 45 | - V1CNC_Skr1p3_Dual_2209 46 | - V1CNC_Skr1p3_DualLR_8825 47 | - V1CNC_Skr1p3_DualLR_2209 48 | 49 | steps: 50 | 51 | # First, cancel unfinished jobs. 52 | #- uses: technote-space/auto-cancel-redundant-job@v1.7.5 53 | 54 | # Based on .github/workflows/test-builds.yml 55 | - name: Select Python 3.x 56 | uses: actions/setup-python@v4.5.0 57 | with: 58 | python-version: '3.x' # Version range or exact version of a Python version to use, using semvers version range syntax. 59 | architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified 60 | 61 | - name: Install PlatformIO 62 | run: | 63 | pip install -U https://github.com/platformio/platformio-core/archive/master.zip 64 | platformio update 65 | 66 | - name: Check out MarlinBuilder 67 | uses: actions/checkout@v4.2.2 68 | 69 | - name: Check out MarlinFirmware 70 | uses: actions/checkout@v4.2.2 71 | with: 72 | repository: MarlinFirmware/Marlin 73 | ref: ${{ matrix.branch }} 74 | path: Marlin 75 | clean: true 76 | fetch-depth: 1 77 | 78 | - name: Configure 79 | run: | 80 | src/core/config-for-machine ${{ matrix.machine }} 81 | 82 | - name: Zip up Marlin 83 | run: | 84 | src/core/zip-marlin 85 | 86 | - name: Upload src artifact 87 | uses: actions/upload-artifact@v4.6.2 88 | with: 89 | name: ${{ matrix.machine }}-${{ matrix.branch }}-src-${{ strategy.job-index }} 90 | path: | 91 | Marlin_*.zip 92 | 93 | - name: Build 94 | run: | 95 | src/core/build-for-machine 96 | 97 | - name: Zip up release 98 | run: | 99 | src/core/zip-release 100 | 101 | - name: Upload built artifact 102 | uses: actions/upload-artifact@v4.6.2 103 | with: 104 | name: ${{ matrix.machine }}-${{ matrix.branch }}-built-${{ strategy.job-index }} 105 | path: | 106 | firmware* 107 | Marlin_*.zip 108 | 109 | - name: Upload Marlin-${{ matrix.machine }}-${{ matrix.branch }}.zip to release 110 | if: ${{ github.event_name == 'release' }} 111 | uses: actions/upload-release-asset@v1.0.2 112 | env: 113 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 114 | with: 115 | upload_url: ${{ github.event.release.upload_url }} 116 | asset_path: Marlin-Release.zip 117 | asset_name: ${{ matrix.machine }}-${{ matrix.branch }}.zip 118 | asset_content_type: application/zip -------------------------------------------------------------------------------- /.github/workflows/skrpro.yml: -------------------------------------------------------------------------------- 1 | name: skr_pro 2 | 3 | on: 4 | schedule: 5 | # At 12:15 each day. No idea what time zone this is... 6 | - cron: '15 12 * * *' 7 | push: 8 | branches: 9 | - main 10 | workflow_dispatch: 11 | pull_request: 12 | branches: 13 | - main 14 | paths-ignore: 15 | - src/configs/V1*Archim* 16 | - src/configs/V1*Rambo* 17 | - src/configs/V1*Ramps* 18 | - src/configs/V1*Skr1p3* 19 | - '**/*.md' 20 | release: 21 | types: 22 | - published 23 | 24 | jobs: 25 | build: 26 | 27 | env: 28 | MARLIN_VERSION: ${{ matrix.branch }} 29 | CONFIG_NAME: ${{ matrix.machine }} 30 | V1_VERSION: ${{ github.event_name == 'release' && github.event.release.tag_name || '' }} 31 | 32 | name: ${{ matrix.machine }}-${{ matrix.branch }} 33 | runs-on: ubuntu-latest 34 | 35 | strategy: 36 | fail-fast: false # Allow all machines to finish building 37 | matrix: 38 | branch: ${{ fromJson( 39 | github.event_name == 'schedule' && '["bugfix-2.1.x"]' || 40 | github.event_name == 'pull_request' && '["bugfix-2.1.x", "2.1.2"]' || 41 | github.event_name == 'workflow_dispatch' && '["bugfix-2.1.x"]' || 42 | '["2.1.2"]') }} 43 | machine: 44 | - V13DP_SkrPro_2209 45 | - V13RP_SkrPro_2209 46 | - V13RP_V4_SkrPro_2209 47 | - V1CNC_SkrPro_2209 48 | - V1CNC_SkrPro_DualLR_2209 49 | - V1CNC_SkrPro_Dual_2209 50 | - V1ZXY_SkrPro_2209 51 | 52 | steps: 53 | 54 | # First, cancel unfinished jobs. 55 | #- uses: technote-space/auto-cancel-redundant-job@v1.7.5 56 | 57 | # Based on .github/workflows/test-builds.yml 58 | - name: Select Python 3.x 59 | uses: actions/setup-python@v4.5.0 60 | with: 61 | python-version: '3.x' # Version range or exact version of a Python version to use, using semvers version range syntax. 62 | architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified 63 | 64 | - name: Install PlatformIO 65 | run: | 66 | pip install -U https://github.com/platformio/platformio-core/archive/master.zip 67 | platformio update 68 | 69 | - name: Check out MarlinBuilder 70 | uses: actions/checkout@v4.2.2 71 | 72 | - name: Check out MarlinFirmware 73 | uses: actions/checkout@v4.2.2 74 | with: 75 | repository: MarlinFirmware/Marlin 76 | ref: ${{ matrix.branch }} 77 | path: Marlin 78 | clean: true 79 | fetch-depth: 1 80 | 81 | - name: Configure 82 | run: | 83 | src/core/config-for-machine ${{ matrix.machine }} 84 | 85 | - name: Zip up Marlin 86 | run: | 87 | src/core/zip-marlin 88 | 89 | - name: Upload src artifact 90 | uses: actions/upload-artifact@v4.6.2 91 | with: 92 | name: ${{ matrix.machine }}-${{ matrix.branch }}-src-${{ strategy.job-index }} 93 | path: | 94 | Marlin_*.zip 95 | 96 | - name: Build 97 | run: | 98 | src/core/build-for-machine 99 | 100 | - name: Zip up release 101 | run: | 102 | src/core/zip-release 103 | 104 | - name: Upload built artifact 105 | uses: actions/upload-artifact@v4.6.2 106 | with: 107 | name: ${{ matrix.machine }}-${{ matrix.branch }}-built-${{ strategy.job-index }} 108 | path: | 109 | firmware* 110 | Marlin_*.zip 111 | 112 | - name: Upload Marlin-${{ matrix.machine }}-${{ matrix.branch }}.zip to release 113 | if: ${{ github.event_name == 'release' }} 114 | uses: actions/upload-release-asset@v1.0.2 115 | env: 116 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 117 | with: 118 | upload_url: ${{ github.event.release.upload_url }} 119 | asset_path: Marlin-Release.zip 120 | asset_name: ${{ matrix.machine }}-${{ matrix.branch }}.zip 121 | asset_content_type: application/zip 122 | -------------------------------------------------------------------------------- /.github/workflows/skrturbo.yml: -------------------------------------------------------------------------------- 1 | name: skr_turbo 2 | 3 | on: 4 | schedule: 5 | # At 12:15 each day. No idea what time zone this is... 6 | - cron: '15 12 * * *' 7 | push: 8 | branches: 9 | - main 10 | pull_request: 11 | branches: 12 | - main 13 | paths-ignore: 14 | - src/configs/V1*Archim* 15 | - src/configs/V1*Rambo* 16 | - src/configs/V1*Ramps* 17 | - src/configs/V1*Skr1p3* 18 | - '**/*.md' 19 | release: 20 | types: 21 | - published 22 | 23 | jobs: 24 | build: 25 | 26 | env: 27 | MARLIN_VERSION: ${{ matrix.branch }} 28 | CONFIG_NAME: ${{ matrix.machine }} 29 | V1_VERSION: ${{ github.event_name == 'release' && github.event.release.tag_name || '' }} 30 | 31 | name: ${{ matrix.machine }}-${{ matrix.branch }} 32 | runs-on: ubuntu-latest 33 | 34 | strategy: 35 | fail-fast: false # Allow all machines to finish building 36 | matrix: 37 | branch: ${{ fromJson( 38 | github.event_name == 'schedule' && '["bugfix-2.1.x"]' || 39 | github.event_name == 'pull_request' && '["bugfix-2.1.x", "2.1.2"]' || 40 | '["2.1.2"]') }} 41 | machine: 42 | - V1CNC_SkrTurbo_8825 43 | - V1CNC_SkrTurbo_DualLR_8825 44 | - V1CNC_SkrTurbo_Dual_8825 45 | - V1CNC_SkrTurbo_2209 46 | - V1CNC_SkrTurbo_Dual_2209 47 | - V1CNC_SkrTurbo_DualLR_2209 48 | 49 | steps: 50 | 51 | # First, cancel unfinished jobs. 52 | #- uses: technote-space/auto-cancel-redundant-job@v1.7.5 53 | 54 | # Based on .github/workflows/test-builds.yml 55 | - name: Select Python 3.x 56 | uses: actions/setup-python@v4.5.0 57 | with: 58 | python-version: '3.x' # Version range or exact version of a Python version to use, using semvers version range syntax. 59 | architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified 60 | 61 | - name: Install PlatformIO 62 | run: | 63 | pip install -U https://github.com/platformio/platformio-core/archive/master.zip 64 | platformio update 65 | 66 | - name: Check out MarlinBuilder 67 | uses: actions/checkout@v4.2.2 68 | 69 | - name: Check out MarlinFirmware 70 | uses: actions/checkout@v4.2.2 71 | with: 72 | repository: MarlinFirmware/Marlin 73 | ref: ${{ matrix.branch }} 74 | path: Marlin 75 | clean: true 76 | fetch-depth: 1 77 | 78 | - name: Configure 79 | run: | 80 | src/core/config-for-machine ${{ matrix.machine }} 81 | 82 | - name: Zip up Marlin 83 | run: | 84 | src/core/zip-marlin 85 | 86 | - name: Upload src artifact 87 | uses: actions/upload-artifact@v4.6.2 88 | with: 89 | name: ${{ matrix.machine }}-${{ matrix.branch }}-src-${{ strategy.job-index }} 90 | path: | 91 | Marlin_*.zip 92 | 93 | - name: Build 94 | run: | 95 | src/core/build-for-machine 96 | 97 | - name: Zip up release 98 | run: | 99 | src/core/zip-release 100 | 101 | - name: Upload built artifact 102 | uses: actions/upload-artifact@v4.6.2 103 | with: 104 | name: ${{ matrix.machine }}-${{ matrix.branch }}-built-${{ strategy.job-index }} 105 | path: | 106 | firmware* 107 | Marlin_*.zip 108 | 109 | - name: Upload Marlin-${{ matrix.machine }}-${{ matrix.branch }}.zip to release 110 | if: ${{ github.event_name == 'release' }} 111 | uses: actions/upload-release-asset@v1.0.2 112 | env: 113 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 114 | with: 115 | upload_url: ${{ github.event.release.upload_url }} 116 | asset_path: Marlin-Release.zip 117 | asset_name: ${{ matrix.machine }}-${{ matrix.branch }}.zip 118 | asset_content_type: application/zip -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.bin 2 | /.zip 3 | /venv 4 | /.venv 5 | /Marlin 6 | /firmware.hex 7 | /firmware.bin 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # V1 Engineering Preconfigured Marlin 2 | 3 | This repository provides a preconfigured version of Marlin that is optimized for The 4 | V1Engineering.com machines. 5 | 6 | ![rambo](https://github.com/V1EngineeringInc/MarlinBuilder/workflows/rambo/badge.svg) 7 | ![skr_pro](https://github.com/V1EngineeringInc/MarlinBuilder/workflows/skr_pro/badge.svg) 8 | ![ramps](https://github.com/V1EngineeringInc/MarlinBuilder/workflows/ramps/badge.svg) 9 | ![skr_1p3](https://github.com/V1EngineeringInc/MarlinBuilder/workflows/skr_1p3/badge.svg) 10 | 11 | ## Getting started 12 | 13 | If you are looking for the latest release, you should go and download it here: 14 | 15 | [Latest Release](https://github.com/V1EngineeringInc/MarlinBuilder/releases/latest) 16 | 17 | ## Experts and Developers 18 | 19 | To build from source, read the [documentation](src#readme). 20 | 21 | Nightly builds are found in the "Actions" tab above. Keep an eye out for bugs on nightly builds. 22 | -------------------------------------------------------------------------------- /src/configs/V13DP_MiniRambo: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}P 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/3dp-config 11 | $CFGDIR/boards/mini-rambo 12 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 13 | $CFGDIR/accessories/aero-extruder 14 | $CFGDIR/accessories/auto-filament-change 15 | $CFGDIR/accessories/mini-rambo_e_fan 16 | 17 | export PLATFORMIO_ENV=rambo 18 | -------------------------------------------------------------------------------- /src/configs/V13DP_Rambo: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}P 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/3dp-config 11 | $CFGDIR/boards/rambo 12 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 13 | $CFGDIR/accessories/aero-extruder 14 | $CFGDIR/accessories/auto-filament-change 15 | 16 | export PLATFORMIO_ENV=rambo 17 | -------------------------------------------------------------------------------- /src/configs/V13DP_Ramps_MK8: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}P 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/3dp-config 11 | $CFGDIR/boards/ramps 12 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 13 | $CFGDIR/accessories/mk8-extruder 14 | $CFGDIR/accessories/auto-filament-change 15 | 16 | opt_set X_DRIVER_TYPE "DRV8825" 17 | opt_set Y_DRIVER_TYPE "DRV8825" 18 | opt_set Z_DRIVER_TYPE "DRV8825" 19 | opt_set E0_DRIVER_TYPE "DRV8825" 20 | 21 | export PLATFORMIO_ENV=mega2560 22 | -------------------------------------------------------------------------------- /src/configs/V13DP_SkrPro_2209: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}P 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/3dp-config 11 | $CFGDIR/boards/skr_pro 12 | $CFGDIR/accessories/tmc2209 13 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 14 | $CFGDIR/accessories/aero-extruder 15 | $CFGDIR/accessories/auto-filament-change 16 | 17 | opt_set X_DRIVER_TYPE "TMC2209" 18 | opt_set Y_DRIVER_TYPE "TMC2209" 19 | opt_set Z_DRIVER_TYPE "TMC2209" 20 | opt_set E0_DRIVER_TYPE "TMC2209" 21 | 22 | if [ ${MARLIN_CONFIG_VERSION} -gt 02010205 ]; then 23 | export PLATFORMIO_ENV=BTT_SKR_PRO 24 | echo "Marlin > 2.1.2.5" 25 | else 26 | export PLATFORMIO_ENV=BIGTREE_SKR_PRO 27 | echo "Marlin <= 2.1.2.5" 28 | fi 29 | -------------------------------------------------------------------------------- /src/configs/V13RP_SkrPro_2209: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}P 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/3dp-repeat-config 11 | $CFGDIR/boards/skr_pro 12 | $CFGDIR/accessories/tmc2209 13 | $CFGDIR/accessories/TFT35_E3_V3_Print 14 | $CFGDIR/accessories/auto-filament-change 15 | 16 | opt_set X_DRIVER_TYPE "TMC2209" 17 | opt_set Y_DRIVER_TYPE "TMC2209" 18 | opt_set Z_DRIVER_TYPE "TMC2209" 19 | opt_set Z2_DRIVER_TYPE "TMC2209" 20 | opt_set Z3_DRIVER_TYPE "TMC2209" 21 | opt_set E0_DRIVER_TYPE "TMC2209" 22 | opt_disable E1_DRIVER_TYPE 23 | opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 100, 100, 100, 395.45 }" 24 | opt_set NOZZLE_PARK_POINT "{ (X_MIN_POS + 10), (Y_MIN_POS + 5), 20 }" 25 | opt_set NOZZLE_PARK_XY_FEEDRATE 80 26 | 27 | # TMC Settings 28 | opt_set HOLD_MULTIPLIER 0.8 29 | opt_set X_CURRENT 725 30 | opt_set Y_CURRENT 725 31 | opt_set Z_CURRENT 650 32 | opt_set Z2_CURRENT 650 33 | opt_set Z3_CURRENT 650 34 | opt_set E0_CURRENT 500 35 | 36 | opt_enable \ 37 | STEALTHCHOP_XY \ 38 | STEALTHCHOP_Z \ 39 | STEALTHCHOP_E 40 | 41 | if [ ${MARLIN_CONFIG_VERSION} -gt 02010205 ]; then 42 | export PLATFORMIO_ENV=BTT_SKR_PRO 43 | echo "Marlin > 2.1.2.5" 44 | else 45 | export PLATFORMIO_ENV=BIGTREE_SKR_PRO 46 | echo "Marlin <= 2.1.2.5" 47 | fi 48 | -------------------------------------------------------------------------------- /src/configs/V13RP_V4_SkrPro_2209: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}P 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/3dp-repeat-v4-config 11 | $CFGDIR/boards/skr_pro 12 | $CFGDIR/accessories/tmc2209 13 | $CFGDIR/accessories/TFT35_E3_V3_Print 14 | $CFGDIR/accessories/auto-filament-change 15 | 16 | opt_set X_DRIVER_TYPE "TMC2209" 17 | opt_set Y_DRIVER_TYPE "TMC2209" 18 | opt_set Z_DRIVER_TYPE "TMC2209" 19 | opt_set Z2_DRIVER_TYPE "TMC2209" 20 | opt_set Z3_DRIVER_TYPE "TMC2209" 21 | opt_set E0_DRIVER_TYPE "TMC2209" 22 | opt_disable E1_DRIVER_TYPE 23 | opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 100, 100, 100, 395.45 }" 24 | opt_set NOZZLE_PARK_POINT "{ (X_MIN_POS + 10), (Y_MIN_POS + 5), 20 }" 25 | opt_set NOZZLE_PARK_XY_FEEDRATE 80 26 | 27 | # TMC Settings 28 | opt_set HOLD_MULTIPLIER 0.8 29 | opt_set X_CURRENT 750 30 | opt_set Y_CURRENT 750 31 | opt_set Z_CURRENT 650 32 | opt_set Z2_CURRENT 650 33 | opt_set Z3_CURRENT 650 34 | opt_set E0_CURRENT 550 35 | 36 | opt_enable \ 37 | STEALTHCHOP_XY \ 38 | STEALTHCHOP_Z \ 39 | STEALTHCHOP_E 40 | 41 | if [ ${MARLIN_CONFIG_VERSION} -gt 02010205 ]; then 42 | export PLATFORMIO_ENV=BTT_SKR_PRO 43 | echo "Marlin > 2.1.2.5" 44 | else 45 | export PLATFORMIO_ENV=BIGTREE_SKR_PRO 46 | echo "Marlin <= 2.1.2.5" 47 | fi 48 | -------------------------------------------------------------------------------- /src/configs/V1CNC_Archim1: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}S 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/archim1 12 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 13 | $CFGDIR/accessories/no-dual-endstops 14 | 15 | opt_set X_DRIVER_TYPE "DRV8825" 16 | opt_set Y_DRIVER_TYPE "DRV8825" 17 | opt_set Z_DRIVER_TYPE "DRV8825" 18 | 19 | export PLATFORMIO_ENV=DUE_archim 20 | -------------------------------------------------------------------------------- /src/configs/V1CNC_Archim1_Dual: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}D 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/archim1 12 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 13 | $CFGDIR/accessories/dual-drivers-on-xy 14 | $CFGDIR/boards/archim1_dual 15 | 16 | opt_set X_DRIVER_TYPE "DRV8825" 17 | opt_set Y_DRIVER_TYPE "DRV8825" 18 | opt_set Z_DRIVER_TYPE "DRV8825" 19 | opt_set X2_DRIVER_TYPE "DRV8825" 20 | opt_set Y2_DRIVER_TYPE "DRV8825" 21 | 22 | export PLATFORMIO_ENV=DUE_archim 23 | -------------------------------------------------------------------------------- /src/configs/V1CNC_Archim2: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}S 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/archim2 12 | $CFGDIR/accessories/tmc2130 13 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 14 | $CFGDIR/accessories/no-dual-endstops 15 | 16 | opt_set X_DRIVER_TYPE "TMC2130" 17 | opt_set Y_DRIVER_TYPE "TMC2130" 18 | opt_set Z_DRIVER_TYPE "TMC2130" 19 | 20 | export PLATFORMIO_ENV=DUE_archim 21 | -------------------------------------------------------------------------------- /src/configs/V1CNC_Archim2_Dual: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}D 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/archim2 12 | $CFGDIR/accessories/tmc2130 13 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 14 | $CFGDIR/accessories/dual-drivers-on-xy 15 | $CFGDIR/boards/archim2_dual 16 | 17 | opt_set X_DRIVER_TYPE "TMC2130" 18 | opt_set Y_DRIVER_TYPE "TMC2130" 19 | opt_set Z_DRIVER_TYPE "TMC2130" 20 | opt_set X2_DRIVER_TYPE "TMC2130" 21 | opt_set Y2_DRIVER_TYPE "TMC2130" 22 | 23 | export PLATFORMIO_ENV=DUE_archim 24 | -------------------------------------------------------------------------------- /src/configs/V1CNC_MiniRambo: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}S 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/mini-rambo 12 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 13 | $CFGDIR/accessories/no-dual-endstops 14 | 15 | export PLATFORMIO_ENV=rambo 16 | -------------------------------------------------------------------------------- /src/configs/V1CNC_Rambo: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}S 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/rambo 12 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 13 | $CFGDIR/accessories/no-dual-endstops 14 | $CFGDIR/accessories/laser 15 | 16 | export PLATFORMIO_ENV=rambo 17 | -------------------------------------------------------------------------------- /src/configs/V1CNC_Rambo_Dual: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}D 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/rambo 12 | $CFGDIR/boards/rambo_dual 13 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 14 | $CFGDIR/accessories/dual-drivers-on-xy 15 | $CFGDIR/accessories/laser 16 | 17 | opt_enable \ 18 | X2_DRIVER_TYPE \ 19 | Y2_DRIVER_TYPE 20 | 21 | opt_disable \ 22 | E0_DRIVER_TYPE 23 | 24 | export PLATFORMIO_ENV=rambo 25 | -------------------------------------------------------------------------------- /src/configs/V1CNC_Rambo_DualLR: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}DL 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/rambo 12 | $CFGDIR/boards/rambo_dual 13 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 14 | $CFGDIR/accessories/dual-drivers-on-yz 15 | $CFGDIR/accessories/laser 16 | 17 | opt_enable \ 18 | Y2_DRIVER_TYPE \ 19 | Z2_DRIVER_TYPE 20 | 21 | opt_disable \ 22 | E0_DRIVER_TYPE 23 | 24 | export PLATFORMIO_ENV=rambo 25 | -------------------------------------------------------------------------------- /src/configs/V1CNC_Ramps: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}S 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/ramps 12 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 13 | $CFGDIR/accessories/no-dual-endstops 14 | $CFGDIR/accessories/laser 15 | 16 | opt_set X_DRIVER_TYPE "DRV8825" 17 | opt_set Y_DRIVER_TYPE "DRV8825" 18 | opt_set Z_DRIVER_TYPE "DRV8825" 19 | 20 | export PLATFORMIO_ENV=mega2560 21 | -------------------------------------------------------------------------------- /src/configs/V1CNC_Ramps_Dual: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}D 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/ramps 12 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 13 | $CFGDIR/accessories/dual-drivers-on-xy 14 | $CFGDIR/boards/ramps_dual 15 | $CFGDIR/accessories/laser 16 | 17 | opt_set X_DRIVER_TYPE "DRV8825" 18 | opt_set Y_DRIVER_TYPE "DRV8825" 19 | opt_set Z_DRIVER_TYPE "DRV8825" 20 | opt_set X2_DRIVER_TYPE "DRV8825" 21 | opt_set Y2_DRIVER_TYPE "DRV8825" 22 | 23 | export PLATFORMIO_ENV=mega2560 24 | -------------------------------------------------------------------------------- /src/configs/V1CNC_Ramps_DualLR: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}DL 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/ramps 12 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 13 | $CFGDIR/accessories/dual-drivers-on-yz 14 | $CFGDIR/boards/ramps_dual 15 | $CFGDIR/accessories/laser 16 | 17 | opt_set X_DRIVER_TYPE "DRV8825" 18 | opt_set Y_DRIVER_TYPE "DRV8825" 19 | opt_set Z_DRIVER_TYPE "DRV8825" 20 | opt_set Y2_DRIVER_TYPE "DRV8825" 21 | opt_set Z2_DRIVER_TYPE "DRV8825" 22 | 23 | export PLATFORMIO_ENV=mega2560 24 | -------------------------------------------------------------------------------- /src/configs/V1CNC_Skr1p3_2209: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}S 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/skr_1p3 12 | $CFGDIR/accessories/dummy-extruder 13 | $CFGDIR/accessories/tmc2209 14 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 15 | $CFGDIR/accessories/no-dual-endstops 16 | 17 | export PLATFORMIO_ENV=LPC1768 18 | -------------------------------------------------------------------------------- /src/configs/V1CNC_Skr1p3_8825: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}S 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/skr_1p3 12 | $CFGDIR/accessories/dummy-extruder 13 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 14 | $CFGDIR/accessories/no-dual-endstops 15 | 16 | opt_set X_DRIVER_TYPE "DRV8825" 17 | opt_set Y_DRIVER_TYPE "DRV8825" 18 | opt_set Z_DRIVER_TYPE "DRV8825" 19 | 20 | export PLATFORMIO_ENV=LPC1768 21 | -------------------------------------------------------------------------------- /src/configs/V1CNC_Skr1p3_DualLR_2209: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}DL 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/skr_1p3 12 | $CFGDIR/accessories/dummy-extruder 13 | $CFGDIR/accessories/tmc2209 14 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 15 | $CFGDIR/accessories/dual-drivers-on-yz 16 | $CFGDIR/boards/skr_1p3_dual 17 | 18 | opt_set Y2_DRIVER_TYPE "TMC2209" 19 | opt_set Z2_DRIVER_TYPE "TMC2209" 20 | 21 | 22 | export PLATFORMIO_ENV=LPC1768 23 | -------------------------------------------------------------------------------- /src/configs/V1CNC_Skr1p3_DualLR_8825: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}DL 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/skr_1p3 12 | $CFGDIR/accessories/dummy-extruder 13 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 14 | $CFGDIR/accessories/dual-drivers-on-yz 15 | $CFGDIR/boards/skr_1p3_dual 16 | 17 | opt_set X_DRIVER_TYPE "DRV8825" 18 | opt_set Y_DRIVER_TYPE "DRV8825" 19 | opt_set Z_DRIVER_TYPE "DRV8825" 20 | opt_set Y2_DRIVER_TYPE "DRV8825" 21 | opt_set Z2_DRIVER_TYPE "DRV8825" 22 | 23 | export PLATFORMIO_ENV=LPC1768 24 | -------------------------------------------------------------------------------- /src/configs/V1CNC_Skr1p3_Dual_2209: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}D 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/skr_1p3 12 | $CFGDIR/accessories/dummy-extruder 13 | $CFGDIR/accessories/tmc2209 14 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 15 | $CFGDIR/accessories/dual-drivers-on-xy 16 | $CFGDIR/boards/skr_1p3_dual 17 | 18 | opt_set X2_DRIVER_TYPE "TMC2209" 19 | opt_set Y2_DRIVER_TYPE "TMC2209" 20 | 21 | export PLATFORMIO_ENV=LPC1768 22 | -------------------------------------------------------------------------------- /src/configs/V1CNC_Skr1p3_Dual_8825: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}D 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/skr_1p3 12 | $CFGDIR/accessories/dummy-extruder 13 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 14 | $CFGDIR/accessories/dual-drivers-on-xy 15 | $CFGDIR/boards/skr_1p3_dual 16 | 17 | opt_set X_DRIVER_TYPE "DRV8825" 18 | opt_set Y_DRIVER_TYPE "DRV8825" 19 | opt_set Z_DRIVER_TYPE "DRV8825" 20 | opt_set X2_DRIVER_TYPE "DRV8825" 21 | opt_set Y2_DRIVER_TYPE "DRV8825" 22 | 23 | export PLATFORMIO_ENV=LPC1768 24 | -------------------------------------------------------------------------------- /src/configs/V1CNC_SkrPro_2209: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}S 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/skr_pro 12 | $CFGDIR/accessories/tmc2209 13 | $CFGDIR/accessories/TFT35_e3_v3_CNC 14 | $CFGDIR/accessories/no-dual-endstops 15 | $CFGDIR/accessories/laser 16 | 17 | opt_set SPINDLE_LASER_PWM_PIN PC9 18 | opt_set SPINDLE_LASER_ENA_PIN PB0 # Heater2 19 | 20 | opt_set X_DRIVER_TYPE "TMC2209" 21 | opt_set Y_DRIVER_TYPE "TMC2209" 22 | opt_set Z_DRIVER_TYPE "TMC2209" 23 | 24 | if [ ${MARLIN_CONFIG_VERSION} -gt 02010205 ]; then 25 | export PLATFORMIO_ENV=BTT_SKR_PRO 26 | echo "Marlin > 2.1.2.5" 27 | else 28 | export PLATFORMIO_ENV=BIGTREE_SKR_PRO 29 | echo "Marlin <= 2.1.2.5" 30 | fi 31 | -------------------------------------------------------------------------------- /src/configs/V1CNC_SkrPro_DualLR_2209: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}DL 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/skr_pro 12 | $CFGDIR/accessories/tmc2209 13 | $CFGDIR/accessories/TFT35_e3_v3_CNC 14 | $CFGDIR/accessories/dual-drivers-on-yz 15 | $CFGDIR/boards/skr_pro_dual 16 | $CFGDIR/accessories/laser 17 | 18 | opt_set SPINDLE_LASER_PWM_PIN PC9 19 | opt_set SPINDLE_LASER_ENA_PIN PB0 # Heater2 20 | 21 | 22 | opt_set X_DRIVER_TYPE "TMC2209" 23 | opt_set Y_DRIVER_TYPE "TMC2209" 24 | opt_set Z_DRIVER_TYPE "TMC2209" 25 | opt_set Y2_DRIVER_TYPE "TMC2209" 26 | opt_set Z2_DRIVER_TYPE "TMC2209" 27 | 28 | opt_set Y2_CURRENT 900 29 | opt_set Z2_CURRENT 900 30 | 31 | opt_disable \ 32 | E0_DRIVER_TYPE 33 | 34 | 35 | if [ ${MARLIN_CONFIG_VERSION} -gt 02010205 ]; then 36 | export PLATFORMIO_ENV=BTT_SKR_PRO 37 | echo "Marlin > 2.1.2.5" 38 | else 39 | export PLATFORMIO_ENV=BIGTREE_SKR_PRO 40 | echo "Marlin <= 2.1.2.5" 41 | fi 42 | -------------------------------------------------------------------------------- /src/configs/V1CNC_SkrPro_Dual_2209: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}D 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/skr_pro 12 | $CFGDIR/accessories/tmc2209 13 | $CFGDIR/accessories/TFT35_e3_v3_CNC 14 | $CFGDIR/accessories/dual-drivers-on-xy 15 | $CFGDIR/boards/skr_pro_dual 16 | $CFGDIR/accessories/laser 17 | 18 | opt_set SPINDLE_LASER_PWM_PIN PC9 19 | opt_set SPINDLE_LASER_ENA_PIN PB0 # Heater2 20 | 21 | 22 | opt_set X_DRIVER_TYPE "TMC2209" 23 | opt_set Y_DRIVER_TYPE "TMC2209" 24 | opt_set Z_DRIVER_TYPE "TMC2209" 25 | opt_set X2_DRIVER_TYPE "TMC2209" 26 | opt_set Y2_DRIVER_TYPE "TMC2209" 27 | 28 | opt_set X2_CURRENT 900 29 | opt_set Y2_CURRENT 900 30 | 31 | opt_disable \ 32 | E0_DRIVER_TYPE 33 | 34 | if [ ${MARLIN_CONFIG_VERSION} -gt 02010205 ]; then 35 | export PLATFORMIO_ENV=BTT_SKR_PRO 36 | echo "Marlin > 2.1.2.5" 37 | else 38 | export PLATFORMIO_ENV=BIGTREE_SKR_PRO 39 | echo "Marlin <= 2.1.2.5" 40 | fi 41 | -------------------------------------------------------------------------------- /src/configs/V1CNC_SkrTurbo_2209: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | 6 | restore_configs 7 | 8 | export V1_VERSION=${V1_VERSION}S 9 | 10 | $CFGDIR/common/v1-base-config 11 | $CFGDIR/common/cnc-config 12 | $CFGDIR/boards/skr_turbo_1p4 13 | $CFGDIR/accessories/dummy-extruder 14 | $CFGDIR/accessories/tmc2209 15 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 16 | $CFGDIR/accessories/no-dual-endstops 17 | 18 | export PLATFORMIO_ENV=LPC1769 -------------------------------------------------------------------------------- /src/configs/V1CNC_SkrTurbo_8825: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}S 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/skr_turbo_1p4 12 | $CFGDIR/accessories/dummy-extruder 13 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 14 | $CFGDIR/accessories/no-dual-endstops 15 | 16 | opt_set X_DRIVER_TYPE "DRV8825" 17 | opt_set Y_DRIVER_TYPE "DRV8825" 18 | opt_set Z_DRIVER_TYPE "DRV8825" 19 | 20 | export PLATFORMIO_ENV=LPC1769 21 | -------------------------------------------------------------------------------- /src/configs/V1CNC_SkrTurbo_DualLR_2209: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}DL 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/skr_turbo_1p4 12 | $CFGDIR/accessories/dummy-extruder 13 | $CFGDIR/accessories/tmc2209 14 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 15 | $CFGDIR/accessories/dual-drivers-on-yz 16 | $CFGDIR/boards/skr_turbo_1p4_dual 17 | 18 | opt_set Y2_DRIVER_TYPE "TMC2209" 19 | opt_set Z2_DRIVER_TYPE "TMC2209" 20 | 21 | export PLATFORMIO_ENV=LPC1769 -------------------------------------------------------------------------------- /src/configs/V1CNC_SkrTurbo_DualLR_8825: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}DL 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/skr_turbo_1p4 12 | $CFGDIR/accessories/dummy-extruder 13 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 14 | $CFGDIR/accessories/dual-drivers-on-yz 15 | $CFGDIR/boards/skr_turbo_1p4_dual 16 | 17 | opt_set X_DRIVER_TYPE "DRV8825" 18 | opt_set Y_DRIVER_TYPE "DRV8825" 19 | opt_set Z_DRIVER_TYPE "DRV8825" 20 | opt_set Y2_DRIVER_TYPE "DRV8825" 21 | opt_set Z2_DRIVER_TYPE "DRV8825" 22 | 23 | export PLATFORMIO_ENV=LPC1769 24 | -------------------------------------------------------------------------------- /src/configs/V1CNC_SkrTurbo_Dual_2209: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}D 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/skr_turbo_1p4 12 | $CFGDIR/accessories/dummy-extruder 13 | $CFGDIR/accessories/tmc2209 14 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 15 | $CFGDIR/accessories/dual-drivers-on-xy 16 | $CFGDIR/boards/skr_turbo_1p4_dual 17 | 18 | opt_set X2_DRIVER_TYPE "TMC2209" 19 | opt_set Y2_DRIVER_TYPE "TMC2209" 20 | 21 | export PLATFORMIO_ENV=LPC1769 -------------------------------------------------------------------------------- /src/configs/V1CNC_SkrTurbo_Dual_8825: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}D 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/cnc-config 11 | $CFGDIR/boards/skr_turbo_1p4 12 | $CFGDIR/accessories/dummy-extruder 13 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 14 | $CFGDIR/accessories/dual-drivers-on-xy 15 | $CFGDIR/boards/skr_turbo_1p4_dual 16 | 17 | opt_set X_DRIVER_TYPE "DRV8825" 18 | opt_set Y_DRIVER_TYPE "DRV8825" 19 | opt_set Z_DRIVER_TYPE "DRV8825" 20 | opt_set X2_DRIVER_TYPE "DRV8825" 21 | opt_set Y2_DRIVER_TYPE "DRV8825" 22 | 23 | export PLATFORMIO_ENV=LPC1769 24 | -------------------------------------------------------------------------------- /src/configs/V1ZXY_MiniRambo: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}Z 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/zenxy-config 11 | $CFGDIR/boards/mini-rambo 12 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 13 | $CFGDIR/accessories/no-dual-endstops 14 | 15 | export PLATFORMIO_ENV=rambo 16 | -------------------------------------------------------------------------------- /src/configs/V1ZXY_Rambo: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}Z 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/zenxy-config 11 | $CFGDIR/boards/rambo 12 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 13 | $CFGDIR/accessories/no-dual-endstops 14 | 15 | export PLATFORMIO_ENV=rambo 16 | -------------------------------------------------------------------------------- /src/configs/V1ZXY_Ramps: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}Z 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/zenxy-config 11 | $CFGDIR/boards/ramps 12 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 13 | $CFGDIR/accessories/no-dual-endstops 14 | 15 | opt_set X_DRIVER_TYPE "DRV8825" 16 | opt_set Y_DRIVER_TYPE "DRV8825" 17 | opt_set Z_DRIVER_TYPE "DRV8825" 18 | 19 | 20 | export PLATFORMIO_ENV=mega2560 21 | -------------------------------------------------------------------------------- /src/configs/V1ZXY_SkrPro_2209: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | restore_configs 6 | 7 | export V1_VERSION=${V1_VERSION}Z 8 | 9 | $CFGDIR/common/v1-base-config 10 | $CFGDIR/common/zenxy-config 11 | $CFGDIR/boards/skr_pro 12 | $CFGDIR/accessories/tmc2209 13 | $CFGDIR/accessories/reprap_discount_full_graphic_lcd 14 | $CFGDIR/accessories/no-dual-endstops 15 | 16 | opt_set X_DRIVER_TYPE "TMC2209" 17 | opt_set Y_DRIVER_TYPE "TMC2209" 18 | opt_set Z_DRIVER_TYPE "TMC2209" 19 | opt_set E0_DRIVER_TYPE "TMC2209" 20 | 21 | if [ ${MARLIN_CONFIG_VERSION} -gt 02010205 ]; then 22 | export PLATFORMIO_ENV=BTT_SKR_PRO 23 | echo "Marlin > 2.1.2.5" 24 | else 25 | export PLATFORMIO_ENV=BIGTREE_SKR_PRO 26 | echo "Marlin <= 2.1.2.5" 27 | fi 28 | -------------------------------------------------------------------------------- /src/configs/accessories/TFT35_E3_V3_Print: -------------------------------------------------------------------------------- 1 | opt_enable \ 2 | SDSUPPORT \ 3 | BABYSTEPPING \ 4 | AUTO_REPORT_POSITION \ 5 | M115_GEOMETRY_REPORT \ 6 | M114_DETAIL \ 7 | REPORT_FAN_CHANGE \ 8 | AUTO_REPORT_SD_STATUS \ 9 | EMERGENCY_PARSER \ 10 | HOST_ACTION_COMMANDS \ 11 | HOST_PROMPT_SUPPORT \ 12 | FILAMENT_LOAD_UNLOAD_GCODES \ 13 | REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER 14 | 15 | opt_set SDCARD_CONNECTION LCD 16 | opt_set SERIAL_FLOAT_PRECISION 4 17 | opt_set LCD_TIMEOUT_TO_STATUS "300000" 18 | 19 | echo "- Configured for TFT35 E3 V3" >> README.md 20 | -------------------------------------------------------------------------------- /src/configs/accessories/TFT35_e3_v3_CNC: -------------------------------------------------------------------------------- 1 | opt_enable \ 2 | SDSUPPORT \ 3 | BABYSTEPPING \ 4 | AUTO_REPORT_POSITION \ 5 | M115_GEOMETRY_REPORT \ 6 | M114_DETAIL \ 7 | REPORT_FAN_CHANGE \ 8 | AUTO_REPORT_SD_STATUS \ 9 | EMERGENCY_PARSER \ 10 | HOST_ACTION_COMMANDS \ 11 | HOST_PROMPT_SUPPORT \ 12 | REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER 13 | 14 | opt_set SERIAL_FLOAT_PRECISION 4 15 | opt_set LCD_TIMEOUT_TO_STATUS "180000" 16 | 17 | opt_set SPINDLE_LASER_ENA_PIN PB0 # Heater2 18 | opt_set SPINDLE_LASER_PWM_PIN PC9 19 | 20 | echo "- Configured for TFT35 E3 V3" >> README.md 21 | -------------------------------------------------------------------------------- /src/configs/accessories/aero-extruder: -------------------------------------------------------------------------------- 1 | 2 | opt_set TEMP_SENSOR_0 "5" 3 | opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 100, 100, 400, 837 }" 4 | 5 | echo "- Configured for Titan Aero extruder" >> README.md 6 | -------------------------------------------------------------------------------- /src/configs/accessories/auto-filament-change: -------------------------------------------------------------------------------- 1 | 2 | opt_set NOZZLE_PARK_POINT "{ (X_MIN_POS + 10), (Y_MIN_POS + 10), 15 }" 3 | opt_set NOZZLE_PARK_XY_FEEDRATE "60" 4 | opt_set PAUSE_PARK_RETRACT_FEEDRATE "35" 5 | opt_set FILAMENT_CHANGE_UNLOAD_FEEDRATE "24" 6 | opt_set FILAMENT_CHANGE_UNLOAD_ACCEL "5" 7 | opt_set FILAMENT_CHANGE_UNLOAD_LENGTH "40" 8 | opt_set FILAMENT_CHANGE_SLOW_LOAD_LENGTH "30" 9 | opt_set ADVANCED_PAUSE_PURGE_LENGTH "15" 10 | opt_set ADVANCED_PAUSE_RESUME_PRIME "1" 11 | opt_set PAUSE_PARK_NOZZLE_TIMEOUT "300" 12 | 13 | 14 | opt_enable \ 15 | NOZZLE_PARK_FEATURE \ 16 | ADVANCED_PAUSE_FEATURE \ 17 | ADVANCED_PAUSE_CONTINUOUS_PURGE \ 18 | PARK_HEAD_ON_PAUSE 19 | 20 | echo "- Configured to Auto Filament Change" >> README.md 21 | -------------------------------------------------------------------------------- /src/configs/accessories/dual-drivers-on-xy: -------------------------------------------------------------------------------- 1 | opt_set EXTRUDERS "0" 2 | opt_set DEFAULT_MAX_FEEDRATE "{ 50, 50, 15 }" 3 | opt_set DEFAULT_MAX_ACCELERATION "{ 180, 180, 80 }" 4 | opt_set MANUAL_FEEDRATE "{ 50*60, 50*60, 4*60 }" 5 | opt_set AXIS_RELATIVE_MODES "{ false, false, false }" 6 | 7 | 8 | opt_enable \ 9 | MIN_SOFTWARE_ENDSTOPS \ 10 | SOFT_ENDSTOPS_MENU_ITEM \ 11 | INVERT_X2_VS_X_DIR \ 12 | X_DUAL_ENDSTOPS \ 13 | INVERT_Y2_VS_Y_DIR \ 14 | Y_DUAL_ENDSTOPS 15 | 16 | opt_set X2_STOP_PIN X_MAX_PIN 17 | opt_set Y2_STOP_PIN Y_MAX_PIN 18 | 19 | echo "- Configured for Dual XY" >> README.md 20 | -------------------------------------------------------------------------------- /src/configs/accessories/dual-drivers-on-yz: -------------------------------------------------------------------------------- 1 | opt_set EXTRUDERS "0" 2 | opt_set DEFAULT_MAX_FEEDRATE "{ 50, 50, 15 }" 3 | opt_set DEFAULT_MAX_ACCELERATION "{ 180, 180, 80 }" 4 | opt_set MANUAL_FEEDRATE "{ 50*60, 50*60, 4*60 }" 5 | opt_set AXIS_RELATIVE_MODES "{ false, false, false }" 6 | 7 | opt_set Z_HOME_DIR "+1" 8 | 9 | # Z Min probe configuration. 10 | opt_set Z_MIN_PROBE_PIN "Z_MIN_PIN" 11 | opt_disable \ 12 | Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN 13 | opt_set USER_DESC_4 "\"Probe Z min\"" 14 | opt_set USER_GCODE_4 "\"G38.2 Z0\"" 15 | 16 | opt_enable \ 17 | MIN_SOFTWARE_ENDSTOPS \ 18 | MIN_SOFTWARE_ENDSTOP_Z \ 19 | SOFT_ENDSTOPS_MENU_ITEM \ 20 | INVERT_Y2_VS_Y_DIR \ 21 | USE_XMAX_PLUG \ 22 | USE_YMAX_PLUG \ 23 | USE_ZMAX_PLUG \ 24 | Y_DUAL_ENDSTOPS \ 25 | INVERT_Z2_VS_Z_DIR \ 26 | Z_MULTI_ENDSTOPS \ 27 | G38_PROBE_TARGET \ 28 | FIX_MOUNTED_PROBE 29 | 30 | echo "- Configured for Dual YZ" >> README.md 31 | -------------------------------------------------------------------------------- /src/configs/accessories/dummy-extruder: -------------------------------------------------------------------------------- 1 | 2 | opt_set EXTRUDERS 1 3 | opt_set TEMP_SENSOR_0 999 4 | opt_set DUMMY_THERMISTOR_999_VALUE 170 5 | 6 | echo "- Configured for dummy extruder" >> README.md 7 | -------------------------------------------------------------------------------- /src/configs/accessories/laser: -------------------------------------------------------------------------------- 1 | opt_set SPINDLE_LASER_ACTIVE_STATE HIGH 2 | opt_set SPEED_POWER_STARTUP 15 3 | 4 | # Required when using LASER_FEATURE since 5 | # https://github.com/MarlinFirmware/Marlin/commit/43d9d1ce1bc708f178612da0baa972c2f8fbe712 6 | # (Missing in sanity check) 7 | opt_set CUTTER_POWER_MAX 100 8 | 9 | opt_enable \ 10 | LASER_FEATURE \ 11 | LASER_POWER_SYNC \ 12 | LASER_POWER_TRAP 13 | 14 | opt_disable \ 15 | SPINDLE_LASER_FREQUENCY 16 | 17 | echo "- Configured for laser settings" >> README.md 18 | -------------------------------------------------------------------------------- /src/configs/accessories/mini-rambo_e_fan: -------------------------------------------------------------------------------- 1 | 2 | opt_set EXTRUDER_AUTO_FAN_SPEED "250" 3 | opt_set E0_AUTO_FAN_PIN "6" 4 | 5 | echo "- Configured for Mini Rambo Auto E-Fan" >> README.md 6 | -------------------------------------------------------------------------------- /src/configs/accessories/mk8-extruder: -------------------------------------------------------------------------------- 1 | 2 | opt_set TEMP_SENSOR_0 "11" 3 | 4 | echo "- Configured for MK8 extruder" >> README.md 5 | -------------------------------------------------------------------------------- /src/configs/accessories/no-dual-endstops: -------------------------------------------------------------------------------- 1 | opt_set EXTRUDERS 1 2 | opt_set TEMP_SENSOR_0 999 3 | opt_set DUMMY_THERMISTOR_999_VALUE 170 4 | 5 | opt_disable \ 6 | MIN_SOFTWARE_ENDSTOPS \ 7 | SOFT_ENDSTOPS_MENU_ITEM \ 8 | X_DUAL_ENDSTOPS \ 9 | Y_DUAL_ENDSTOPS 10 | 11 | opt_set X2_STOP_PIN X_MAX_PIN 12 | opt_set Y2_STOP_PIN Y_MAX_PIN 13 | 14 | echo "- Configured for Single Driver XYZ" >> README.md 15 | -------------------------------------------------------------------------------- /src/configs/accessories/reprap_discount_full_graphic_lcd: -------------------------------------------------------------------------------- 1 | opt_enable \ 2 | SDSUPPORT \ 3 | REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER 4 | 5 | opt_set LCD_TIMEOUT_TO_STATUS "180000" 6 | 7 | opt_set ST7920_DELAY_2 "DELAY_NS(250)" 8 | opt_set ST7920_DELAY_3 "DELAY_NS(250)" 9 | opt_set SD_SPI_SPEED SPI_HALF_SPEED 10 | 11 | echo "- Configured for REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER" >> README.md 12 | -------------------------------------------------------------------------------- /src/configs/accessories/reprap_discount_smart_controller: -------------------------------------------------------------------------------- 1 | opt_enable \ 2 | REVERSE_ENCODER_DIRECTION \ 3 | SDSUPPORT \ 4 | REPRAP_DISCOUNT_SMART_CONTROLLER 5 | 6 | 7 | opt_disable \ 8 | SHOW_CUSTOM_BOOTSCREEN \ 9 | 10 | echo "- Configured for REPRAP_DISCOUNT_SMART_CONTROLLER" >> README.md 11 | -------------------------------------------------------------------------------- /src/configs/accessories/tmc2130: -------------------------------------------------------------------------------- 1 | # These are really TMC2130 values, but for CNC machines 2 | opt_set HOLD_MULTIPLIER 0.8 3 | opt_set X_CURRENT 900 4 | opt_set Y_CURRENT 900 5 | opt_set Z_CURRENT 900 6 | opt_set X2_CURRENT 900 7 | opt_set Y2_CURRENT 900 8 | opt_set Z2_CURRENT 900 9 | 10 | opt_enable \ 11 | TMC_USE_SW_SPI \ 12 | MONITOR_DRIVER_STATUS \ 13 | SQUARE_WAVE_STEPPING \ 14 | TMC_DEBUG 15 | 16 | opt_disable \ 17 | STEALTHCHOP_XY \ 18 | STEALTHCHOP_Z \ 19 | STEALTHCHOP_E 20 | 21 | echo "- Configured for TMC2130" >> README.md 22 | -------------------------------------------------------------------------------- /src/configs/accessories/tmc2209: -------------------------------------------------------------------------------- 1 | opt_set X_DRIVER_TYPE "TMC2209" 2 | opt_set Y_DRIVER_TYPE "TMC2209" 3 | opt_set Z_DRIVER_TYPE "TMC2209" 4 | 5 | # These are really TMC2209 values, but for CNC machines 6 | opt_set HOLD_MULTIPLIER 0.8 7 | opt_set X_CURRENT 900 8 | opt_set Y_CURRENT 900 9 | opt_set Z_CURRENT 900 10 | 11 | 12 | opt_enable \ 13 | MONITOR_DRIVER_STATUS \ 14 | EDGE_STEPPING \ 15 | TMC_DEBUG 16 | 17 | opt_disable \ 18 | STEALTHCHOP_XY \ 19 | STEALTHCHOP_Z \ 20 | STEALTHCHOP_E 21 | 22 | echo "- Configured for TMC2209" >> README.md 23 | -------------------------------------------------------------------------------- /src/configs/accessories/use-32-microsteps: -------------------------------------------------------------------------------- 1 | opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 200, 200, 800, 200 }" 2 | 3 | # NB! The values below will only have any effect if the board is fitted with programmable drivers 4 | 5 | opt_set X_MICROSTEPS "32" 6 | opt_set Y_MICROSTEPS "32" 7 | opt_set Z_MICROSTEPS "32" 8 | opt_set X2_MICROSTEPS "32" 9 | opt_set Y2_MICROSTEPS "32" 10 | opt_set Z2_MICROSTEPS "32" 11 | opt_set E0_MICROSTEPS "32" 12 | opt_set E1_MICROSTEPS "32" 13 | opt_set E2_MICROSTEPS "32" 14 | opt_set E3_MICROSTEPS "32" 15 | opt_set E4_MICROSTEPS "32" 16 | opt_set E5_MICROSTEPS "32" 17 | opt_set E6_MICROSTEPS "32" 18 | opt_set E7_MICROSTEPS "32" 19 | 20 | echo "- Configured to use 32 microsteps" >> README.md 21 | -------------------------------------------------------------------------------- /src/configs/boards/archim1: -------------------------------------------------------------------------------- 1 | opt_set MOTHERBOARD "BOARD_ARCHIM1" 2 | 3 | opt_set SERIAL_PORT "-1" 4 | 5 | opt_set SPI_SPEED "SPI_HALF_SPEED" 6 | 7 | opt_set MICROSTEP_MODES "{ 32, 32, 32, 32, 32, 32 }" 8 | 9 | opt_set PWM_MOTOR_CURRENT "{ 1125, 1125, 1125 }" 10 | 11 | opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 200, 200, 800, 200 }" 12 | 13 | opt_enable \ 14 | MICROSTEP32 15 | 16 | # Write some useful tidbits to the readme. 17 | echo "- Configured for Archim1" >> README.md 18 | -------------------------------------------------------------------------------- /src/configs/boards/archim1_dual: -------------------------------------------------------------------------------- 1 | opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 200, 200, 800 }" 2 | 3 | 4 | # Write some useful tidbits to the readme. 5 | echo "- Configured for Archim1 dual" >> README.md -------------------------------------------------------------------------------- /src/configs/boards/archim2: -------------------------------------------------------------------------------- 1 | 2 | opt_set MOTHERBOARD "BOARD_ARCHIM2" 3 | 4 | opt_set SERIAL_PORT "-1" 5 | 6 | opt_set SPI_SPEED "SPI_HALF_SPEED" 7 | 8 | opt_set MAXIMUM_STEPPER_RATE "400000" 9 | 10 | opt_set PWM_MOTOR_CURRENT "{ 1125, 1125, 1125 }" 11 | 12 | opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 100, 100, 400, 100 }" 13 | 14 | # Write some useful tidbits to the readme. 15 | echo "- Configured for Archim2" >> README.md 16 | -------------------------------------------------------------------------------- /src/configs/boards/archim2_dual: -------------------------------------------------------------------------------- 1 | opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 100, 100, 400 }" 2 | 3 | # Write some useful tidbits to the readme. 4 | echo "- Configured for Archim2 dual" >> README.md -------------------------------------------------------------------------------- /src/configs/boards/mini-rambo: -------------------------------------------------------------------------------- 1 | opt_set MOTHERBOARD "BOARD_MINIRAMBO" 2 | opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 100, 100, 400, 837 }" 3 | opt_set PWM_MOTOR_CURRENT "{ 850, 850, 850 }" 4 | 5 | pushd Marlin/src/HAL 6 | rm -rf DUE ESP32 LINUX LPC1768 SAMD51 STM* TEENSY* 7 | popd 8 | 9 | # Write some useful tidbits to the readme. 10 | echo "- Configured for MiniRambo" >> README.md 11 | 12 | -------------------------------------------------------------------------------- /src/configs/boards/rambo: -------------------------------------------------------------------------------- 1 | opt_set MOTHERBOARD "BOARD_RAMBO" 2 | opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 100, 100, 400, 100 }" 3 | opt_set DIGIPOT_MOTOR_CURRENT "{ 125, 125, 125, 125, 125 }" 4 | 5 | opt_enable \ 6 | REVERSE_ENCODER_DIRECTION 7 | 8 | pushd Marlin/src/HAL 9 | rm -rf DUE ESP32 LINUX LPC1768 SAMD51 STM* TEENSY* 10 | popd 11 | 12 | # Write some useful tidbits to the readme. 13 | echo "- Configured for Rambo" >> README.md 14 | 15 | -------------------------------------------------------------------------------- /src/configs/boards/rambo_dual: -------------------------------------------------------------------------------- 1 | opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 100, 100, 400 }" 2 | 3 | 4 | # Write some useful tidbits to the readme. 5 | echo "- Configured for Rambo dual" >> README.md -------------------------------------------------------------------------------- /src/configs/boards/ramps: -------------------------------------------------------------------------------- 1 | 2 | # MOTHERBOARD is set to ramps by default. 3 | 4 | pushd Marlin/src/HAL 5 | rm -rf DUE ESP32 LINUX LPC1768 SAMD51 STM* TEENSY* 6 | popd 7 | 8 | . $CFGDIR/accessories/use-32-microsteps 9 | 10 | echo "- Configured for RAMPS" >> README.md 11 | -------------------------------------------------------------------------------- /src/configs/boards/ramps_dual: -------------------------------------------------------------------------------- 1 | opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 200, 200, 800 }" 2 | 3 | 4 | echo "- Configured for RAMPS dual" >> README.md -------------------------------------------------------------------------------- /src/configs/boards/skr_1p3: -------------------------------------------------------------------------------- 1 | opt_set MOTHERBOARD BOARD_BTT_SKR_V1_3 2 | 3 | opt_set SERIAL_PORT "-1" 4 | opt_set SERIAL_PORT_2 0 5 | 6 | . $CFGDIR/accessories/use-32-microsteps 7 | 8 | pushd Marlin/src/HAL 9 | rm -rf AVR DUE ESP32 LINUX SAMD51 STM* TEENSY* 10 | popd 11 | 12 | # Write some useful tidbits to the readme. 13 | echo "- Configured for Skr v1.3" >> README.md 14 | 15 | -------------------------------------------------------------------------------- /src/configs/boards/skr_1p3_dual: -------------------------------------------------------------------------------- 1 | opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 200, 200, 800 }" 2 | 3 | 4 | # Write some useful tidbits to the readme. 5 | echo "- Configured for Skr v1.3 dual" >> README.md -------------------------------------------------------------------------------- /src/configs/boards/skr_pro: -------------------------------------------------------------------------------- 1 | 2 | if [ ${MARLIN_CONFIG_VERSION} -gt 020006 ]; then 3 | opt_set MOTHERBOARD "BOARD_BTT_SKR_PRO_V1_2" 4 | echo "Marlin 2.0.6+" 5 | else 6 | opt_set MOTHERBOARD "BOARD_BTT_SKR_PRO_V1_1" 7 | echo "Marlin 2.0.6-" 8 | fi 9 | 10 | opt_set SERIAL_PORT 1 11 | opt_set SERIAL_PORT_2 -1 12 | opt_set SERIAL_PORT_3 6 13 | 14 | opt_set SDCARD_CONNECTION ONBOARD 15 | 16 | 17 | opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 100, 100, 400, 100 }" 18 | 19 | 20 | pushd Marlin/src/HAL 21 | rm -rf AVR DUE ESP32 LINUX LPC1768 SAMD51 TEENSY* 22 | popd 23 | 24 | # Write some useful tidbits to the readme. 25 | echo "- Configured for Skr Pro v1.2" >> README.md 26 | 27 | -------------------------------------------------------------------------------- /src/configs/boards/skr_pro_dual: -------------------------------------------------------------------------------- 1 | opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 100, 100, 400 }" 2 | 3 | # Write some useful tidbits to the readme. 4 | echo "- Configured for Skr Pro v1.2 dual" >> README.md -------------------------------------------------------------------------------- /src/configs/boards/skr_turbo_1p4: -------------------------------------------------------------------------------- 1 | opt_set MOTHERBOARD BOARD_BTT_SKR_V1_4_TURBO 2 | 3 | opt_set SERIAL_PORT 0 4 | opt_set SERIAL_PORT_2 "-1" 5 | 6 | opt_set Y_MAX_PIN E1_DIAG_PIN 7 | opt_set X_MAX_PIN E0_DIAG_PIN 8 | opt_set Z_MIN_PIN P1_27 9 | opt_set Z_MAX_PIN P1_00 10 | 11 | . $CFGDIR/accessories/use-32-microsteps 12 | 13 | pushd Marlin/src/HAL 14 | rm -rf AVR DUE ESP32 LINUX SAMD51 STM* TEENSY* 15 | popd 16 | 17 | # Write some useful tidbits to the readme. 18 | echo "- Configured for Skr Turbo v1.4" >> README.md 19 | 20 | -------------------------------------------------------------------------------- /src/configs/boards/skr_turbo_1p4_dual: -------------------------------------------------------------------------------- 1 | opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 200, 200, 800 }" 2 | 3 | 4 | # Write some useful tidbits to the readme. 5 | echo "- Configured for Skr Turbo v1.4 dual" >> README.md -------------------------------------------------------------------------------- /src/configs/common/3dp-config: -------------------------------------------------------------------------------- 1 | opt_set CUSTOM_MACHINE_NAME "\"V1 3DP ${V1_VERSION}\"" 2 | 3 | opt_set DEFAULT_NOMINAL_FILAMENT_DIA "1.75" 4 | opt_set TEMP_SENSOR_0 "5" 5 | opt_set TEMP_SENSOR_BED "11" 6 | opt_set DEFAULT_Kp "17.98" 7 | opt_set DEFAULT_Ki ".98" 8 | opt_set DEFAULT_Kd "83.62" 9 | opt_set Z_MIN_PROBE_ENDSTOP_HIT_STATE "LOW" 10 | opt_set DEFAULT_MAX_FEEDRATE "{ 150, 150, 15, 24 }" 11 | opt_set DEFAULT_MAX_ACCELERATION "{ 2000, 2000, 100, 3000 }" 12 | opt_set DEFAULT_ACCELERATION "2000" 13 | opt_set DEFAULT_TRAVEL_ACCELERATION "2000" 14 | opt_set XY_PROBE_FEEDRATE "6000" 15 | opt_set HOMING_FEEDRATE_MM_M "{ (40*60), (40*60), (3*60) }" 16 | opt_set PREHEAT_1_TEMP_HOTEND "196" 17 | opt_set PREHEAT_1_TEMP_BED "62" 18 | opt_set HOMING_BUMP_MM "{ 7, 7, 3 }" 19 | opt_set HOMING_BUMP_DIVISOR "{ 3, 3, 5 }" 20 | opt_set DEFAULT_STEPPER_TIMEOUT_SEC "1200" 21 | opt_set LCD_TIMEOUT_TO_STATUS "45000" 22 | 23 | opt_enable \ 24 | S_CURVE_ACCELERATION \ 25 | EEPROM_SETTINGS \ 26 | SDSUPPORT \ 27 | REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER \ 28 | ADAPTIVE_STEP_SMOOTHING \ 29 | GCODE_MOTION_MODES 30 | 31 | opt_disable \ 32 | MIN_SOFTWARE_ENDSTOPS \ 33 | MAX_SOFTWARE_ENDSTOPS 34 | 35 | # Write some useful tidbits to the readme. 36 | echo "- Configured for 3D Printer" >> README.md 37 | -------------------------------------------------------------------------------- /src/configs/common/3dp-repeat-config: -------------------------------------------------------------------------------- 1 | opt_set CUSTOM_MACHINE_NAME "\"V1 3DP Repeat ${V1_VERSION}\"" 2 | 3 | opt_set DEFAULT_NOMINAL_FILAMENT_DIA "1.75" 4 | opt_set TEMP_SENSOR_0 "5" 5 | opt_set TEMP_SENSOR_BED "11" 6 | opt_set DEFAULT_Kp "37.28" 7 | opt_set DEFAULT_Ki "3.04" 8 | opt_set DEFAULT_Kd "114.45" 9 | opt_set Z_MIN_PROBE_ENDSTOP_HIT_STATE "HIGH" 10 | opt_set DEFAULT_MAX_FEEDRATE "{ 100, 100, 100, 45 }" 11 | opt_set DEFAULT_MAX_ACCELERATION "{ 3000, 3000, 1500, 3000 }" 12 | opt_set DEFAULT_ACCELERATION "3000" 13 | opt_set DEFAULT_TRAVEL_ACCELERATION "3500" 14 | opt_set JUNCTION_DEVIATION_MM "0.06" 15 | opt_set XY_PROBE_FEEDRATE "6000" 16 | opt_set HOMING_FEEDRATE_MM_M "{ (40*60), (40*60), (30*60) }" 17 | opt_set PREHEAT_1_TEMP_HOTEND "196" 18 | opt_set PREHEAT_1_TEMP_BED "62" 19 | opt_set HOMING_BUMP_MM "{ 7, 7, 7 }" 20 | opt_set HOMING_BUMP_DIVISOR "{ 3, 3, 3 }" 21 | opt_set DEFAULT_STEPPER_TIMEOUT_SEC "1200" 22 | 23 | opt_set Z_MIN_PROBE_PIN PG8 24 | opt_set NOZZLE_TO_PROBE_OFFSET "{ 0, -36, -2.7 }" 25 | opt_set PROBING_MARGIN 5 26 | 27 | opt_set Z_PROBE_FEEDRATE_FAST "(5*60)" 28 | 29 | opt_set Z_CLEARANCE_DEPLOY_PROBE 8 30 | opt_set Z_CLEARANCE_FOR_HOMING 0 31 | opt_set Z_HOME_DIR 1 32 | opt_set Y_BED_SIZE 205 33 | opt_set X_MIN_POS -23 34 | opt_set Y_MIN_POS -3 35 | opt_set Z_MAX_POS 223 36 | opt_set Z2_STOP_PIN PE10 # E1 endstop 37 | opt_set Z3_STOP_PIN Z_MIN_PIN 38 | 39 | 40 | opt_set MESH_TEST_NOZZLE_SIZE 0.5 41 | opt_set MESH_TEST_LAYER_HEIGHT 0.35 42 | opt_set MESH_TEST_HOTEND_TEMP 213 43 | opt_set G26_XY_FEEDRATE 40 44 | opt_set G26_XY_FEEDRATE_TRAVEL 75 45 | opt_set G26_RETRACT_MULTIPLIER 0.6 46 | 47 | opt_set MESH_INSET 0 48 | opt_set GRID_MAX_POINTS_X 5 49 | 50 | opt_set E0_AUTO_FAN_PIN PE5 51 | opt_set Z_STEPPER_ALIGN_AMP 1.55 52 | opt_set G34_MAX_GRADE 10 53 | opt_set Z_STEPPER_ALIGN_ITERATIONS 8 54 | opt_set Z_STEPPER_ALIGN_ACC 0.04 55 | opt_set MANUAL_FEEDRATE "{ 40*60, 40*60, 20*60, 2*60 }" 56 | opt_set FINE_MANUAL_MOVE 0.01 57 | 58 | opt_enable \ 59 | COREXY \ 60 | Z3_DRIVER_TYPE \ 61 | BLTOUCH \ 62 | Z_MIN_PROBE_REPEATABILITY_TEST \ 63 | AUTO_BED_LEVELING_BILINEAR \ 64 | G26_MESH_VALIDATION \ 65 | EXTRAPOLATE_BEYOND_GRID \ 66 | Z_SAFE_HOMING \ 67 | Z_MULTI_ENDSTOPS \ 68 | Z_STEPPER_AUTO_ALIGN \ 69 | Z_STEPPERS_ORIENTATION \ 70 | S_CURVE_ACCELERATION \ 71 | EEPROM_SETTINGS \ 72 | SDSUPPORT \ 73 | ADAPTIVE_STEP_SMOOTHING \ 74 | USE_XMAX_PLUG \ 75 | USE_YMAX_PLUG \ 76 | USE_ZMAX_PLUG \ 77 | GCODE_MOTION_MODES 78 | 79 | opt_disable \ 80 | USE_ZMIN_PLUG \ 81 | Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN \ 82 | E1_DRIVER_TYPE \ 83 | MIN_SOFTWARE_ENDSTOPS \ 84 | MAX_SOFTWARE_ENDSTOPS \ 85 | HOME_AFTER_G34 86 | 87 | # Write some useful tidbits to the readme. 88 | echo "- Configured for 3D Printer" >> README.md 89 | -------------------------------------------------------------------------------- /src/configs/common/3dp-repeat-v4-config: -------------------------------------------------------------------------------- 1 | opt_set CUSTOM_MACHINE_NAME "\"V1 MP3DP V4 ${V1_VERSION}\"" 2 | 3 | opt_set DEFAULT_NOMINAL_FILAMENT_DIA "1.75" 4 | opt_set TEMP_SENSOR_0 "5" 5 | opt_set TEMP_SENSOR_BED "11" 6 | opt_set DEFAULT_Kp "37.28" 7 | opt_set DEFAULT_Ki "3.04" 8 | opt_set DEFAULT_Kd "114.45" 9 | opt_set Z_MIN_PROBE_ENDSTOP_HIT_STATE "HIGH" 10 | opt_set DEFAULT_MAX_FEEDRATE "{ 150, 150, 150, 45 }" 11 | opt_set DEFAULT_MAX_ACCELERATION "{ 3000, 3000, 1500, 3000 }" 12 | opt_set DEFAULT_ACCELERATION "1950" 13 | opt_set DEFAULT_RETRACT_ACCELERATION "500" 14 | opt_set DEFAULT_TRAVEL_ACCELERATION "2500" 15 | opt_set JUNCTION_DEVIATION_MM "0.06" 16 | opt_set XY_PROBE_FEEDRATE "7200" 17 | opt_set HOMING_FEEDRATE_MM_M "{ (40*60), (40*60), (30*60) }" 18 | opt_set PREHEAT_1_TEMP_HOTEND "196" 19 | opt_set PREHEAT_1_TEMP_BED "62" 20 | opt_set HOMING_BUMP_MM "{ 7, 7, 10 }" 21 | opt_set HOMING_BUMP_DIVISOR "{ 3, 3, 3 }" 22 | opt_set DEFAULT_STEPPER_TIMEOUT_SEC "1200" 23 | 24 | opt_set Z_MIN_PROBE_PIN PG8 25 | opt_set NOZZLE_TO_PROBE_OFFSET "{ 0, -36, -3.2 }" 26 | opt_set PROBING_MARGIN 5 27 | opt_set Z_PROBE_FEEDRATE_FAST "(8*60)" 28 | 29 | opt_set Z_CLEARANCE_DEPLOY_PROBE 10 30 | opt_set Z_CLEARANCE_FOR_HOMING -2 31 | opt_set Z_AFTER_HOMING 10 32 | opt_set Z_HOME_DIR -1 33 | opt_set Y_BED_SIZE 200 34 | opt_set X_MIN_POS 0 35 | opt_set Y_MIN_POS 0 36 | opt_set Z_MAX_POS 195 37 | opt_set DEFAULT_LEVELING_FADE_HEIGHT 5 38 | opt_set BLTOUCH_HS_MODE true 39 | 40 | opt_set MESH_TEST_NOZZLE_SIZE 0.5 41 | opt_set MESH_TEST_LAYER_HEIGHT 0.35 42 | opt_set MESH_TEST_HOTEND_TEMP 213 43 | opt_set G26_XY_FEEDRATE 40 44 | opt_set G26_XY_FEEDRATE_TRAVEL 75 45 | opt_set G26_RETRACT_MULTIPLIER 0.6 46 | 47 | opt_set MESH_INSET 0 48 | opt_set GRID_MAX_POINTS_X 5 49 | opt_set Z_IDLE_HEIGHT Z_MAX_POS 50 | 51 | opt_set E0_AUTO_FAN_PIN PE5 52 | opt_set Z_STEPPER_ALIGN_AMP 1.1 53 | opt_set G34_MAX_GRADE 10 54 | opt_set Z_STEPPER_ALIGN_ITERATIONS 8 55 | opt_set Z_STEPPER_ALIGN_ACC 0.04 56 | opt_set MANUAL_FEEDRATE "{ 40*60, 40*60, 20*60, 2*60 }" 57 | opt_set FINE_MANUAL_MOVE 0.01 58 | 59 | opt_set NEOPIXEL_TYPE "NEO_GRB" 60 | opt_set NEOPIXEL_PIN "PC9" 61 | opt_set NEOPIXEL_PIXELS "20" 62 | 63 | 64 | opt_enable \ 65 | COREXY \ 66 | Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN \ 67 | Z3_DRIVER_TYPE \ 68 | BLTOUCH \ 69 | Z_MIN_PROBE_REPEATABILITY_TEST \ 70 | AUTO_BED_LEVELING_BILINEAR \ 71 | G26_MESH_VALIDATION \ 72 | EXTRAPOLATE_BEYOND_GRID \ 73 | Z_SAFE_HOMING \ 74 | Z_STEPPER_AUTO_ALIGN \ 75 | Z_STEPPERS_ORIENTATION \ 76 | QUICK_HOME \ 77 | EEPROM_SETTINGS \ 78 | SDSUPPORT \ 79 | ADAPTIVE_STEP_SMOOTHING \ 80 | BABYSTEPPING \ 81 | AUTO_REPORT_POSITION \ 82 | M115_GEOMETRY_REPORT \ 83 | M114_DETAIL \ 84 | REPORT_FAN_CHANGE \ 85 | EMERGENCY_PARSER \ 86 | NEOPIXEL_LED \ 87 | NEOPIXEL_STARTUP_TEST \ 88 | GCODE_MOTION_MODES 89 | 90 | opt_disable \ 91 | E1_DRIVER_TYPE \ 92 | MIN_SOFTWARE_ENDSTOPS \ 93 | MAX_SOFTWARE_ENDSTOPS 94 | 95 | # Write some useful tidbits to the readme. 96 | echo "- Configured for 3D Printer" >> README.md 97 | -------------------------------------------------------------------------------- /src/configs/common/Readme_header.md: -------------------------------------------------------------------------------- 1 | 2 | ### Preconfigured V1 Engineering firmware 3 | 4 | This firmware has been automatically configured based on scripts from the 5 | [MarlinBuilder](https://github.com/V1EngineeringInc/MarlinBuilder) repository. 6 | 7 | ### Configuration Notes 8 | 9 | (See the `git diff` for more detailed, exact changes from Marlin) 10 | 11 | -------------------------------------------------------------------------------- /src/configs/common/_Bootscreen.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Made with Marlin Bitmap Converter 3 | * http://marlinfw.org/tools/u8glib/converter.html 4 | * 5 | * This bitmap from the file '120 Square.bmp' 6 | */ 7 | #define CUSTOM_BOOTSCREEN_BMPWIDTH 128 8 | #define CUSTOM_BOOTSCREEN_BMPHEIGHT 64 9 | const unsigned char custom_start_bmp[] PROGMEM = { 10 | 0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC1,0x83,0xFF,0xC0,0x00, // ...............###########################################################################.....##.....############.............. 11 | 0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x87,0xE1,0xFF,0xE0,0x00, // .............############################################################################....######....############............. 12 | 0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0xF0,0x7F,0xF0,0x00, // ............############################################################################....########.....###########............ 13 | 0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x3F,0xF0,0x00, // ............###............................................................................###########....##########............ 14 | 0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFE,0x00,0x38,0x00, // ...........###............................................................................#############...........###........... 15 | 0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0x80,0x38,0x00, // ...........###...........................................................................################.........###........... 16 | 0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x1F,0xC0,0x38,0x00, // ...........###.........................................................................#########...#######........###........... 17 | 0x00,0x1C,0x3C,0x00,0x00,0x78,0x0F,0x80,0x00,0x00,0x03,0xFE,0x0F,0xC0,0x38,0x00, // ...........###....####...................####.......#####.............................#########.....######........###........... 18 | 0x00,0x1C,0x3C,0x00,0x00,0x78,0x3F,0x80,0x00,0x00,0x0F,0xFC,0x07,0xC0,0x38,0x00, // ...........###....####...................####.....#######...........................##########.......#####........###........... 19 | 0x00,0x1C,0x3C,0x00,0x00,0xF8,0xFF,0x80,0x00,0x00,0x1F,0xFC,0x0F,0xC0,0x38,0x00, // ...........###....####..................#####...#########..........................###########......######........###........... 20 | 0x00,0x1C,0x3E,0x00,0x00,0xF8,0xFF,0x80,0x00,0x00,0x7F,0xF8,0x0F,0x80,0x38,0x00, // ...........###....#####.................#####...#########........................############.......#####.........###........... 21 | 0x00,0x1C,0x1E,0x00,0x00,0xF0,0xF7,0x80,0x00,0x01,0xFF,0xF8,0x1F,0x80,0x38,0x00, // ...........###.....####.................####....####.####......................##############......######.........###........... 22 | 0x00,0x1C,0x1F,0x00,0x01,0xF0,0x07,0x80,0x00,0x07,0xFF,0xF0,0x1F,0x80,0x38,0x00, // ...........###.....#####...............#####.........####....................###############.......######.........###........... 23 | 0x00,0x1C,0x1F,0x00,0x01,0xE0,0x07,0x80,0x00,0x1F,0xFF,0xF0,0x3F,0x80,0x38,0x00, // ...........###.....#####...............####..........####..................#################......#######.........###........... 24 | 0x00,0x1C,0x0F,0x00,0x03,0xE0,0x07,0x80,0x00,0x7F,0xFF,0xE0,0x7F,0x80,0x38,0x00, // ...........###......####..............#####..........####................##################......########.........###........... 25 | 0x00,0x1C,0x0F,0x80,0x03,0xE0,0x07,0x80,0x03,0xFF,0xFF,0xC0,0x7F,0x80,0x38,0x00, // ...........###......#####.............#####..........####.............####################.......########.........###........... 26 | 0x00,0x1C,0x07,0x80,0x03,0xC0,0x07,0x80,0x1F,0xFF,0xFE,0x00,0xFF,0x80,0x38,0x00, // ...........###.......####.............####...........####..........####################.........#########.........###........... 27 | 0x00,0x1C,0x07,0x80,0x07,0xC0,0x07,0x80,0x3F,0xFF,0xF8,0x00,0xFF,0x80,0x38,0x00, // ...........###.......####............#####...........####.........###################...........#########.........###........... 28 | 0x00,0x1C,0x07,0xC0,0x07,0x80,0x07,0x80,0x7F,0xFF,0xE0,0x01,0xFF,0x00,0x38,0x00, // ...........###.......#####...........####............####........##################............#########..........###........... 29 | 0x00,0x1C,0x03,0xC0,0x07,0x80,0x07,0x80,0x7F,0xFF,0xE0,0x01,0xFF,0x00,0x38,0x00, // ...........###........####...........####............####........##################............#########..........###........... 30 | 0x00,0x1C,0x03,0xE0,0x0F,0x80,0x07,0x80,0x7F,0xFF,0xC0,0x00,0xFF,0x00,0x38,0x00, // ...........###........#####.........#####............####........#################..............########..........###........... 31 | 0x00,0x1C,0x01,0xE0,0x0F,0x00,0x07,0x80,0x78,0x00,0x00,0x00,0xFF,0x00,0x38,0x00, // ...........###.........####.........####.............####........####...........................########..........###........... 32 | 0x00,0x1C,0x01,0xE0,0x1F,0x00,0x07,0x80,0x78,0x00,0x00,0x00,0xFF,0x00,0x38,0x00, // ...........###.........####........#####.............####........####...........................########..........###........... 33 | 0x00,0x1C,0x01,0xF0,0x1E,0x00,0x07,0x80,0x78,0x00,0x00,0x00,0xFF,0x00,0x38,0x00, // ...........###.........#####.......####..............####........####...........................########..........###........... 34 | 0x00,0x1C,0x00,0xF0,0x1E,0x00,0x07,0x80,0x78,0x00,0x00,0x00,0xFF,0x00,0x38,0x00, // ...........###..........####.......####..............####........####...........................########..........###........... 35 | 0x00,0x1C,0x00,0xF8,0x3E,0x00,0x07,0x80,0x78,0x00,0x00,0x00,0xFF,0x00,0x38,0x00, // ...........###..........#####.....#####..............####........####...........................########..........###........... 36 | 0x00,0x1C,0x00,0xF8,0x3C,0x00,0x07,0x80,0x7F,0xFF,0xC0,0x00,0xFF,0x00,0x38,0x00, // ...........###..........#####.....####...............####........#################..............########..........###........... 37 | 0x00,0x1C,0x00,0x78,0x7C,0x00,0x07,0x80,0x7F,0xFF,0xE0,0x01,0xFF,0x00,0x38,0x00, // ...........###...........####....#####...............####........##################............#########..........###........... 38 | 0x00,0x1C,0x00,0x7C,0x7C,0x00,0x07,0x80,0x7F,0xFF,0xE0,0x01,0xFF,0x00,0x38,0x00, // ...........###...........#####...#####...............####........##################............#########..........###........... 39 | 0x00,0x1C,0x00,0x3C,0x78,0x00,0x07,0x80,0x7F,0xFF,0xF0,0x01,0xFF,0x00,0x38,0x00, // ...........###............####...####................####........###################...........#########..........###........... 40 | 0x00,0x1C,0x00,0x3E,0xF8,0x00,0x07,0x80,0x3F,0xFF,0xFC,0x00,0xFF,0x80,0x38,0x00, // ...........###............#####.#####................####.........####################..........#########.........###........... 41 | 0x00,0x1C,0x00,0x3E,0xF0,0x00,0x07,0x80,0x07,0xFF,0xFF,0xC0,0x7F,0x80,0x38,0x00, // ...........###............#####.####.................####............#####################.......########.........###........... 42 | 0x00,0x1C,0x00,0x1F,0xF0,0x00,0x07,0x80,0x00,0xFF,0xFF,0xE0,0x7F,0x80,0x38,0x00, // ...........###.............#########.................####...............###################......########.........###........... 43 | 0x00,0x1C,0x00,0x1F,0xF0,0x00,0x07,0x80,0x00,0x1F,0xFF,0xE0,0x3F,0x80,0x38,0x00, // ...........###.............#########.................####..................################.......#######.........###........... 44 | 0x00,0x1C,0x00,0x0F,0xE0,0x00,0x07,0x80,0x00,0x07,0xFF,0xF0,0x3F,0x80,0x38,0x00, // ...........###..............#######..................####....................###############......#######.........###........... 45 | 0x00,0x1C,0x00,0x0F,0xE0,0x00,0x07,0x80,0x00,0x01,0xFF,0xF8,0x1F,0x80,0x38,0x00, // ...........###..............#######..................####......................##############......######.........###........... 46 | 0x00,0x1C,0x00,0x0F,0xC0,0x00,0x07,0x80,0x00,0x00,0x7F,0xF8,0x0F,0x80,0x38,0x00, // ...........###..............######...................####........................############.......#####.........###........... 47 | 0x00,0x1C,0x00,0x07,0xC0,0x00,0x07,0x80,0x00,0x00,0x3F,0xFC,0x0F,0xC0,0x38,0x00, // ...........###...............#####...................####.........................############......######........###........... 48 | 0x00,0x1C,0x00,0x07,0xC0,0x00,0x07,0x80,0x00,0x00,0x0F,0xFC,0x07,0xC0,0x38,0x00, // ...........###...............#####...................####...........................##########.......#####........###........... 49 | 0x00,0x1C,0x00,0x03,0x80,0x00,0x07,0x80,0x00,0x00,0x07,0xFE,0x07,0xC0,0x38,0x00, // ...........###................###....................####............................##########......#####........###........... 50 | 0x00,0x1C,0x00,0x03,0x80,0x00,0x03,0x00,0x00,0x00,0x01,0xFE,0x0F,0xC0,0x38,0x00, // ...........###................###.....................##...............................########.....######........###........... 51 | 0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x3F,0x80,0x38,0x00, // ...........###..........................................................................########..#######.........###........... 52 | 0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0x00,0x38,0x00, // ...........###...........................................................................###############..........###........... 53 | 0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x00,0x78,0x00, // ............###............................................................................###########...........####........... 54 | 0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0xF0,0x3F,0xF8,0x00, // ............############################################################################....########......###########........... 55 | 0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x87,0xE0,0xFF,0xF0,0x00, // .............############################################################################....######.....############............ 56 | 0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,0x83,0xFF,0xE0,0x00, // ..............############################################################################....###.....#############............. 57 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................................................................................ 58 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................................................................................ 59 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................................................................................ 60 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................................................................................ 61 | 0x00,0x0F,0xF4,0x03,0x07,0xC2,0x80,0x67,0xF9,0xFF,0x3E,0x0A,0x01,0x83,0xE0,0x00, // ............########.#........##.....#####....#.#........##..########..#########..#####.....#.#........##.....#####............. 62 | 0x00,0x1F,0xF6,0x03,0x1F,0xE6,0xC0,0x6F,0xFB,0xFF,0x7F,0x1B,0x01,0x8F,0xF0,0x00, // ...........#########.##.......##...########..##.##.......##.#########.##########.#######...##.##.......##...########............ 63 | 0x00,0x18,0x07,0x03,0x38,0x76,0xE0,0x6C,0x03,0x00,0x63,0x1B,0x81,0x9C,0x18,0x00, // ...........##........###......##..###....###.##.###......##.##........##.........##...##...##.###......##..###.....##........... 64 | 0x00,0x18,0x07,0x83,0x30,0x06,0xF0,0x6C,0x03,0x00,0x61,0x9B,0xC1,0x98,0x00,0x00, // ...........##........####.....##..##.........##.####.....##.##........##.........##....##..##.####.....##..##................... 65 | 0x00,0x18,0x07,0xC3,0x60,0x06,0xF8,0x6C,0x03,0x00,0x61,0x9B,0xE1,0xB0,0x00,0x00, // ...........##........#####....##.##..........##.#####....##.##........##.........##....##..##.#####....##.##.................... 66 | 0x00,0x18,0x06,0xE3,0x60,0x06,0xDC,0x6C,0x03,0x00,0x63,0x9B,0x71,0xB0,0x00,0x00, // ...........##........##.###...##.##..........##.##.###...##.##........##.........##...###..##.##.###...##.##.................... 67 | 0x00,0x1F,0xE6,0x73,0x61,0xE6,0xCE,0x6F,0xF3,0xFC,0x7F,0x1B,0x39,0xB0,0xF0,0x00, // ...........########..##..###..##.##....####..##.##..###..##.########..########...#######...##.##..###..##.##....####............ 68 | 0x00,0x18,0x06,0x3B,0x61,0xF6,0xC7,0x6C,0x03,0x00,0x7E,0x1B,0x1D,0xB0,0xF8,0x00, // ...........##........##...###.##.##....#####.##.##...###.##.##........##.........######....##.##...###.##.##....#####........... 69 | 0x00,0x18,0x06,0x1F,0x60,0x36,0xC3,0xEC,0x03,0x00,0x67,0x1B,0x0F,0xB0,0x18,0x00, // ...........##........##....#####.##.......##.##.##....#####.##........##.........##..###...##.##....#####.##.......##........... 70 | 0x00,0x18,0x06,0x0F,0x30,0x36,0xC1,0xEC,0x03,0x00,0x63,0x9B,0x07,0x98,0x18,0x00, // ...........##........##.....####..##......##.##.##.....####.##........##.........##...###..##.##.....####..##......##........... 71 | 0x00,0x18,0x06,0x07,0x18,0x76,0xC0,0xEC,0x03,0x00,0x61,0x9B,0x03,0x8C,0x38,0x00, // ...........##........##......###...##....###.##.##......###.##........##.........##....##..##.##......###...##....###........... 72 | 0x00,0x1F,0xF6,0x03,0x0F,0xE6,0xC0,0x6F,0xFB,0xFE,0x60,0xDB,0x01,0x87,0xF0,0x00, // ...........#########.##.......##....#######..##.##.......##.#########.#########..##.....##.##.##.......##....#######............ 73 | 0x00,0x0F,0xF6,0x01,0x07,0xC6,0xC0,0x27,0xF9,0xFE,0x60,0xDB,0x00,0x83,0xE0,0x00 // ............########.##........#.....#####...##.##........#..########..########..##.....##.##.##........#.....#####............. 74 | }; 75 | -------------------------------------------------------------------------------- /src/configs/common/cnc-config: -------------------------------------------------------------------------------- 1 | 2 | opt_set CUSTOM_MACHINE_NAME "\"V1CNC ${V1_VERSION}\"" 3 | 4 | opt_set Z_MIN_ENDSTOP_HIT_STATE "LOW" 5 | opt_set Z_MIN_PROBE_ENDSTOP_HIT_STATE "LOW" 6 | opt_set DEFAULT_MAX_FEEDRATE "{ 50, 50, 15, 25 }" 7 | opt_set DEFAULT_MAX_ACCELERATION "{ 180, 180, 80, 180 }" 8 | opt_set DEFAULT_ACCELERATION "180" 9 | opt_set DEFAULT_TRAVEL_ACCELERATION "180" 10 | opt_set JUNCTION_DEVIATION_MM "0.04" 11 | opt_set X_BED_SIZE "1220" 12 | opt_set Y_BED_SIZE "2440" 13 | opt_set HOMING_FEEDRATE_MM_M "{ (35*60), (35*60), (4*60) }" 14 | opt_set HOMING_BUMP_MM "{ 5, 5, 5 }" 15 | opt_set HOMING_BUMP_DIVISOR "{ 2, 2, 4 }" 16 | opt_set DEFAULT_STEPPER_TIMEOUT_SEC "1200" 17 | opt_set DISABLE_IDLE_Z "false" 18 | opt_set SD_FINISHED_STEPPERRELEASE "false" 19 | opt_set CUSTOM_MENU_MAIN_TITLE "\"V1 Custom Menu\"" 20 | opt_set MAIN_MENU_ITEM_1_DESC "\"Reset All Coordinates\"" 21 | opt_set MAIN_MENU_ITEM_1_GCODE "\"G92 X0 Y0 Z0\"" 22 | opt_set MAIN_MENU_ITEM_2_DESC "\"Home Z Axis\"" 23 | opt_set MAIN_MENU_ITEM_2_GCODE "\"G28 Z\"" 24 | opt_set MAIN_MENU_ITEM_3_DESC "\"Home X\&Y\"" 25 | opt_set MAIN_MENU_ITEM_3_GCODE "\"G28 X Y\"" 26 | 27 | opt_enable \ 28 | EEPROM_SETTINGS \ 29 | S_CURVE_ACCELERATION \ 30 | ARC_SUPPORT \ 31 | ARC_P_CIRCLES \ 32 | CNC_WORKSPACE_PLANES \ 33 | ADAPTIVE_STEP_SMOOTHING \ 34 | CNC_COORDINATE_SYSTEMS \ 35 | GCODE_MOTION_MODES \ 36 | CUSTOM_MENU_MAIN \ 37 | INDIVIDUAL_AXIS_HOMING_MENU 38 | 39 | opt_disable \ 40 | MIN_SOFTWARE_ENDSTOP_Z \ 41 | MAX_SOFTWARE_ENDSTOPS 42 | 43 | # Write some useful tidbits to the readme. 44 | echo "- Configured for CNC" >> README.md 45 | echo "- Custom LCD commands" >> README.md 46 | 47 | -------------------------------------------------------------------------------- /src/configs/common/v1-base-config: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This script adds the V1 logos, and names to the configs. 4 | 5 | opt_set STRING_CONFIG_H_AUTHOR "\"(V1 Engineering, Ryan, ${V1_VERSION})\"" 6 | 7 | # opt_set won't work, because it isn't in the configuration or configuration_adv.h, so I'm going to 8 | # just put it into the Configuration.h 9 | 10 | echo "#define SHORT_BUILD_VERSION \"${V1_VERSION} ${MARLIN_VERSION}\"" >> Marlin/Configuration.h 11 | 12 | opt_enable \ 13 | DIRECT_PIN_CONTROL \ 14 | LONG_FILENAME_HOST_SUPPORT \ 15 | LONG_FILENAME_WRITE_SUPPORT \ 16 | EEPROM_AUTO_INIT 17 | 18 | opt_disable \ 19 | EVENT_GCODE_SD_ABORT 20 | 21 | cp $CFGDIR/common/_Bootscreen.h Marlin/ 22 | opt_enable SHOW_CUSTOM_BOOTSCREEN 23 | 24 | # Start by putting the machine config and the marlin version in the readme 25 | echo "# ${CONFIG_NAME} - ${MARLIN_VERSION} - ${V1_VERSION}" > README.md 26 | cat $CFGDIR/common/Readme_header.md >> README.md 27 | -------------------------------------------------------------------------------- /src/configs/common/zenxy-config: -------------------------------------------------------------------------------- 1 | opt_set CUSTOM_MACHINE_NAME "\"ZenXY ${V1_VERSION}\"" 2 | 3 | opt_set EXTRUDERS "0" 4 | opt_set DEFAULT_MAX_FEEDRATE "{ 120, 120, 30, 25 }" 5 | opt_set DEFAULT_MAX_ACCELERATION "{ 400, 400, 100, 2000 }" 6 | opt_set DEFAULT_ACCELERATION "400" 7 | opt_set DEFAULT_TRAVEL_ACCELERATION "400" 8 | opt_set JUNCTION_DEVIATION_MM "0.005" 9 | opt_set DISABLE_Z "true" 10 | opt_set DISABLE_E "true" 11 | opt_set INVERT_Y_DIR "false" 12 | opt_set X_BED_SIZE "670" 13 | opt_set Y_BED_SIZE "670" 14 | opt_set HOMING_FEEDRATE_MM_M "{ (30*60), (30*60), (3*60) }" 15 | opt_set HOMING_BUMP_MM "{ 7, 7, 3 }" 16 | opt_set HOMING_BUMP_DIVISOR "{ 4, 4, 5 }" 17 | opt_set DEFAULT_STEPPER_TIMEOUT_SEC "1200" 18 | opt_set MANUAL_FEEDRATE "{30*60, 30*60, 3*60, 60}" 19 | opt_set LCD_TIMEOUT_TO_STATUS "45000" 20 | opt_set CUSTOM_MENU_MAIN_TITLE "\"V1 Custom Menu\"" 21 | opt_set MAIN_MENU_ITEM_1_DESC "\"Reset All Coordinates\"" 22 | opt_set MAIN_MENU_ITEM_1_GCODE "\"G92 X0 Y0 Z0\"" 23 | opt_set MAIN_MENU_ITEM_2_DESC "\"Home Z Axis\"" 24 | opt_set MAIN_MENU_ITEM_2_GCODE "\"G28 Z\"" 25 | opt_set MAIN_MENU_ITEM_3_DESC "\"Home X\&Y\"" 26 | opt_set MAIN_MENU_ITEM_3_GCODE "\"G28 X Y\"" 27 | 28 | opt_enable \ 29 | COREXY \ 30 | S_CURVE_ACCELERATION \ 31 | ARC_SUPPORT \ 32 | SOFT_ENDSTOPS_MENU_ITEM \ 33 | EEPROM_SETTINGS \ 34 | SDSUPPORT \ 35 | INDIVIDUAL_AXIS_HOMING_MENU \ 36 | REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER \ 37 | HOME_Y_BEFORE_X \ 38 | CODEPENDENT_XY_HOMING \ 39 | ADAPTIVE_STEP_SMOOTHING \ 40 | BABYSTEP_ALWAYS_AVAILABLE \ 41 | CNC_COORDINATE_SYSTEMS \ 42 | GCODE_MOTION_MODES 43 | 44 | 45 | # Write some useful tidbits to the readme. 46 | echo "- Configured for ZenXY" >> README.md 47 | echo "- EXTRUDERS = 0" >> README.md 48 | echo "- Custom LCD commands" >> README.md 49 | -------------------------------------------------------------------------------- /src/core/build-for-machine: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ## Script Setup 4 | 5 | set -ex 6 | . $(dirname "$0")/env 7 | . $(dirname "$0")/version 8 | 9 | ## Move to Marlin Dir 10 | cd "$MARLINDIR" 11 | 12 | ## Build 13 | platformio run --project-dir . --silent "$@" 14 | 15 | # Copy the output file out here, so we can save it as an artifact 16 | cp .pio/build/*/firmware.[bh]* ../ 17 | -------------------------------------------------------------------------------- /src/core/config-for-machine: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ## Script Setup 4 | 5 | set -ex 6 | . $(dirname "$0")/env 7 | . $(dirname "$0")/version 8 | 9 | ## Parse arguments for machine 10 | export CONFIG_NAME=$1 11 | shift 12 | # Exit if we don't have a CONFIG_NAME name 13 | [ "$CONFIG_NAME" ] || exit 2 14 | 15 | ## Move to Marlin Dir 16 | cd "$MARLINDIR" 17 | 18 | ## Set up configs 19 | export PATH=$PATH:buildroot/bin 20 | 21 | restore_configs 22 | 23 | echo "# ${CONFIG_NAME} - ${MARLIN_VERSION} - ${V1_VERSION}" > README.md 24 | . $CFGDIR/$CONFIG_NAME 25 | 26 | # Set the default target for this board. 27 | $SCRIPTDIR/core/config-platformio-target ${PLATFORMIO_ENV} 28 | 29 | -------------------------------------------------------------------------------- /src/core/config-platformio-target: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -xe 4 | 5 | ## Parse arguments for machine 6 | export PLATFORMIO_ENV=$1 7 | shift 8 | # Exit if we don't have a PLATFORMIO_ENV name 9 | [ "$PLATFORMIO_ENV" ] || exit 2 10 | 11 | SED=$(which gsed || which sed) 12 | 13 | eval "${SED} -i 's/\(default_envs = \).*/\1${PLATFORMIO_ENV}/' platformio.ini" 14 | -------------------------------------------------------------------------------- /src/core/env: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export V1_ROOT=${V1_ROOT:-$(cd "$(dirname "$0")/../.."; pwd)} 4 | export SCRIPTDIR="${SCRIPTDIR:-${V1_ROOT}/src}" 5 | export COREDIR="${COREDIR:-${SCRIPTDIR}/core}" 6 | export CFGDIR="${CFGDIR:-$SCRIPTDIR/configs}" 7 | export MARLINDIR="${MARLINDIR:-${V1_ROOT}/Marlin}" 8 | 9 | -------------------------------------------------------------------------------- /src/core/version: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Set up the custom version strings here. 4 | 5 | export V1_VERSION=${V1_VERSION:-$(git rev-parse --short HEAD)} 6 | export MARLIN_VERSION="${MARLIN_VERSION:-Custom}" 7 | export CONFIG_NAME="${CONFIG_NAME:-ConfigUnknown}" 8 | 9 | # Let's get a number for the version from the build, so we can try some basic maths. 10 | export MARLIN_CONFIG_VERSION=`grep CONFIGURATION_H_VERSION ${MARLINDIR}/Marlin/Configuration.h | cut -d" " -f3` 11 | -------------------------------------------------------------------------------- /src/core/zip-marlin: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -ex 4 | . $(dirname "$0")/env 5 | . $(dirname "$0")/version 6 | 7 | ## Move to Marlin Dir 8 | cd "$MARLINDIR" 9 | 10 | # First, take a record of everything that has changed before removing the git dir 11 | echo "Marlin based on this commit:" > git_diff.txt 12 | git log -n 1 >> git_diff.txt 13 | echo >> git_diff.txt 14 | echo "git files that changed:" >> git_diff.txt 15 | echo >> git_diff.txt 16 | git diff --name-status >> git_diff.txt 17 | echo >> git_diff.txt 18 | echo "git detailed diff:" >> git_diff.txt 19 | echo >> git_diff.txt 20 | git diff >> git_diff.txt 21 | echo >> git_diff.txt 22 | 23 | # Since we will be zipping up this folder as an artifact, let's clean it up a bit first. 24 | rm -rf \ 25 | .gitattributes \ 26 | .github \ 27 | .gitignore \ 28 | .pio \ 29 | process-palette.json \ 30 | config \ 31 | data \ 32 | docs \ 33 | lib \ 34 | 35 | cd "$MARLINDIR"/.. 36 | 37 | # Zip up Marlin 38 | short_name=$(basename "$MARLINDIR") 39 | zip -prq "Marlin_${CONFIG_NAME}_${MARLIN_VERSION}_${V1_VERSION}"-src.zip "$short_name" 40 | -------------------------------------------------------------------------------- /src/core/zip-release: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -ex 4 | . $(dirname "$0")/env 5 | . $(dirname "$0")/version 6 | 7 | # Zip up Marlin 8 | 9 | zip -pr Marlin-Release.zip "Marlin_${CONFIG_NAME}_${MARLIN_VERSION}_${V1_VERSION}"-src.zip firmware* 10 | -------------------------------------------------------------------------------- /src/docs/README.md: -------------------------------------------------------------------------------- 1 | ## Development/Understanding these scripts. 2 | 3 | Start with the .github/workflows/builds.yml file. That tells github when to start a build, and which 4 | steps to take to complete a particular build. 5 | 6 | These are the main steps: 7 | - Check out a fresh copy of the MarlinFirmware. 8 | - Call "config-for-machine", which will change the Configuration.h, Configuration_adv.h, etc. for 9 | that particular machine. 10 | - This calls a particular machine setup file, like src/configs/V1CNC_Rambo_Dual 11 | - This calls specific groups of configs, such as configuring it for a CNC, rambo specific 12 | choices, and accessories such as an LCD and dual endstops. 13 | - Call platformio to verify the build works (test) and produce a firmware file. 14 | - Collect the Marlin folder and zip it up. Also collect the firmware file. 15 | 16 | To really take a deep look at how Marlin gets set up for a particular build configuration, take a 17 | look at src/configs/V1CNC_Rambo_Dual, and then find each file it uses to configure Marlin, such as 18 | src/configs/boards/rambo. 19 | 20 | The configs are broken into different categories: 21 | - common: 22 | - v1-base-config: which changes some names to V1, and sets the Bootscreen.h. 23 | - cnc, 3dp, zxy: Run one of these to set the machine type. 24 | - boards: 25 | - Each board type has a file here for configuring the build for that particular board. 26 | - This can get a little messy, because a titan aero extruder has different steps/mm on a mini 27 | rambo than on a ramps. 28 | - accessories: 29 | - These are board and machine type "independent" features. For example, dual endstops, or 30 | aero-extruder 31 | 32 | If you want to change any of the configurations, make the appropriate changes to the configs/ 33 | scripts, push to a new branch, and then let github actions build a .zip for you. Download the zip, 34 | and look at the Configuration files it produced. You should then also do a runtime test by flashing 35 | the board with the firmware file, or flash it through arduino. 36 | 37 | Don't forget to set the version number in src/core/version. I don't have a good way to do that 38 | automatically. 39 | 40 | ## Local builds 41 | 42 | If you want to use these scripts to configure Marlin on your local machine, then read the instructions here: 43 | 44 | - [Windows WSL2](UBUNTU_BUILD.md) 45 | - [Ubuntu Linux](UBUNTU_BUILD.md) 46 | -------------------------------------------------------------------------------- /src/docs/UBUNTU_BUILD.md: -------------------------------------------------------------------------------- 1 | # Local development build [Ubuntu Linux / Windows WSL2] 2 | 3 | __Ensure you have the dependencies.__ 4 | 5 | ## For windows install WSL2 6 | https://docs.microsoft.com/en-us/windows/wsl/install-win10 7 | 8 | ## _Install Python_ 9 | ``` 10 | sudo apt update 11 | sudo apt install python3 python3-pip python3-virtualenv 12 | ``` 13 | 14 | ## _Setup Python virtual environment and Install PlatformIO_ 15 | ``` 16 | virtualenv -p python3 .venv 17 | source .venv/bin/activate 18 | pip install platformio 19 | ``` 20 | 21 | ## _Checkout Marlin_ 22 | ``` 23 | git clone git@github.com:MarlinFirmware/Marlin.git Marlin -b bugfix-2.1.x --depth 1 24 | ``` 25 | 26 | ## _Run build steps_ 27 | For each machine you want to target, replace V1CNC_ConfigName with the machine config. (eg. `V1CNC_SkrPro_DualLR_2209`) 28 | ``` 29 | source .venv/bin/activate 30 | src/core/config-for-machine V1CNC_ConfigName 31 | src/core/build-for-machine 32 | ``` 33 | 34 | ## _Post build cleanup_ 35 | Optional but helps when getting build errors between different configurations 36 | ``` 37 | cd Marlin 38 | git checkout . 39 | git reset --hard 40 | git clean -f 41 | cd .. 42 | ``` 43 | --------------------------------------------------------------------------------