Serial sending once, printing only once

i doubt these comments will fix your problem, but the code has some unnecessary code

in RX

  • there's no need for "newData" since showNewData() is only called when a message is received
  • receivedChars is unused
  • does radio.read() return the # of bytes received and does a NULL need to be appended to message[] before being printed?
  • should showData() do println() instead of write()?

in TX

  • would readBytesUntil() replace recvWithEndMarker(), eliminating any possible bugs in that code?
  • again, is there a need for "newData"?
  • should radio.write() be given the length of the string in received chars, not the length of the buffer?