No cost streams

Don't give up yet on that idea yet! :slight_smile: Keep the const's in there but change

    uart_write(_uart, &c[i], 1);

to

    uart_write(_uart, (char *)&c[i], 1);

If that all still doesn't work -- but it will eventually! -- dump the template and manually insert the 7

inline HardwareSerial &operator <<(HardwareSerial &obj, char *arg) { obj.print(arg); return obj; }
inline HardwareSerial &operator <<(HardwareSerial &obj, char arg) { obj.print(arg); return obj; }
inline HardwareSerial &operator <<(HardwareSerial &obj,  uint8_t arg) { obj.print(arg); return obj; }
inline HardwareSerial &operator <<(HardwareSerial &obj,  int arg) { obj.print(arg); return obj; }
inline HardwareSerial &operator <<(HardwareSerial &obj,  unsigned arg) { obj.print(arg); return obj; }
inline HardwareSerial &operator <<(HardwareSerial &obj,  long arg) { obj.print(arg); return obj; }
inline HardwareSerial &operator <<(HardwareSerial &obj,  unsigned long arg) { obj.print(arg); return obj; }