printf не годится, а вот snprintf - маст хев. Просто тупо
лаконичнее itoa() и компании, с рукопашными выравниваниями полей и
прочей мутью. Если это болтается где-то на нижних уровнях
приоритетов RTOS то наглядность важнее.
Это моё личное предвзятое мнение. Любое совпадение с реальностью является случайным и непреднамеренным.