I recommend using Flush as soon as you open the port to make sure there’s no data left to be read there.
Event BeginPlay -> Open Serial Port -> Branch(True) -> Set Arduino -> Set WriteLineEnd -> Flush
Also use flush after Read Line. Just to make sure you won’t get the rest of what was not read in this call when you read it the next time.
By setting WriteLineEnd you’re just affecting the PrintLine function from the plugin, which you seem to not be using.
But those might not be the problem yet. What’s your loop frequency in Arduino? Do you use sleep to slow it down a bit? Is it receiving the whole “snd” string at once? It could be reading so frequently that it might be getting it in pieces.
I’m asking a lot of questions because those are the ones I ask myself when something isn’t working. To communicate with Arduino exchanging a lot of data is really cumbersome without some sort of protocol, because data might come in pieces all the time.