I should say that the setup was custom PCB with E310 module running 0.8 and an Arduino connected on its serial1 (TX/RX).
The code was exactly as the demo (I think it was yours) online where it sent a number and the Arduino added 1 and sent it back.
I used the code exactly for tested the previous version and we moved to a new PCB with 3 serial ports (one RS485) connected directly into (RS485 through an interface IC) serial1, 4 and 5. The previous PCB had a mux to use all 3 ports on serial1 (used a photon versus the new electron).
Everything tested perfect. Then, due to fit reasons and the fact that the electron has 3 distinct ports, we dumped the mux and when direct to the ports.
I used the exact same code but added the serial4 and serial5 includes (kept the particle include). Only serial4 functioned for some reason and we chased our tails for a couple of days.
Then, we took the demo board and ran the old photon straight into the 3 ports with the new code (no particle include) and it worked. We figured there was some connectivity or hardware issue.
I then took a demo board (versus the arduino) and tested the new code (no particle include) and the PCB worked.
I apologize for the long story but figured it would be less misleading and more indicative of the confused state of the testing process.
In the end, lots of moving parts and we are backing up now to test in a more linear fashion. I haven’t gone back to my original test setup and tried to remove the include or use an Arduino yet. I am going to try and do that today as well.
Thanks again for the help. This is a great case study for documented test plans!