The UprintC component uses the uprintf() function. The MSP430 libc provides uprintf(), which can be trivially created for any other platform. The benefits of uprintf are: * No internal buffer; data are written as the format string is parsed. * By using a pointer to a putc() function, the function is usable for multiple UARTs, when appropriate. An example of using UprintC is shown below. configuration AppC { ... components PlatformUartC as UartC; AppP.UartResource -> UartC; AppP.UartByte -> UartC; components new UprintC(); AppP.Uprint -> UprintC; UprintC.UartByte -> UartC; ... } module AppP { ... #define cprintf(fmt, args...) uprintf(call Uprint.uptr(), fmt, ## args) ... cprintf("Hello, world!\r\n"); ... }