Report as inappropriate

Realize also that Marlin doesn't implement the entire PID algorithm. Nor does Sailfish. It seems that the AVR 3DP firmwares all implement some subset of PID. Thus, experience with tuning PID in one firmware doesn't necessarily carry over well to a second firmware. This is definitely the case between Marlin and Sailfish. In Sailfish, the I term is effectively wound up faster. (I believe the same is done in a couple of the RepRap firmwares. Keep in mind that RepRap Gen 3 and Gen 4 electronics were used both by the RepRap world and MakerBot and they all shared the same firmware. The MightyBoard firmware was a port of the Gen 4 RepRap firmware and the PID implementation was not changed. I believe the same is true of Teacup and a couple of the other firmwares which similarly were branches of the Gen 4 firmware.) Marlin didn't start with Gen 3 or 4 as its starting point and ended up with a different implementation of PID.

I cannot lay my hands on it, but Ryan Carlyle did a nice study a while back of some of the 3DP firmware PID implementations (Sailfish/MakerBot, Marlin, Repetier, Smoothie). It's his findings that I'm basing my statement on about Marlin's PID implementation being both a subset of PID and different from that in Sailfish. I'm most definitely not a PID expert.