MarlinFirmware/Marlin
GitHub: MarlinFirmware/Marlin
Marlin是面向RepRap系列3D打印机的开源固件,支持多种8位和32位MCU平台,提供完整的运动控制、温度管理和G-code解析功能。
Stars: 17324 | Forks: 19688

Marlin 3D 打印机固件
### 🌍 翻译
官方文档可在 [Marlin 主页](//marlinfw.org/) 找到。
请测试此固件,如果出现任何异常行为请告知我们。志愿者们随时待命!
## Marlin 2.1 Bugfix 分支
**不适用于生产环境。请谨慎使用!**
Marlin 2.1 支持 32 位 ARM 和 8 位 AVR 主板,同时增加了对多达 9 个协调轴和多达 8 个挤出机的支持。
此分支用于针对最新 2.1.x 版本的补丁。此分支将定期构成下一个 2.1.x 小版本的基础。
在 [Releases 页面](//github.com/MarlinFirmware/Marlin/releases) 下载旧版本的 Marlin。
## 示例配置
在为您的机器构建 Marlin 之前,您需要针对特定硬件的配置。根据要求,供应商将很乐意为您提供机器的完整源代码和配置,但如果您想安装新版本的 Marlin,则需要获取更新的配置文件。幸运的是,Marlin 用户已经贡献了数百个经过测试的配置以帮助您入门。访问 [MarlinFirmware/Configurations](//github.com/MarlinFirmware/Configurations) 仓库以查找适合您硬件的配置。务必选择兼容的分支 匹配兼容的软件和配置包。
## 构建 Marlin 2.1
要构建和上传 Marlin,您将使用以下工具之一:
- 免费的 [Visual Studio Code](//code.visualstudio.com/download) 配合 [Auto Build Marlin](//marlinfw.org/docs/basics/auto_build_marlin.html) 扩展。
- Marlin 经过优化,可使用 Visual Studio Code 的 [PlatformIO IDE](//platformio.org/) 扩展进行构建。
- 您也可以使用 VSCode 配合 devcontainer:参阅 [安装 Marlin (VSCode devcontainer)](https://marlinfw.org/docs/basics/install_devcontainer_vscode.html)。
- 您仍然可以使用 [Arduino IDE](//www.arduino.cc/en/main/software) 构建 Marlin:参阅 [使用 Arduino 构建 Marlin](//marlinfw.org/docs/basics/install_arduino.html)。我们希望改进 Arduino 构建体验,但目前 PlatformIO 是首选。
## 32 位 ARM 主板
Marlin 兼容大量的 32 位 ARM 主板,这些主板提供充足的计算能力和内存,使 Marlin 能够提供我们希望在现代 3D 打印机中看到的先进性能和功能。Marlin 的一些新功能需要使用 32 位 ARM 主板。
## 8 位 AVR 主板
Marlin 起源于基于 Arduino 的 8 位主板时代,我们的目标是永久支持 8 位 AVR 主板。32 位和 8 位主板都由同一个代码库覆盖,该代码库适用于所有机器。我们的目标是支持业余爱好者、折腾者和旧机器及主板的所有者,努力让他们像拥有更高档机器和新主板的用户一样受益于社区的创新。此外,这些受人尊敬的基于 AVR 的机器通常是测试和反馈的最佳选择!
## 硬件抽象层 (HAL)
Marlin 的硬件抽象层为其目标的所有平台提供了一个通用的 API。这允许 Marlin 代码在最低和最高级别处理运动和用户界面任务的细节,而没有系统开销,将所有事件直接绑定到硬件时钟。
每个新的 HAL 都开启了一个硬件世界。Marlin 目前拥有针对十几个平台的 HAL。虽然 AVR 和 STM32 是最知名和最受欢迎的,但 ESP32 和 LPC1768 等其他平台支持各种不太常见的主板。目前,RP2040 的 HAL 处于测试阶段;我们想为 Duet3D 系列主板添加一个。封装 RTOS 的 HAL 是一个值得探索的有趣概念。
您知道 Marlin 包含一个可以在 Windows、macOS 和 Linux 上运行的模拟器吗?加入 Discord 以帮助推进这些子项目!
### 支持的平台
| Platform | MCU | Example Boards |
| --- | --- | --- |
| [Arduino AVR](//www.arduino.cc/) | ATmega | RAMPS, Melzi, RAMBo |
| [Teensy++ 2.0](//www.microchip.com/en-us/product/AT90USB1286) | AT90USB1286 | Printrboard |
| [Arduino Due](//www.arduino.cc/en/Guide/ArduinoDue) | SAM3X8E | RAMPS-FD, RADDS, RAMPS4DUE |
| [ESP32](//github.com/espressif/arduino-esp32) | ESP32 | FYSETC E4, E4d@BOX, MRR |
| [GD32](//www.gigadevice.com/) | GD32 ARM Cortex-M4 | Creality MFL GD32 V4.2.2 |
| [HC32](//www.huazhoucn.com/) | HC32 | Ender-2 Pro, Voxelab Aquila |
| [LPC1768](//www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc1700-cortex-m3/512-kb-flash-64-kb-sram-ethernet-usb-lqfp100-package:LPC1768FBD100) | ARM® Cortex-M3 | MKS SBASE, Re-ARM, Selena Compact |
| [LPC1769](//www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc1700-cortex-m3/512-kb-flash-64-kb-sram-ethernet-usb-lqfp100-package:LPC1769FBD100) | ARM® Cortex-M3 | Smoothieboard, Azteeg X5 mini, TH3D EZBoard |
| [Pico RP2040](//www.raspberrypi.com/documentation/microcontrollers/pico-series.html) | Dual Cortex M0+ | BigTreeTech SKR Pico |
| [STM32F103](//www.st.com/en/microcontrollers-microprocessors/stm32f103.html) | ARM® Cortex-M3 | Malyan M200, GTM32 Pro, MKS Robin, BTT SKR Mini |
| [STM32F401](//www.st.com/en/microcontrollers-microprocessors/stm32f401.html) | ARM® Cortex-M4 | ARMED, Rumba32, SKR Pro, Lerdge, FYSETC S6, Artillery Ruby |
| [STM32F7x6](//www.st.com/en/microcontrollers-microprocessors/stm32f7x6.html) | ARM® Cortex-M7 | The Borg, RemRam V1 |
| [STM32G0B1RET6](//www.st.com/en/microcontrollers-microprocessors/stm32g0x1.html) | ARM® Cortex-M0+ | BigTreeTech SKR mini E3 V3.0 |
| [STM32H743xIT6](//www.st.com/en/microcontrollers-microprocessors/stm32h743-753.html) | ARM® Cortex-M7 | BigTreeTech SKR V3.0, SKR EZ V3.0, SKR SE BX V2.0/V3.0 |
| [SAMD21P20A](//www.adafruit.com/product/4064) | ARM® Cortex-M0+ | Adafruit Grand Central M4 |
| [SAMD51P20A](//www.adafruit.com/product/4064) | ARM® Cortex-M4 | Adafruit Grand Central M4 |
| [Teensy 3.2/3.1](//www.pjrc.com/teensy/teensy31.html) | MK20DX256VLH7 ARM® Cortex-M4 |
| [Teensy 3.5](//www.pjrc.com/store/teensy35.html) | MK64FX512-VMD12 ARM® Cortex-M4 |
| [Teensy 3.6](//www.pjrc.com/store/teensy36.html) | MK66FX1MB-VMD18 ARM® Cortex-M4 |
| [Teensy 4.0](//www.pjrc.com/store/teensy40.html) | MIMXRT1062-DVL6B ARM® Cortex-M7 |
| [Teensy 4.1](//www.pjrc.com/store/teensy41.html) | MIMXRT1062-DVJ6B ARM® Cortex-M7 |
| Linux Native | x86 / ARM / RISC-V | Raspberry Pi GPIO |
| Simulator | Windows, macOS, Linux | Desktop OS |
| [All supported boards](//marlinfw.org/docs/hardware/boards.html#boards-list) | All platforms | All boards |
## Marlin Discord
[Marlin Firmware Discord](//discord.gg/marlin-firmware-461605380783472640) 是与 Marlin 用户和开发者讨论、获得交互式故障排除帮助以及与开发团队最活跃的成员共同改进 Marlin 的好地方。
## 其他 Marlin 支持
Issue Queue 专为 Bug 报告和功能请求保留。请使用以下资源获取配置和故障排除方面的帮助:
- [Marlin 文档](//marlinfw.org) - 官方 Marlin 文档
- ["Marlin Firmware"](//www.facebook.com/groups/1049718498464482/) Facebook 群组
- RepRap.org 上的 [Marlin 论坛](//forums.reprap.org/list.php?415)
- ["Marlin Firmware for 3D Printers"](//www.facebook.com/groups/3Dtechtalk/) Facebook 群组
- YouTube 上的 [Marlin 配置](//www.youtube.com/results?search_query=marlin+configuration) 播放列表
## 项目领导
| Name | Role | Link | Donate |
| --- | --- | --- | --- |
| 🇺🇸 Scott Lahteine | Project Lead | [[@thinkyhead](//github.com/thinkyhead)] | [❤️ Donate](//marlinfw.org/docs/development/contributing.html#donate) |
| 🇳🇿 Peter Ellens | Admin | [[@ellensp](//github.com/ellensp)] | [❤️ Donate](//ko-fi.com/ellensp) |
| 🇬🇧 Chris Pepper | Admin | [[@p3p](//github.com/p3p)] |
| 🇺🇸 Keith Bennett | Admin | [[@thisiskeithb](//github.com/thisiskeithb)] | [❤️ Donate](//github.com/sponsors/thisiskeithb) |
| 🇺🇸 Roxanne Neufeld | Admin | [[@Roxy-3D](//github.com/Roxy-3D)] |
| 🇺🇸 Jason Smith | Admin | [[@sjasonsmith](//github.com/sjasonsmith)] |
| 🇧🇷 Victor Oliveira | Admin | [[@rhapsodyv](//github.com/rhapsodyv)] |
| 🇺🇸 Bob Kuhn | Admin | [[@Bob-the-Kuhn](//github.com/Bob-the-Kuhn)] |
| 🇳🇱 Erik van der Zalm | Founder | [[@ErikZalm](//github.com/ErikZalm)] |
## Star 历史
## 许可证
Marlin 是在 [GPL 许可证](/LICENSE) 下发布的,因为我们相信开放开发。GPL 既有权利也有义务。无论您是将 Marlin 固件用作开源还是闭源产品的驱动程序,您都必须保持 Marlin 开放,并且必须根据要求向最终用户提供您兼容的 Marlin 源代码。遵守 Marlin 许可证最直接的方法是在 GitHub 上创建一个 Marlin 分支 (fork),进行修改,并将用户引导至您修改后的分支。
标签:3D打印, 3D打印机, Arduino, C++, FDM打印, G-code, Marlin, RepRap, STM32, UML, 制造, 单片机, 固件, 嵌入式系统, 开源硬件, 微控制器, 数据擦除, 数控系统, 步进电机, 硬件驱动, 运动控制