Про интервальную арифметику

хм… а зачем тут do {} while (false) ?
Я бы написал просто

#define printVar(x) Serial.print(#x);Serial.print('=');Serial.println(x)