NFC reader for the xNT (part one)

I’ve had my xNT NFC implant for a few months now and I’m very happy with it. The main thing I’ve used it for is opening my garage door. It was great to use it with an existing piece of commercial kit and get used to it, but I always wanted to build some custom things to use with it.

Some NFC readers

Some NFC readers.

The simplest way to get started was to find an existing NFC reader that I can interface with a microcontroller. A scratch-built reader will come in time, but for now this is the first step. I tried a few reasonably cheap NFC readers hoping that I’d find a gem amongst them. The ones that I tried are shown. There’s the (red) DLP Design DLP-7970ABP booster pack for the MSP430. This suits me as I’m a MSP430 user and may well use the TRF7970A to base my custom reader on. Next is the (blue) RC522 based reader I found on eBay. This was chosen just because the RC522 is a commonly used chip so there’s lots of sample code out there. Third the (green) YHY502. This is just something I found on eBay from China sorting by price. Lastly the (black) ID20-MFIA. I chose this as I’ve used the company’s ID-20 125kHz reader.

OK – so if you’ve stuck with me this far you will probably want to know how they fared! To be honest they were all fairly similar. They all required the implant to be right over the PCB antenna trace (not in the centre). The alignment had to be right so without rotating my hand or the reader it worked along two sides of the trace. Whilst the ID20-MFIA didn’t have a visible trace it behaved similarly. It was also more of a pain to use too. I tried to get a quantitative measurement of range but it was tricky. They could all just about read through a piece of 3mm acrylic. Just. In practice you would want to be closer than that. Ideally with as little as possible between you and the PCB. Not as good as I’d hoped.

However, two things give me hope that we can do better. Firstly, my Samsung Ezon SHS-2320 lock seems better than that. I generally place my implant right against the reader but it seems to read well and consistently. I’ll have to do a teardown soon.

Secondly there was this post by Mathieu Stephan on Hackaday. As you can see Mathieu’s made far more progress than me. He was also happy to share his results, including schematics and the values that worked for tuning his antenna. What an awesome guy.

Mathieu’s work on inductor-based readers got me poking around a bit and I stumbled over this ferrite antenna also from DLP Design. Whilst I intend to etch some boards and try out Mathieu’s design, I’m fairly time-constrained by two young sons. I thought it’d be worth seeing if this off the shelf antenna would do the trick.

Adding u.FL connector

Adding u.FL connector

Cutting PCB trace

Cutting PCB trace


There were a couple of things I needed to do to get this working. I had to cut the trace to the PCB antenna on the rear of the board. It’s a 4-layer board so lucky it wan’t on an internal layer. I also had to add the unpopulated SMT u.FL connector to the board (marked CN1).

DLP 7970ABP and FANT

DLP 7970ABP and FANT

Finally one cheap eBay u.FL to SMA (note not RP-SMA) cable and we’re sorted! So – how did it perform? Not too bad.

I don’t think it was ever possible to get a huge read range, but it’s definitely better. It will now just read through 5mm of acrylic and whilst it still operates better if oriented correctly with the implant it’s not quite as fussy. It’s a worthwhile improvement and if you’re making your own board it would definitely be worth basing it on a coil rather than PCB antenna.

There are some differences between the DLP’s and Mathieu’s designs. There’s still the Ezon to take apart. So I’ll keep going in my search for the perfect reader. Also, it might still be possible that the right (i.e. smaller) PCB trace is even better. I’m also working on the code for my first xNT project, so stay tuned…

Advertisements