Выбор прошивки для 3D-принтера может оказаться непростой задачей. Ознакомьтесь с лучшими вариантами и узнайте, как установить их на ваш 3D-принтер.
Микрокомпьютер Raspberry Pi 5 На борту Raspberry Pi 5 уже есть четыре порта USB, беспроводные интерфейсы Wi-Fi/Bluetooth и полноценный гигабитный Ethernet, чтобы сразу приступить к работе.
Прошивка — это связующее звено между программным и аппаратным обеспечением: она преобразует входные данные, поступающие от программного обеспечения, в выходные данные, которые может понять компьютерное оборудование.
В 3D-печати этот процесс происходит всякий раз, когда вы отправляете файл G-кода от слайсера на 3D-принтер: Прошивка «отрабатывает» код и соответственно, выдает сигнал на шаговые двигатели, нагреватели, дисплей и так далее.
Например, рассмотрим команду G-кода «G1 X10 Y20». Микропрограмма понимает эту команду и определяет, какой выход нужно подать на шаговый двигатель, чтобы печатающая головка достигла X=10 и Y=20. Без встроенного ПО 3D-принтер не понимал бы вводимый G-код.
В этой статье мы рассмотрим, зачем нужно менять прошивку 3D-принтера, а затем расскажем о том, как ее менять. После этого мы рассмотрим некоторые популярные варианты прошивок для 3D-принтеров.
- Причины для смены прошивки
- Более быстрые расчеты
- Совместимость плат контроллеров
- Более продвинутые функции
- Совместимость
- Плата контроллера
- Прошивка
- Что понадобится для прошивки
- Как и чем перепрошить плату 3D-принтера
- Arduino IDE
- Visual Studio Code
- Вариант №1: Марлин
- Вариант №2: Klipper
- Вариант №3: Prusa
- Вариант №4: Repetier
- Вариант №5: RepRap
- Вариант №6: Smoothieware
Причины для смены прошивки

Давайте разберемся в причинах, по которым вам захотелось сменить прошивку.
Более быстрые расчеты
Скорость расчетов зависит от технологии 3D-печати, с которой вы работаете. Например, конструкция принтеров delta и CoreXY такова, что для точного управления движением требуется сложный набор инструкций. Если прошивка не оптимизирована для быстрого выполнения этих инструкций, это может привести к заиканию или отказу принтера на высоких скоростях. На эту проблему также частично влияет выбор платы контроллера.
Совместимость плат контроллеров
Прошивки обычно разрабатываются для конкретного оборудования. Например, прошивка Marlin может работать на плате RAMPS или RUMBA, но не на Smoothieboard или Duet. Поэтому, если вы меняете плату контроллера для получения дополнительных функций, вам, возможно, придется изменить и прошивку 3D-принтера.
Более продвинутые функции
Прошивка может предлагать особые функции, которые выделяют один вариант из толпы. Возможно, вам нужна прошивка для определенной функции, а возможно, вас больше устраивает надежный универсальный вариант. В таких случаях смена прошивки позволит вам реализовать все, что нужно для вашего 3D-принтера.
Совместимость

Как уже говорилось, совместимость может стать весомой причиной для изменения прошивки 3D-принтера, поэтому давайте рассмотрим подробнее, что мы имеем в виду.
Плата контроллера
Плата контроллера — это как материнская плата в ПК или смартфоне. Так же как устройство Apple не может работать под управлением Android OS, так и плата контроллера не может работать с любой прошивкой. Некоторые платы ограничены аппаратными возможностями, другие — собственной разработкой.
Если вы собираетесь менять прошивку своего 3D-принтера, очень важно знать точные характеристики платы контроллера. Часто они напечатаны на самой плате контроллера. В противном случае вы можете обратиться к спецификации производителя для получения более подробной информации.
Некоторые принтеры, особенно высококлассные профессиональные, имеют фирменные платы контроллеров. В таких случаях внести изменения в прошивку будет сложнее или вообще невозможно.
Прошивка

Как платы контроллеров не предназначены для работы с любой прошивкой, так и прошивки не предназначены для универсальной поддержки. Выбирая прошивку, обратите внимание на то, совместим ли выбранный вами вариант со спецификациями вашей платы контроллера.
Вам следует проверить веб-сайты прошивки и платы контроллера, чтобы узнать, упоминается ли в них одна из них. Если у вас есть сомнения, вы всегда можете связаться с производителями, чтобы убедиться в этом.
Также полезно знать текущую прошивку, установленную на вашем 3D-принтере. Если вы используете стоковую прошивку, производители 3D-принтеров часто выкладывают обновленные версии на своих сайтах.
Что понадобится для прошивки

Чтобы изменить прошивку 3D-принтера, вам понадобятся следующие вещи:
- Компьютер: Это может быть та же машина, которую вы используете для 3D-печати.
- Arduino IDE: Вы можете бесплатно скачать ее с сайта Arduino. Она необходима для просмотра, редактирования и загрузки прошивки.
- Visual Studio Code (опционально): VSC — это альтернатива Arduino IDE, которую можно бесплатно загрузить с сайта Visual Studio Code.
- USB-кабель: В зависимости от порта 3D-принтера вам понадобится USB-кабель для подключения компьютера к 3D-принтеру.
- Файл прошивки: В зависимости от ваших предпочтений, загрузите файл прошивки 3D-принтера из соответствующих источников. В этой статье мы будем использовать Marlin в качестве примера прошивки при обновлении.
- Информация о конкретном принтере: Выбрав совместимую прошивку, перейдите к разделу, где хранятся специфика конфигурации устройства. Вам следует записать настройки по умолчанию, характерные для вашего 3D-принтера. К ним могут относиться:
- Шаг (мм) для экструдера и двигателей осей X, Y и Z.
- Максимальные расстояния перемещения по трем осям
- Максимальная скорость подачи (или скорость) и ускорение для ваших осей и двигателей экструдера
- Любые другие пользовательские настройки в вашей оригинальной прошивке
Как и чем перепрошить плату 3D-принтера

Arduino IDE — хороший выбор для начинающих, но есть некоторые проблемы с совместимостью при попытке прошить более современные платы на базе микроконтроллеров STM32. Arduino IDE лучше всего работает с платами типа Arduino, в которых используются чипы ATMega 2560 и подобные.
Те, кто работает с платами на базе STM32, возможно, захотят использовать Visual Studio Code (VSC) от Microsoft в качестве альтернативы. Помимо разной совместимости, VSC обладает более продвинутыми функциями отладки, которые помогут вам определить, какие именно ошибки приводят к тому, что прошивка не компилируется. Давайте рассмотрим, как работать с каждой из них на примере прошивки Marlin.
Arduino IDE
Ниже перечислены основные шаги, которые необходимо выполнить, чтобы отредактировать, скомпилировать и прошить прошивку Marlin в 3D-принтер.
- Загрузите основной релиз Marlin (не путать с файлами конфигурации). Распакуйте этот zip-файл и постарайтесь не помещать его куда-нибудь, где путь к файлу будет слишком длинным, так как это может вызвать проблемы в дальнейшем.
- Скачайте и установите Arduino IDE, если у вас ее еще нет.
- Загрузите релизы конфигураций Marlin (убедитесь, что они для той же версии Marlin, которую вы загрузили в шаге 1) и найдите конфигурацию, которая соответствует вашей материнской плате и/или 3D-принтеру, в папке «examples». Скопируйте файлы «Configuration.h» и «Configuration_adv.h» и вставьте их во внутреннюю папку, обозначенную просто «Marlin» (не «Marlin2.x»), и перезапишите содержащиеся в ней файлы по умолчанию. Возможно, в вашем примере конфигурации есть файлы «Bootscreen.h» и «Statusscreen.h»; их тоже нужно скопировать, если ваш принтер имеет ЖК-экран.
- Откройте файл «Marlin.ino» в Arduino IDE. Теперь в нем должны отображаться правильные конфигурационные файлы, которые вы скопировали в папку «Marlin» ранее, в виде вкладок в верхней части IDE Arduino.
- Если вы хотите внести какие-либо изменения, вы можете сделать их сейчас в файлах «Configuration.h» и «Configuration_adv.h». В закомментированных разделах конфигурационных файлов вы найдете множество полезных инструкций по внесению необходимых изменений.
- Как только вы закончите, нажмите на значок «галочка» в левом верхнем углу. Это запустит процесс компиляции.
- После компиляции прошивки вы получите сообщение «Done Compiling». Если есть ошибки, внесите необходимые изменения, основываясь на результатах последовательного монитора (текстовое поле в нижней части окна Arduino IDE). Последовательный монитор также может предложить вам загрузить необходимые библиотеки, что можно сделать через менеджер библиотек. Нажмите на значок книги слева, найдите и установите все необходимые библиотеки в открывшейся вкладке.
- Подключите плату (через USB) и выберите тип платы и порт, к которому подключен USB, в выпадающем меню «Выберите другую плату и порт…» вверху. Для большинства старых плат «Ender 3-style» это будет «Arduino Mega или Mega 2560». Если вы видите несколько COM-портов, отключите и снова подключите плату и обратите внимание на то, какой COM-порт появился (например, COM11, COM5 и т.д.).
- Наконец, нажмите на кнопку со стрелкой рядом с иконкой «галочка»; это приведет к повторной компиляции и прошивке прошивки на вашу материнскую плату. Будьте терпеливы, так как это может занять некоторое время, а отключение от сети в этот момент может «окирпичить» вашу плату.
Вот и все! Всего за девять шагов вы изменили прошивку своего 3D-принтера. Если вам больше нравится визуальное восприятие или нужны более подробные пошаговые инструкции для различных конфигураций, есть отличный учебник от Teaching Tech.
Visual Studio Code

Если вы готовы к этому, или если у вас возникли проблемы с вашей конкретной материнской платой с Arduino IDE, мы рассмотрим, как продолжить работу с VSC.
Процесс компиляции прошивки в VSC аналогичен Arduino IDE, но также требует установки пары плагинов для VSC, а именно Platform IO и Auto Build Marlin. Marlin предоставляет подробные инструкции по сборке прошивки в VSC, если вы решите пойти этим путем, но вот краткое описание необходимых шагов:
- Загрузите основной релиз Marlin (не путать с конфигурационными файлами). Распакуйте этот zip-файл и постарайтесь не помещать его куда-нибудь, где путь к файлу будет слишком длинным, так как впоследствии это может вызвать проблемы.
- Загрузите и откройте VSC, затем перейдите на вкладку «Расширения». Выполните поиск Platform IO и Auto Build Marlin и установите оба расширения.
- Выберите вкладку «Auto Build Marlin» и выберите опцию «открыть Marlin 2.x». Найдите папку «Marlin 2.x», которую вы скачали ранее, и убедитесь, что выбрали внутреннюю папку «Marlin 2.x», иначе программа не распознает ее как правильный проект Marlin 2.x.
- Скачайте релизы конфигурации Marlin (убедитесь, что они предназначены для той же версии Marlin, которую вы скачали ранее) и найдите конфигурацию, соответствующую вашей материнской плате и/или 3D-принтеру, в папке «examples». Скопируйте файлы «Configuration.h» и «Configuration_adv.h» и вставьте их во внутреннюю папку, обозначенную просто «Marlin» (не «Marlin2.x»), и перезапишите содержащиеся в ней файлы по умолчанию. Возможно, в вашем примере конфигурации есть файлы «Bootscreen.h» и «Statusscreen.h»; их тоже нужно скопировать, если ваш принтер оснащен ЖК-экраном.
- Откройте файлы «Configuration.h» и «Configuration_adv.h» в VSC и внесите необходимые изменения в соответствии с настройками принтера (например, определите типы драйверов шаговых двигателей или включите BLTouch, если он используется), при необходимости комментируя и некомментируя параметры.
- Перейдите на вкладку «Auto Build Marlin» и выберите «Build», чтобы скомпилировать прошивку. Возможно, вам потребуется изменить среду по умолчанию в зависимости от используемой платы. Если оно не подходит, отладочный терминал подскажет вам, какое окружение использовать. Просто скопируйте эти данные из отладочного терминала и вставьте их в секцию «default_envs» файла «platformio.ini» (находится в папке «Marlin»). Будьте терпеливы, сборка может занять некоторое время!
- Нажмите на значок папки на вкладке «Auto Build Marlin», чтобы открыть местоположение файла «firmware.bin», который вы только что создали. Следуйте инструкциям вашего 3D-принтера или материнской платы, чтобы прошить прошивку, и готово!
Важное замечание для Arduino IDE и VSC: будьте осторожны с изменением единиц измерения при вводе значений скорости или ускорения. Некоторые прошивки измеряют скорость в мм/с, а другие иногда используют мм/мин. Это может привести к неправильному поведению вашего принтера!
Итак, теперь, когда мы знаем, как внести изменения, давайте рассмотрим лучшие варианты!
Вариант №1: Марлин

Marlin — одна из самых известных и часто используемых прошивок для 3D-принтеров. Многие производители 3D-принтеров включают прошивку Marlin как есть или адаптируют ее для работы на своих 3D-принтерах (так называемые вилки). Marlin берет свое начало от Sprinter и GRBL (другие прошивки), его сильные стороны — высокий уровень кастомизации и мощная поддержка сообщества.
Он выпускается в двух разных версиях: для 8-битных и 32-битных плат. 32-битная версия предлагает лучшие и более современные возможности. Возможность настраивать практически все позволяет использовать Marlin даже для собственных сборок 3D-принтеров. Более того, Marlin часто используется для управления станками с ЧПУ и лазерными граверами.
Также существует относительно недавняя вилка Marlin под названием Jyers. Она предназначена для Creality’s Ender 3 V2, так как стоковая прошивка, хотя и основана на Marlin, имеет некоторые ограниченные возможности, которые могут быть интересны пользователям.
- Сайт: Marlin
- Ключевые особенности: Поддержка большого количества машин, высокая совместимость, широко используется, часто обновляется
- Совместимость: Практически все 8-битные контроллеры и 32-битные платы контроллеров
- Требования: Список поддерживаемого Marlin оборудования
Вариант №2: Klipper

Прошивка Klipper — это многофункциональная и более новая прошивка для 3D-принтера. Главной изюминкой Klipper является ее способность выполнять вычисления на высокой скорости, что приводит к увеличению скорости 3D-печати. Прошивка Klipper может позволить вашему 8-битному 3D-принтеру работать со скоростью более 80-100 мм/с. Для этого используется дополнительный одноплатный компьютер типа Raspberry Pi.
Такие функции, как «smooth pressure advance» и «input shaping«, обеспечивают высокую надежность и качество 3D-печати. Она может работать на многих 3D-принтерах декартового и дельта-стиля, не требуя дополнительного оборудования (кроме Pi). Прошивка Klipper написана на Python, но с более простым кодированием.
Вам определенно стоит попробовать эту программу, чтобы получить лучшее качество печати и более высокую скорость.
- Сайт: Klipper
- Ключевые особенности: Позволяет печатать на более высоких скоростях, совместимость с OctoPrint, точное движение шагового двигателя, хорошо документирована
- Совместимость: Микроконтроллеры на базе Atmel ATMega, микроконтроллеры на базе ARM
- Требования: Raspberry Pi 3 или новее или SBC на базе Linux, например BigTreeTech Pi, BigTreeTech CB1, Makerbase MKS Pi; другие SBC на базе Linux тоже могут работать, но с разной степенью совместимости «plug-and-play» (список примеров конфигураций Klipper для различных материнских плат/3D-принтеров)
Вариант №3: Prusa

Прошивка Prusa — это модифицированная версия прошивки Marlin. Она настроена на работу с платами Einsy Rambo, которые поставляются с 3D-принтерами Prusa. Это означает, что прошивка совместима только с собственными принтерами Prusa, но она оснащена множеством удобных функций и регулярно обновляется.
Принтеры Prusa — одни из лучших 3D-принтеров, обладающие множеством фирменных функций, таких как поддержка печати несколькими материалами, выравнивание сетчатого слоя и драйверы TMC 2130. Эти функции выигрывают от прошивки, которая специально настроена для их наилучшей работы. Благодаря открытому исходному коду и бесплатности прошивки Prusa со временем становятся только лучше.
- Сайт: Prusa
- Ключевые особенности: Простота в использовании, хорошая документация и открытый исходный код.
- Совместимость: Плата Einsy Rambo
- Требования: 3D-принтер Prusa
Вариант №4: Repetier

Прошивка Repetier разработана той же командой, что и популярное программное обеспечение Repetier Host. Эти два продукта отлично работают вместе и дополняют друг друга. Прошивка Repetier генерирует очень надежные и быстрые 3D-отпечатки и работает как с декартовыми, так и с дельта- 3D-принтерами.
Еще одна замечательная особенность заключается в том, что прошивка Repetier очень легко настраивается. Используя инструмент настройки прошивки Repetier, вы можете легко ввести свои специфические потребности и управлять множеством параметров. Кроме того, открытый исходный код и возможность бесплатной загрузки помогают регулярно обновлять и поддерживать эту прошивку.
Следует отметить, что, похоже, прошивка Repetier больше не находится в активной разработке. Вы все еще можете поднимать вопросы на GitHub Repetier, но последний крупный релиз — версия 1.0.4 — вышел в июне 2020 года, так что это может быть не лучшим вариантом, если вы ожидаете постоянного обновления или добавления новых функций.
- Сайт: Repetier
- Ключевые особенности: Отличная документация, совместимость с досками на базе Duet, оптимизирован для использования с Repetier-Host, легкость настройки
- Совместимость: Линейка 8-битных плат, плюс RADDS (RepRap Arduino-Due Driver Shield)
- Требования: Любая плата RepRap на базе Arduino с объемом флэш-памяти не менее 64 кБ
Вариант №5: RepRap

Прошивка RepRap, изначально разработанная для платы-контроллера Duet, была одной из первых, поддерживающих 32-битные платы. Вы можете легко обновить прошивку, просто внеся несколько изменений в файл конфигурации с помощью SD-карты. Существует также отличный онлайн-инструмент для настройки, который поможет вам определить или обновить файл конфигурации прошивки.
Одним из ограничений является то, что прошивка RepRap работает только на некоторых платах, в частности на тех, которые используют 32-битные чипы AVR. Настройка прошивки RepRap может быть пугающей, особенно для тех, кто не знаком с общим процессом. Однако если у вас хватит терпения прочитать документацию (и обратиться за помощью, если это необходимо), то возможности, которые она предлагает, вполне стоят вашего времени.
- Сайт: RepRap
- Ключевые особенности: Высокая модульность, веб-конфигурация и управление
- Совместимость: Duet, RADDS, Smart-RAMPS
- Требования: Список поддерживаемого RepRap оборудования
Вариант №6: Smoothieware

Написанная для контроллера Smoothieboard, Smoothieware — это еще одна прошивка, предназначенная для 32-битных плат. Smoothieware — это многоцелевая, многофункциональная программа, которая была разработана с учетом производительности. Она также позволяет выполнять огромное количество пользовательских настроек, включая возможность добавления дополнительных шаговых двигателей и конфигурирования платы для лазерной резки или фрезерования с ЧПУ.
Как и в случае с прошивкой RepRap, Smoothieware распространяется на очень небольшое количество плат, основными из которых являются Smoothieboard и Azteeg X5 Mini. Сообщество пользователей и разработчиков также относительно новое и небольшое. Но благодаря отличной документации эту бесплатную прошивку с открытым исходным кодом легко изучить.
- Сайт: Smoothieware
- Ключевые особенности: 32-битная совместимость, простая и гибкая настройка, поддержка лазерных резаков и фрезерных станков с ЧПУ
- Совместимость: Smoothieboard, плата R2C2, Azteeg X5 Mini
- Требования: Контроллеры/основные платы Smoothieboard, но за некоторыми исключениями; однако, чтобы избежать проблем с совместимостью, рекомендуется использовать только оборудование Smoothieboard







