https://github.com/lancaster-university/microbit-dal/blob/master/source/drivers/MicroBitSerial.cpp#L649 `while((temp = getChar(mode)) != MICROBIT_NO_DATA && bufferIndex < bufferLen)` The order of the tests needs reversing. Similar to #201, which has been fixed. I'll make a PR.