Marlin (韌體)

Marlin是為使用Arduino平台的RepRap熔融沉積成型（FDM）3D列印機所設計之開放原始碼韌體。

這個開源韌體支援許多不同類型的3D列印機器人平台 ，包括基本笛卡爾、Core XY、Delta和SCARA列印機，以及一些其他較非傳統的設計，如和Beltprinter。除了 3D 印表機外，Marlin 通常可適用於任何需要控制和互動的機器。它已被用於驅動 SLA 和  3D 印表機、客製化電腦數值控制（CNC）銑床、雷射雕刻機（或）、雷射切割機、塑膠切割機、取放機器、泡棉切割機和彩繪雞蛋機器人等。

歷史
Marlin 最初於 2011 年為 RepRap 和 Ultimaker 的3D印表機創建，結合了開源 Grbl 和 Sprinter 專案的元素。開發持續緩慢進行，同時其受歡迎程度和接受度不斷提高，成為其他可用韌體的優越替代方案。到 2015 年，公司開始推出預裝 Marlin 的商業 3D 印表機，並將其改進貢獻給該專案。早期機型包括 Ultimaker 1、Aleph Objects 的 TAZ 系列以及 Prusa Research 的 Prusa i3。

到了 2018 年，製造商已開始偏好採用更強大且高效的 ARM处理器開發板，其成本通常低於所取代的 AVR 開發板。經過廣泛的重構，Marlin 2.0 於 2019 年底正式發布，透過輕量級可擴展的硬體存取層，全面支援32位元 ARM 架構的控制板。雖然 Marlin 1.x 僅支援8位元 AVR（如 ATMega）和 ATSAM3X8E（Due）平台，但 HAL 增加了對 ATSAMD51（Grand Central）、Espressif ESP32、NXP LPC176x 和意法半導體 STM32的支援。Marlin 也獲得了可在 Linux、Mac 和 Windows 上原生執行的硬體抽象層（HAL）程式碼，但僅限於除錯目的的模擬環境中。

截至2022年10月，Marlin 仍在積極開發中，並持續受到歡迎，自稱是「全球使用最廣泛的 3D 列印韌體」。目前使用 Marlin 的一些最成功的公司包括 Ultimaker、LulzBot、Prusa Research 和創想三維等。

Marlin 韌體在開源 3D 印表機韌體領域並非獨一無二。其他流行的開源韌體選擇包括 Duet3D 的 RepRap Firmware、Prusa Research 的 Buddy Firmware，以及 Klipper 基金會的 Klipper等。這些替代方案利用額外的處理能力來提供進階功能，如輸入整形（input shaping） ，而此功能最近才被加入到 Marlin 中。

技術

Marlin 韌體託管於 GitHub，由貢獻者社群開發和維護。Marlin 的主要開發者是 Scott Lahteine（又名 Thinkyhead），他是一位獨立的共享軟體開發者，也是前 Amiga 遊戲開發者，於 2014 年加入該專案。他的工作完全由群眾募資支持。

Marlin 是以最佳化的 C++ 為 Arduino API 編寫的，採用多為嵌入式 C++ 的風格，避免了使用動態記憶體分配 。該韌體可以使用 Arduino IDE、PlatformIO 或用於 Visual Studio Code 的 Auto Build Marlin 擴充功能進行建置。後者方法被推薦，因為它非常簡單，但它只是 Visual Studio Code 的擴充功能，需要先在建置系統上安裝 Visual Studio Code。

一旦韌體從 C++原始碼編譯完成；它就會被安裝並運行在主機板上，該主機板具有板載元件和通用 I/O接腳，用於控制和與其他元件通訊。為了進行控制，韌體會從 USB 連接埠或附加媒體接收輸入，這些輸入以 G-code 指令的形式出現，指示機器該做什麼。例如，指令"G1 X10"告訴機器將 X 軸平順線性移動到位置 10。主迴圈管理所有機器的即時活動，例如透過步進馬達驅動器命令步進馬達、控制加熱器、感測器和燈光、管理顯示器和使用者介面等。

授權

Marlin 以GPL授權方式發布，該授權要求組織和個人如果以二進制形式分發韌體（包括預先安裝在主機板上的韌體），必須分享其原始碼。供應商偶爾未能遵守授權條款，導致一些經銷商停止銷售他們的產品。

2018 年，美國經銷商 Printed Solid 因 GPL 違規和品質問題終止了與創想三維的合作關係。

截至 2022 年，部分供應商在合規性方面仍有問題，在產品釋出後長期或永久迴避客戶對原始碼的要求。

 使用與授權合規性 

Marlin 韌體被多家 3D 印表機製造商使用，其中大多數完全遵守授權條款。合規性由 TH3D Studio 的 Tim Hoogland 等人追蹤。當閱讀此段落時，下表可能已過時。
+公司GPL合規性Aleph Objects' Lulzbot printersAnetArtillery 3DAnyCubicAlphawiseBiboBQBCN3DBCN3D必趣科技創想三維: CR-X: CR-10S與Ender3FLSunFolgerTechGeeetechJGAurora: A8, A7, Z-603S: A1, A5S, A3S, A5IdeaformerLMYSTARMakerbaseMingdaPrintrbotPrusa Research ，而且他們的客製化韌體是基於 Marlin 開發的SunluTevoTronXYUltimakerWanhaoZonestar

註解

另見
Klipper：另一個開源的3D印表機韌體

參考資料

外部連結
 Marlin official website
 Marlin GitHub repository
 Marlin Patreon page
 How it's Made: The Marlin Firmware!, an interview with Scott Laheine, YouTube

Category:3D列印軟體
Category:韌體
Category:RepRap
Category:用C++編程的自由軟體
Category:2011年軟體