I'm working on a NFC study. My development environment is as follows.

I connected the PN532 NFC to my raspberry pi using i2C, referring to the link below. http://wiki.sunfounder.cc/index.php?title=PN532_NFC_Module_for_Raspberry_Pi

Since then, when I contacted the plastic tag that was bundled with the PN532 NFC, I have received something as follows.

enter image description here

What I want is the PN532 NFC in my raspberry to be the tag, and the android phone to be the reader. I've run several examples provided by libnfc and nothing happens in the android app (nfc-tools). (Of course, if you contact Android with the round plastic tag that is included in the bundle, it will read something.)

I have some questions in this situation.

  1. Does my PN532 NFC module work with an NFC tag?

  2. Is there a sample code or reference site that can operate the PN532 NFC module as the NFC tag?

  3. Do you have any android app to recommend when developing RPI-based NFC?

I'm currently only aiming for communication. So I just need to pass the data on the raspberry pi and receive the data on the android phone.

I hope there is someone who can help me. Note that the language uses C.


@tlfong01, Thank you for your reply. Have you ever used another NFC module? I'm thinking maybe my NFC module is a problem.

Below is my clearer situation. I must operate the Raspberry Pi with the NFC Tag.

What I want is raspberry pi to act as NFC Tag, like a credit card. When I touch the NFC module on the raspberry pi with the Android phone, a particular app is executed (such as YouTube, for example).

my development environment is as follows. - LG V30 - raspberry pi 3 B - raspbian : 2019-07-10-raspbian-buster-lite - NFC : PN532 module (https://www.sunfounder.com/pn532-nfc-module-for-raspberry-pi.html)

I've wired the raspberry pi and PN532 Module with i2c and proceeded according to the guide below.


I performed nfc-pool as in the guide above, and it worked well when I contacted my credit card. But I'm trying to get my raspberry pi to work with an NFC Tag like a credit card.

So I tried doing nfc-emulate-tag among the samples provided by libnfc. As a result, the following error occurred.

pi@raspberrypi:/proc $ nfc-emulate-tag nfc-emulate-tag uses libnfc libnfc-1.7.1-223-gf8b2852 NFC device: _PN532_I2c opened nfc-emulate-tag will emulate this ISO14443-A tag: ISO/IEC 14443A (undefined baud rate) target: ATQA (SENS_RES): 00 04 * UID size: single * bit frame anticollision supported UID (NFCID3): 08 ab cd ef * Random UID SAK (SEL_RES): 09 * Not compliant with ISO/IEC 14443-4 * Not compliant with ISO/IEC 18092

Fingerprinting based on MIFARE type Identification Procedure: * MIFARE Mini 0.3K * SmartMX with MIFARE 1K emulation Other possible matches based on ATQA & SAK values: NFC device (configured as target) is now emulating the tag, please touch it with a second NFC device (initiator) error libnfc.bus.i2c Error: read only -1 bytes (265 expected) (Input/output error). nfc_target_init: Success nfc_target_emulate_tag: Success error libnfc.bus.i2c Error: wrote only -1 bytes (10 expected) (Input/output error). error libnfc.driver.pn532_i2c Failed to transmit data. Retries left: 2. error libnfc.bus.i2c Error: wrote only -1 bytes (10 expected) (Input/output error). error libnfc.driver.pn532_i2c Failed to transmit data. Retries left: 1. error libnfc.bus.i2c Error: wrote only -1 bytes (10 expected) (Input/output error). error libnfc.driver.pn532_i2c Failed to transmit data. Retries left: 0. error libnfc.driver.pn532_i2c Unable to transmit data. (TX)

Then my PN532 module wend dead.

I checked where the error came from and it's happening in "nfc_target_init. This function is described as "Initialize NFC device as an emulated tag."

I am looking for anyone who has tried NFC Tag using raspberry pi with PN532 or anyone who can advise me about this situation.

I am grateful for your enthusiasm Thank you.

  • Hi @chacha, Welcome and nice to meet you. Your question is a little bit confusing. Let me summarize: (1) What you have successfully completed is "Rpi controlled I2C NFC module reading the tag." (2) Now what you want is "Rpi controlled PN532 NFC module to be tag, and android phone to be reader". Let me do some brainstorming: (a) Let Android phone use a BlueTooth serial app to talk to a cheapy Bluetooth serial module, which is connected to the PN532 module which talks SPI/I2C/UARTserial. Then you send AT/serial commands to BT module which relays your commands to control PN532 module. / to cont.
    – tlfong01
    Feb 18, 2020 at 6:07
  • In the above gang of three config, (a) You don't need your old friend Rpi, (2) BT module can stay perhaps 10+ feet wireless from Android, and PN532 module can be 200+ feet serial wired from BT module. Another config is to let Rpi talk to PM532 module using SPI, and use WiFi etc to talk to Android phone. Just quick and dirty brain storming suggestions. Cheers.
    – tlfong01
    Feb 18, 2020 at 7:00
  • References: AliExpress SunFounder US$28 NXP PN532 3V3 SPI/I2C/UART NFC Module for Rpi: (1) Datasheet: sunfounder.com/pn532-nfc-module-for-raspberry-pi.html, (2) Tutorial: wiki.sunfounder.cc/…
    – tlfong01
    Feb 18, 2020 at 7:01
  • 1
    Hi @tlfong01, Thanks for the quick answer. Sorry that the question is not clear. As you understand, what I want is the RPI PN532 NFC module to act as an NFC tag and the android phone to act as an NFC reader. My current project is not considering Bluetooth, and should only use NFC. When this communication is complete, I will work on my post-project work. What I need is to make the RPI PN532 NFC module an NFC tag and receive that tag in the Android NFC-tools App. I'm using an app called NFC-tools in the store without creating an android app. Thank you.
    – chacha
    Feb 18, 2020 at 7:52
  • 1
    @tlfong01, I added my situation to the original to clarify my question. If you have experienced or know, please help me. Thank you.
    – chacha
    Feb 20, 2020 at 9:16


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.