Я не пишу ArduinoIDE :), а в Sming преимущественно асинхронаая модель - поставил калбек, ждешь данне. Но как видите пользователи все равно любят "замораживать" чип на долго, поэтому Ваше решение было бы очень кстати.
И все же, как работает\что из себя представляет idle_arg? Это тоже процедура...