Firmware Choice: Marlin vs Repetier vs Other 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 &amp; 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.
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