Two questions......first, does anyone other than the original author actually know how the exponential smoothing works related to the programming side of the system(both main and program track)? Second, the example for the timing change was obvious for the read side(since you showed an example of the code), but not so obvious on the write side.......can you post some of the modified code you did? I use the ACK timing of 3 with the IBT-2 MB boards (use BTS7960 chips), and I have no problem reading or writing QSI indexed CV stuff, or NCE and TCS non-sound decoders. BUT I cannot read the simple, non-indexed CV stuff from a LOK Sound Select decoder at all.....I haven't tried any indexed stuff. Also, with the standard unmodified code and the original type MD shield, I have no problem reading ALL the CV stuff in QSI and LOK Sound. That leaves me to believe that the timing isn't the problem, but rather the algorythm for the smoothing.......just a guess. I wonder how necessary the smoothing stuff is, and if it chould be replaced with a simpler piece of code, or some simple hardware to smooth the current sense.