Originally Posted by pinoysw1mmer
carbon fiber seems to weaken nfc.
Carbon fiber is a lossy conductor, so it will reduce your NFC range. Thick cases are also problematical. You should consider using a thin plastic or rubber case. Or no case if NFC is important to you. Also orientation is also important, so the position that you hold the phone can help achieve a successful read.
The maximum coupling and therefore range is when the two antennas are parallel. So if you have trouble with a transponder (reader), hold your phone in direct contact with the NFC pad. Level, with the center of the battery door oriented over the pad and hold it stationary for a few seconds if necessary.
I can't think of anything plausible that you could do in software. Phones already use an efficient spiral loop antenna. About the only other thing that you can do is use an external antenna as you alluded to. This could be a solution for you provided that you are willing to not use your battery door and therefore lose your water resistance. If you have a good mechanical aptitude you could possible route the leads through the battery door to an external antenna with a water tight seal. But that would be outside the capabilities of most end users.
The easiest way to increase range is from the POS end, which isn't in your control. Each new generation of transponders are more efficient and tend to increase range. And thieves have been known to hack transponders with much higher, illegal power levels that can capture your NFC information from several meters.