Skip to content
DerAndere edited this page Aug 21, 2020 · 113 revisions

Multi-axis Marlin firmware

Copyright 2018 - 2020 DerAndere

Multi-axis-Marlin firmware for multi-axis 3D printers, CNC machines and lab robots

Multi-axis-Marlin firmware for multi-axis 3D printers, CNC machines and lab robots (liquid handling robots, "pipetting robots"). Supports up to six (6) non-extruder axes plus tools (extruders / laser / mill / hobby servos).

Additional documentation can be found on the PipetBot-A8 project page that is part of the website by DerAndere. If you want to add support with more hardware or optimize compatibility with other software features, you are welcome to (re)base your changes onto the 6axis_dev branch and create pull requests.
Please test this firmware and let us know if it misbehaves in any way.

Volunteers are standing by!

Not for production use. Use with caution!

6axis_dev branch is based on MarlinFirmware/Marlin after the release of version 2.0.6 version (bugfix-2.0.x from 2020-08-19 https://github.com/DerAndere1/Marlin/commit/d3c51614760b87d4844b77f2459195ffc2cd9a62 or later)

Multi-axis-Marlin supports up to six non-extruder axes (NON_E_AXES) plus extruders (XYZIJKE or XYZUVWE or XYZABCE). Currently, only a subset of the Marlin G-code dialect is supported:

  • G1, G28, G90, G91, G92 (partially)
  • M17, M18, M43, M85, M92, M111, M114 (partially), M206 (partially), M502, M503

Axis names are:

NON_E_AXES Default axis codes
3 X, Y, Z, E
4 X, Y, Z, I, E
5 X, Y, Z, I, J, E
6 X, Y, Z, I, J, K, E

Example syntax for movement (G-code G1) with NON_E_AXES 6:

G1 [Xx.xxxx] [Yy.yyyy] [Zz.zzzz] [Ii.iiii] [Jj.jjjj] [Kk.kkkk] [Ee.eeee] [Ff.ffff]

Building Multi-axis Marlin firmware

To build Multi-axis Marlin firmware you'll need PlatformIO. The MarlinFirmware team has posted detailed instructions on Building Marlin with PlatformIO.

Credits

Multi-axis support for Marlin firmware is developed by:

DerAndere [@DerAndere1] - Germany
Garbriel Beraldo [@GabrielBeraldo] - Brasil
Olivier Briand [@hobiseven] - France
Wolverine [@MohammadSDGHN] - Undisclosed 

Multi-axis Marlin firmware is based on Marlin firmware The current Marlin dev team consists of:

Scott Lahteine [@thinkyhead] - USA
Roxanne Neufeld [@Roxy-3D] - USA
Bob Kuhn [@Bob-the-Kuhn] - USA
Chris Pepper [@p3p] - UK
João Brazio [@jbrazio] - Portugal
Erik van der Zalm [@ErikZalm] - Netherlands

Contributions:

Author Contact Contribution
DerAndere [DerAndere1 main developer of multi-axis support, idea, initial implementation, ASYNC_SECONDARY_AXES kinematics
Gabriel Beraldo @GabrielBeraldo : hardware debugging, bugfixes yielding first working prototype (fix for non-moving additional axes, fix EEPROM)
Olivier Briand @hobiseven testing, added experimental compatibility with different configurations, code review, FOAMCUTTER_XYUV kinematics
Wolverine @MohammadSDGHN added experimental compatibility with different configurations (BigTreeTech SKR Pro 1.1, Trinamic TMC drivers, StealthChop, sensorless homing)
MarlinFirmware @MarlinFirmware Marlin 3D Printer firmware

Licensing information

/**

  • Multi-axis-Marlin firmware
  • Copyright (c) 2020 DerAndere and other Multi-axis-Marlin
  • Based on:
  • Marlin 3D Printer Firmware
  • Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
  • Based on Sprinter and grbl.
  • Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
  • This program is free software: you can redistribute it and/or modify
  • it under the terms of the GNU General Public License as published by
  • the Free Software Foundation, either version 3 of the License, or
  • (at your option) any later version.
  • This program is distributed in the hope that it will be useful,
  • but WITHOUT ANY WARRANTY; without even the implied warranty of
  • MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  • GNU General Public License for more details.
  • You should have received a copy of the GNU General Public License
  • along with this program. If not, see http://www.gnu.org/licenses/.

*/

Clone this wiki locally