It was a hardware problem... I was using zener diodes every 50 or so to try to reduce the risk of ESD, but it was disrupting the signal.
@AlexOwen started
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.
It was a hardware problem... I was using zener diodes every 50 or so to try to reduce the risk of ESD, but it was disrupting the signal.