Troubleshooting and FAQ
PN7160 MINI V1 -- I2C
Start with power and wiring, then isolate NCI communication, controller configuration, RF field generation and tag interoperability.
connectNCI(), configureSettings(), configMode(), startDiscovery(), tag activation or application data exchange.1. Symptom matrix
| Symptom | Likely causes | Checks and action |
|---|---|---|
| No power indication | No VCC, reversed connector, open ground | Measure VCC at the six-pin host connector and confirm ground continuity. The dot beside the connector marks Pin 1 (SDA); verify the signal order. |
| I2C bus held low | SDA/SCL swapped, connector reversed, pull-up conflict, module in reset, damaged host pin | Disconnect other bus devices. Check that SDA/SCL return to approximately 3.3 V when idle. Each signal already has a 4.7 kΩ pull-up; account for any additional host-side pull-ups. |
| No response at 0x28 | Address pads changed, VEN low, bad wiring, startup timing | For the default address, leave both ADR0 and ADR1 open (0). If either pad is soldered (1), use the corresponding address from I2C address selection. Pulse VEN, wait for startup and run the PN7160 NCI initialization sequence. |
connectNCI() fails | Power/reset/I2C/IRQ problem or stale controller state | Call Wire.end(), drive VEN low, restart Wire, drive VEN high, wait, then retry at a limited rate. |
configureSettings() fails | Wrong controller selection, wrong power preset or NCI state | Use the four-argument constructor with PN7160. Confirm that the power preset matches VCC. |
| Initialization passes but no tag is detected | No antenna, wrong RF connector, both antenna paths connected, antenna mismatch, power preset mismatch, metal detuning | Connect exactly one supplied or supported antenna, preferably through antenna connector 2 (1.0 mm 2-pin); remove nearby metal and test with a known NFC-A card. |
| Read distance is short or orientation-sensitive | Small antenna, tag size/type, metal, cable loop, enclosure or antenna mismatch | Test in free space, keep the tag parallel and compare against the read-distance reference for the same antenna and card type. Retest in the final assembly. |
| Tag is detected and immediately lost | Supply droop, RF detuning, application reset loop, protocol-specific presence check | Log supply and IRQ, distinguish RF loss from software reset, and capture the complete serial sequence. |
| One card works but another does not | Different NFC technology/protocol or antenna coupling | Log technology and protocol. Test NFC-A, ISO-DEP and ISO15693 separately with known samples. |
| Tags are read but no status LED changes | The standard DetectTags example reports through Serial Monitor | Check Serial Monitor at 115200 bit/s. This example does not control the host board's status LED. |
| Works after reset but not after cold power-up | Supply sequencing, insufficient startup wait or host pin state during ramp | Log the failing software stage, measure VCC before and after startup with the available meter, verify VEN/IRQ logic states and check the startup delay. |
2. 3.3 V setup checklist
- VCC connected to a stable 3.3 V source.
- Common ground between host and module.
- SDA GPIO8, SCL GPIO9, IRQ GPIO4 and VEN GPIO5 on the supplied ESP32-S3 example.
- 3.3 V logic on SDA, SCL, IRQ and VEN; do not apply 5 V to these signals.
- 7-bit I2C address 0x28 with both ADR0 and ADR1 solder pads open (0).
- Recommended I2C clock: 400 kHz. Apply the same setting after restarting the bus.
- Four-argument PN7160 constructor.
setPn7160FixedVbat3V3(true)beforeconfigureSettings().- A known-good antenna and NFC-A/MIFARE test card.
The standard package includes 50 × 40 mm and 25 × 10 mm antennas with 10 cm leads; a six-pin host cable is not included. A 100 × 160 mm antenna is available separately. The read-distance reference covers all three antenna sizes with the production module configuration.
3. Frequently asked questions
Which I2C clock should I use?
Use 400 kHz for normal integration. Standard-mode at 100 kHz is also supported and can help diagnose wiring or timing issues. Keep SDA/SCL wiring short and apply the same clock setting after restarting the bus. See the I2C integration requirements.
Can I use a generic I2C scanner?
It can be a wiring clue, but it is not the final functional test. PN7160 communication is IRQ/NCI driven and controller state affects when data is available. Use a complete NCI connection and firmware-version read to confirm operation.
Do I need external SDA/SCL pull-ups?
Normally no. SDA and SCL each have a built-in 4.7 kΩ pull-up to 3.3 V. Calculate the combined resistance when the host or another bus device also contains pull-ups. Do not pull these signals up to 5 V.
How do I change the I2C address?
The board labels are ADR0 and ADR1. An open pad selects 0; bridging its two contacts with solder selects 1. Both pads are open by default, selecting 7-bit address 0x28. Disconnect power before soldering, then update the host software and power-cycle the module. See the address table and soldering instructions.
Can I power the Mini V1 from 5 V?
Yes. The VCC input operating range is 3.3–5.5 V at the module connector, including supply tolerance and ripple; do not exceed 5.5 V. The signal pins remain 3.3 V logic. Select the software power preset that matches the actual supply. Reserve at least 300 mA of source capacity for the module at its connector; a 500 mA or higher-rated source provides additional margin. See the power-supply requirements. The quick-start guide uses the 3.3 V configuration.
Why does the example class say PN7150?
The library retains its upstream class/header name for compatibility. Pass PN7160 as the explicit device selector.
Can the read-range number be guaranteed?
The published read distances are maximum measured reference values at 5 V, using antenna connector 2 (ST1.0, 1.0 mm 2-pin), a 10 cm antenna lead and a card held parallel to the antenna. The test cards are an 85 × 55 mm ICODE SLIX2 ISO/IEC 15693 card and an 85 × 55 mm MIFARE S70 PVC card. These distances are not a guaranteed minimum for every card or installation. Actual distance depends on the antenna, card/tag, orientation, supply, enclosure and nearby metal. Check performance in your final assembly.
How should I protect the module against ESD?
Handle the bare module with ESD precautions and keep it in ESD-protective packaging when not in use. No module-level ESD rating is specified. Provide protection appropriate to the completed host product, particularly for exposed connectors.
4. Information to include in a support request
- Module front/back photos and hardware marking.
- Host board and operating-system/core version.
- Exact wiring table and measured VCC.
- Antenna size, lead length, RF connector and installation photo.
- ADR0/ADR1 pad state and configured address.
- Configured I2C clock and host cable length.
- Library version/commit and complete sketch.
- Full serial log from power-up through failure.
- Tag/card type and whether it works with another reader.
- Whether the failure occurs on cold power-up, reset or both.