tl;dr - i've added a patch to smoothieware that fixes/mitigates the re-arm temperature/pid problem.

tl;dr - i’ve added a patch to smoothieware that fixes/mitigates the re-arm temperature/pid problem. you can get it here - https://github.com/tomseffect/Smoothieware/blob/edge/FirmwareBin/firmware-rearm-latest.bin?raw=true or here https://www.dropbox.com/s/qasjp0h3gluoagz/firmware_rearm_filter_3_decay4.bin?dl=0

i would love for anyone running smoothie to help test this, even if you are not using the re-arm board. i would like to make sure there are no regressions as well.
if you use this version, please make sure to re-auto-tune your PID (M303). it might not be necessary for non re-arm boards, but it would help make sure that is not an issue.

technical part:
the ADC on the LPC1768 is not a great one, i’m assuming that even with a properly configured board (using AVCC and not Vcc), without a choke - there is still some noise on any smoothieboard/azsmz/azteeg/mks-sbase/etc… which is why filters are implemented in src/libs/Adc.cpp
disregarding the oversampling (which in my testing showed no to minimal difference), there are only 2 filters implemented.

  • a median filter, for each 32 samples only the median 16 are used. it’s a pretty wide net…
  • an averaging filter, previous median values are summed and then averaged with the last 3 sums. having worked a little with RF equipment in the past, an averaging filter is not considered a great one for low/high frequency value changes - as high level noise tends to have the same weight as the good signals do. which throws off calculations. this effect gets amplified on the re-arm where the noise to signal ratio seems higher due to the previously mentioned hardware restriction (ramps…).
    so - i initially wrote a low-pass filter which was pretty accurate and responsive for the noise i was seeing, and it fixed the problem for me and everyone else who tried it. then @Ax_Smith-Laffin told me about the discussion on the same subject over at marlin 32bit’s github page. and while their low-pass filter solution is a bit simpler and less responsive than mine, i believe it to be easier read and to have better performance than my implementation. so i replaced my implementation with something similar. in practice - it seems to work just as fine.
    you can check out my very simple patch here - https://github.com/tomseffect/Smoothieware

short story long version:
i first encountered this problem on my re-arm board about 6 or more months ago. i posted on the smoothieware group and asked around, but although i could see people on the kickstarter page were encountering the same problem - no solution was mentioned.
i had little time back then, and it happened immediately after i had changed some electrical components - so those were my primary suspects.
i changed everything back and forth a few times, made some configuration changes, nothing worked. suspecting it might be something in smoothie’s PID implementation i took a look at that - and though i did not love it, i could not see a flaw that would cause this kind of a problem. i tried changing a few things around, but it made no marked difference. at a loss, i re-flashed an older edge version …presto gonzago… problem was gone.
so i let sleeping dogs lie (time constraints and all), and then @Ax_Smith-Laffin had the exact same problem, and i had some free time.
i took a different approach this time, and started taking a look at the data from the ADC, and it was immediately clear there’s a LOT of noise, i was amazed to see how much noise there was even on my setup which was working pretty much perfectly at the time.
so i took a look at smoothie’s ADC code and while filtering was utilized, it did not seem like the best solution to the problem (imo - of-course, others may think differently). i changed it (see technical part above), and it worked fine. i’ve had some people test it on all kinds of boards - re-arms, smoothieboards, azteegs, and an mks-sbase in every case either temps were more stable or just as stable as before.
since it might be a while before this gets merged (if ever - as i’m told), i’m posting my fork based on smoothie edge here. it’d really help to get your feedback (from use results) in the comments.