Какие бы комплектующие не использовали производители 3D принтеров, без качественной прошивки это всего лишь «железо». Программное обеспечение управляет всеми компонентами, определяет качество и удобство печати. Существует большое количество вариантов прошивок, на их рассмотрение можно потратить много часов, поэтому остановимся на самых популярных – Klipper и Marlin.
Краткий экскурс в историю
Прошивку Marlin разработал инженер-программист Эрик ван дер Залм. Создавал он ее для аддитивных систем компании Ultimaker в 2011 году. Но своей популярности она обязана другим производителям, которые сразу оценили перспективность Marlin и начали активно использовать ее в своей продукции. Первая версия прошивки была ориентирована на 8-разрядные контроллеры Arduino. Конкуренция с Klipper способствовала появлению в 2019 году поддержки более мощных плат на 32 Бит.
Для написания Marlin использован язык C++. Прошивка совместима со многими 3D принтерами и платами. После установки на микроконтроллер управление осуществляется энкодером, либо клавиатурой. Считывание машинного кода осуществляется с Micro SD, либо SD. Конфигурации меняются через специальные файлы, в которых находятся директивы компилятору. Для новичка процесс может показаться сложным. Но на большинство 3D принтеров уже есть готовые сборки с полным руководством по инсталляции и настройке. Любое изменение конфигурации предполагает перепрошивку.
.jpg)
Прошивка Klipper была представлена общественности в 2015. Ее создателем считается Кевин О`Коннор. Бортовые микроконтроллеры 3Д принтеров на то время имели ограниченные вычислительные мощности и не позволяли добавлять продвинутые функции. Чтобы решить данную проблему, О`Коннор предложил задействовать внешние процессоры на плате Linux. Основной контроллер контролирует работу вентиляторов, нагревателей, моторов, а дополнительный отвечает на вычислительные процессы.
Klipper создана на С++. Прошивка загружается на основной микроконтроллер принтер, который подключается к внешнему компьютеру по USB. В качестве последнего часто используется Raspberry Pi. Для проведения вычислений, считывания машинного кода, синхронизации команд на внешний компьютер загружается программа Klippy. Для ее написания использован Python.

В Klipper конфигурации хранятся в текстовых файлах, которые довольно легко редактируются. При каждой загрузке системы новые конфигурации считаются автоматически, что делает перепрошивку ненужной.
Функциональность прошивок
Базовый набор функций Klipper и Marlin довольно схож. Но у Klipper есть несколько интересных способностей:
- Сложное позиционирование. Klipper в секунду способен выполнять большее число шагов, что на практике обеспечивает лучшую детализацию и скорость печати.
- Поддержка 2 и более контроллеров. Klipper позволяет подключать вспомогательную периферию, шаговые моторы, которые выходят за базовый потенциал одной платы.
- Компенсация вибраций. Опция Input Shaping в Klipper эффективно устраняет вибрации головки в процессе позиционирования, чем повышается качество печати. Происходит это автоматически, за счет встроенного в каретку акселерометра.
Для Marlin существует большее число наборов машинного кода, в свою очередь, Klipper предлагает пользователю доступ к обширному выбору ключевых параметров.
Обе прошивки активно поддерживаются разработчиками и развиваются в соответствии с растущими запросами. Можно ли среди них выделить лучшую – скорее нет, чем да. По сути, они реализуют два разных подхода и у каждого есть свои плюсы/минусы и почитатели. Marlin проще устанавливается, предлагает большую базу готовых решений. Klipper интересна в плане легкости изменения конфигураций, наличием уникальных функций и широкими возможностями для экспериментов.