Rychu:
Prevents C# from sending unnecessary 255s but instead it resets my DUO every time I call
That's interesting because the general behaviour of PC programs ( my experience is with Python and Java) opening the serial port is that they reset the Arduino and it is essential to include a suitable delay to give the Arduino time to go through its reset process.
...R