Sending serial data but not receiving it

This is the problem. For some reason this statement never returns false even though data is being sent.

while(!(SoftwareSerialObj.available() > 0));

Solved. I had too many software serial ports listening. Switching to AltSoftwareSerial fixes it. I’ll be using an ATmega2560 from here on out to avoid this all together.

Only one software serial instance can listen at a time. See the Two Port Receive example.

I think that a Mega with its 3 extra hardware serial ports would make things easier and more reliable.

So the Software Serial ports are still listening even when nothing is being read or checked for availability?

“port” singular

Serial Input Basics - simple reliable non-blocking ways to receive data.