I am trying to debug why my Pi 3 is not able to communicate with PN532 NFC breakout.

I have a couple of library used to test it (libnfc, nfcpy, and NPM PN532), I am able to test these libraries to be working in Raspberry Pi 1 A/B+ But, when I use the same SD card in my Raspberry Pi 3, it is not working. I'm pretty sure that all of the configurations are not changed when I switch the SD card back and forth.

Does anyone encounter this error in their new Raspberry Pi 3?


Error in libnfc:

pn53x_check_communication: Success
error   libnfc.driver.pn532_uart    Unable to transmit data. (TX)
lt-nfc-poll: ERROR: Unable to open NFC device.

nfcpy: Keeps idling in this message:

[nfc.clf] searching for reader on path tty:AMA0:pn532

NPM PN532: Keeps idling in this message:

debug: [frame-emitter] listening to data
debug: [hsu] Initializing serial port...
debug: [hsu] Serial port initialized.
info: [pn532] Configuring secure access module (SAM)...
debug: [pn532] Sending buffer: <Buffer xx xx xx xx xx xx xx xx xx xx>
debug: [hsu] Waking up PN532...
  • Is this the AdaFruit breakout board? Apr 9, 2016 at 7:51
  • Yes it is the Adafruit NFC breakout board
    – kelvien
    Apr 9, 2016 at 12:11

2 Answers 2


I have solved this by this information: Reference: link

The Broadcom UART appears as /dev/ttyAMA0 under Linux. There are several minor things in the way if you want to have dedicated control of the serial port on a Raspberry Pi.

UPDATE: The raspberry pi 3 has changed things around a bit: ttyAMA0 now refers to the serial port that is connected to the bluetooth. The old serial port is now called ttyS0. So if you have an RPI3, everywhere you see "ttyAMA0" below, you should read "ttyS0".

Although this is solved, examples in libraries such as: libnfc, and nfcpy still does not work because they still reference ttyAMA0 the way it is.


As I just explained in this thread.

Set pn532_uart:/dev/ttyS0 instead /dev/ttyAMA0 in /etc/nfc/libnfc.conf. libnfc may not be updated to know and work with the new serial port ttyS0.

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.