I am trying to using many libraries, and considering using more, and recently learrned that some of them might not work together, especially ones which using same ports, timers etc...

So, how can I learn if any two of them are compatible or not? Can I understand it by checking their source code or datasheet? I could not understand much from NewPing source code to be fair..

Can we just say any library which is based on same hardware are not compatible? Then we could just understand from the description? Some functions have explanations wiith them(like Wire or attachInterrupt function), but some functions or libraries needs further inspection to find out.(SoftwareSerial problems..)

So basically, is there a general approach or technique which helps?

Thanks...