I notice the pic doesn't have a crystal. I don't know if PIC has this problem, but AVR chips running off internal clock sometimes fail at UART communication because the internal oscillator is so far off that the timing is wrong.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
I notice the pic doesn't have a crystal. I don't know if PIC has this problem, but AVR chips running off internal clock sometimes fail at UART communication because the internal oscillator is so far off that the timing is wrong.