This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

NFC Write Not Working SDK 17 after working consistently for weeks

I am currently trying to test the writable ndef message example on my nrf52 development board. I have gotten it to work so many times in the past weeks but now it seems when I use NFC tools to write a message to the nfc tags I get the error on nfc tools, "write error". I am really confused as to what the issue can be hand have tried almost everything suggested in the forums to no avail. I will provide a screen shot of the appearance of this error message. 

The code is literally the exact writable ndef message example which is why I left it out. Just wondering if any one has some possible solutions or approaches to try. Thank you.

  • When I erase the chip I do it after connecting JLink, so I connect the JLink in target, then I hit erase all under target, then I hit download (project name) under target. I started doing it this way once trying to program the custom board through J link using the development board JLink pins. I don't know if this reveals anything as far as errors in the system but I reuploaded the writable ndef message example code code to the board and used putty to debug through com port and I get this. When I approach the tag it'll read tx start a bunch of times and then once I get the error that NFC write failed on my phone I move my phone slightly away from the tag and it reads reinitialize. Then the process repeats again when I try to rewrite the nfc tag message. So from my perspective it is clearly trying to start the NFC write but nothing is happening and then it tries to reinitialize to attempt to rewrite again. 

    Also, my custom code, which incorporates nfc writable ndef message, also serializes the boards advertised name with the data in the device address registers of the FICR. It merely reads these registers and uses a format specifier to put the numbers in these addresses into the advertised name of the device when the device advertises its name. These addresses havent changed numerically at all so I don't have a reason to believe the FICR has changed at all. 

    Also, these issues started to arise when I started running the code on a BL652-SC based custom board, which is supposed to contain the same nrf52 processor as the development board, the nrf52832, on this custom board there is an NFC antenna header which is configured in the same exact way hardware wise as the antenna header on the development board and uses Laird antennas which look almost identical to the nordic semi antennas. Do these Laird boards require alterations in software that make them different to the development boards as it relates to NFC because the other functions of the code still execute perfectly on the hardware?

    I had the code working on my development board and then once I interchanged antennas to diagnose why it was not working on the custom board and then switched the antennas back I found it was no longer working on development board. My code still works on another colleagues development board who has not experimented with these other boards. 

  • Hi

    peterg0313 said:
    These addresses havent changed numerically at all so I don't have a reason to believe the FICR has changed at all. 

    That makes sense, I expect the issue to be something else. 

    peterg0313 said:
    Do these Laird boards require alterations in software that make them different to the development boards as it relates to NFC because the other functions of the code still execute perfectly on the hardware?

    They shouldn't. The higher level API doesn't really care what antenna you have connected, but if it's not tuned properly you could get into issues. 

    peterg0313 said:
    I had the code working on my development board and then once I interchanged antennas to diagnose why it was not working on the custom board and then switched the antennas back I found it was no longer working on development board.

    So essentially just the act of removing the antenna and putting it back on the kit made it not work? 

    Or did you also try the Laird antenna on the nRF52DK?

    Best regards
    Torbjørn 

  • Sorry for taking so long to get back I had to travel for work. Yes I looked at Lairds website more closely and they have the following information specified. According to them, they specify that 

    This would explain why as soon as I tested on BL652 boards things stopped working on NFC write, NFC read still works.

    Do you think there would still be anyway to make NFC write work on the Laird boards by bypassing something with the code or do you think given this it is pretty much unlikely that BL652 will ever run nfc write?

    For now, if there is no other way to bypass this on lairds BL652, we may have to design our boards without the NFC feature  since we for now are too strapped on time to change to mrf52832 mcu before sending everything to production but depending on how important the feature is to everyone else at where I work I may have to change to the actual MCU in the next design generation. 

  • Hi 

    In the early days we only had library support for the simpler Type 2 (read only) tags, and only added support for Type 4 tags significantly later. 

    Quite possibly Laird based their SmartBASIC interface on our drivers, and as such they adopted the same limitation, without updating them later when we added support for Type 4 tags. 

    In other words I am quite sure that what Laird is referring to here is a software limitation in their drivers, not a hardware limitation in the module. 

    I would suggest contacting them about this to confirm, but I can't really see how the hardware would be made to support read only. If the antenna is properly tuned for reading it should support writing as well. 

    Best regards
    Torbjørn

Related