10

We are custom building a Cartesian 3D printer to be used in a production 3D printing environment, with the following requirements:

  • Intended Z resolution 0.13mm;
  • Dual extruders (primary + support material);
  • Four spools (two per material with y connector, perhaps add auto switch-over functionality later);
  • Camera;
  • Onboard 11" touchscreen for control & interaction, run by a Raspberry Pi 3;
  • Custom board based on ATMega2560 to control the printer;
  • Printer should gracefully handle conditions like "out of material", etc.

Question: How to select firmware?

Are there notable differences between the primary firmware options (Marlin/Repetier) for this setup? From the google code groups, I understand the Repetier has a much cleaner code base, and apparently gives smoother physical performance. Yet, from what I can gather, 95% of the community uses Marlin - is that correct?

Given that this printer will have the Pi3 to control "higher functions", is it worth considering a compact firmware like Teacup?

Edit 12/April/2017:

For others looking: After much review, Klipper was selected as the most forward firmware - all kinematic calculations are done on the host computer, instead of on the microprocessor, resulting is significantly faster/smoother stepper movement.

Mtl Dev
  • 609
  • 2
  • 7
  • 19
  • You say the printer is intended to be _high end_, so what do you mean by good speed/resolution? Do you have any particular figures/ranges in mind? – Greenonline Nov 21 '16 at 20:14
  • So you have a custom controller board...you know you will need to heavily modify the firmware to get it working right? Anyway, I voted to close because you didn't specify what you were looking for in the firmware. All of them easily hit your standard goals at this point. – tjb1 Nov 22 '16 at 12:23
  • 2
    Besides that high-end printer and Atmega sound mutually exclusive to me, many if not all open-source firmware should work after proper configuration. The only exception is some rarely used printer mechanics, like SCARA – Mikhail Z Nov 22 '16 at 12:51
  • Thanks, I have modified Marlin and it is working on the custom board now. Just trying to understand if there is a significant difference between firmware options - aka is there a reason that a significant majority of people use Marlin over Repetier? – Mtl Dev Nov 22 '16 at 15:57
  • 1
    @MikhailZ FYI it eventuates that, if you use firmware that performs all the kinematic calculations on the host, then ATmega is more that sufficient: ~20% cpu usage @ 150mm/s. Physics quickly becomes the limiting factor, rather than the processor. – Mtl Dev Apr 12 '17 at 13:39
  • This can be a solution, but haven't you checked boards based on processors like STM32? In most cases they have enough capacity to handle all calculations even for more complex devices, like deltas. In any case, for production printer you may want to stretch your speed goal far beyond 150mm/s. – Mikhail Z Apr 12 '17 at 18:08
  • Just FYI 150mm/s @ 20% cpu, Klipper can run well over 400mm/s without maxing cpu. Appreciate the faster boards, though it just seems (to me) a much cleaner design (& faster) to pre-calculate on a host (RPi is order of magnitutude+ faster than STM32), & keep only real-time operations on the real-time hardware. – Mtl Dev Apr 12 '17 at 18:39

2 Answers2

8

Given that this printer will have the Pi3 to control "higher functions", is it worth considering a compact firmware like Teacup?

A few days ago I came across klipper.

It seems to do exactly that functionality split you mention

mogul
  • 193
  • 1
  • 5
  • Thanks for sharing, hadn't seen that, that is the kind of thing I am looking for. – Mtl Dev Feb 09 '17 at 21:44
  • 1
    Update: After significant review of Klipper, have found it to be excellent, first choice. The design (all calculations done on the host) is a significant step forward. – Mtl Dev Apr 12 '17 at 13:37
6

Your choice of firmware depends on a lot of factors, but to name a few important ones: features, your driver board (RAMPS vs Sanguinololu vs Gen..etc), and G-code support.

Smooth/quiet operation is dependent on the motors and the driver chip's micro-stepping capabilities. The way the firmware interfaces with the driver chip plays a very minor factor in that.

Check this page for a list of firmware, their capabilities and compatible electronics (driver board):

http://www.reprap.org/wiki/List_of_Firmware

Would be useful to check G-code support of various firmwares also:

http://reprap.org/wiki/G-code

Also, as a note, a lot of the community uses Marlin, but for a lot of the commercial printers, the code has been modified slightly to fit their needs.

There is no perfect answer to this. Check the links and compare against your needs. Marlin is the safest bet since it has the most support, though you may need to modify or reconfigure it slightly for your custom board.

0scar
  • 32,029
  • 10
  • 59
  • 135
Hong
  • 76
  • 1