NFC Computer Unlocker


Direct copy from the Dangerous minds podcast webpage.
I thought this would be a good place to share it on his behalf. (with permission)

xNT NFC Computer Unlocker by Vicarious for DM-U

Posted on October 24, 2016 by c00p3r

xNT Tutorial : NFC computer unlocker

After finishing this project, you no longer have to worry about criminals who like shoulder surfing,
people who look over your shoulder while you enter your password.

Hardware parts needed:
• Arduino Leonardo Pro Micro (regular Leonardo also works but I’ve chosen the Leonardo
Pro Micro because of it’s small form factor)
• Computer
• Micro USB cable
• PN532 NFC R/W module
• Soldering iron and soldering materials
• Wires, wire cutter, wire stripper
• xNT RFID/NFC tag implant
• Heat shrink tubes
• Male and female headers
• Plastic enclosure to keep the hardware in (I used a Gameboy cartridge case)
• More NFC tags


Hardware preparation:

  1. On the Arduino Leonardo Pro Micro, solder male headers on GND, VCC, digital pins 2 & 3.
    For more stability I also soldered the male header pin in between on RST.
  2. To make it fit in the Gameboy cartridge case, I bent
    the male header pins 90 degrees.
  3. On the PN532 NFC R/W module, solder male
    headers on the I2C connectors. The PN532 module
    should come bundled with male headers for this
  4. Set the DIP switches on the PN532 module to I2C
    mode. 1: on, 2: off
  5. Attach the female headers on the male headers. Place
    the Arduino and the PN532 inside a plastic case, I
    used a Gameboy cartridge case for this project and
    made a small hole for the micro USB cable.
  6. Cut 4 wires to the right lengths and solder them to the
    female headers. Optionally add heat shrink tubes to the solder connections:
    a) From Arduino GND to PN532 GND
    b) From Arduino VCC to PN532 VCC
    c) From Arduino digital pin 2 to PN532 SDA
    d) From Arduino digital pin 3 to PN532 SCL
  7. Attach the micro USB cable to the Arduino
    Leonardo Pro Micro and your computer.

Software preparation:

  1. Download and install the Arduino IDE if you haven’t already.
  2. From within the Arduino IDE, download the PN532 library
  3. Go to and download the
    Arduino sketch. Opening the .ino file should automatically load the sketch in the Arduino
  4. From the Arduino IDE menu, choose the Arduino Leonardo under “Tools” → “Board”.
    Select the correct port under “Tools” → “Port”
  5. Upload the sketch to the Arduino, either from the menubar (Sketch → Upload) or the
    toolbar. If there have been no errors during upload, we are one step closer to finish the
  6. Open the Serial Monitor from the menubar (Tools → Serial Monitor) or the toolbar. In the
    lower right corner of the Serial Monitor window, set the baud rate to “115200 baud”.
    It should say “Scan a NFC tag” every 30 seconds.
  7. Hold an NFC tag such as the xNT RFID/NFC tag implant near the PN532 module and watch
    the Serial Monitor window for a 7 byte string containing the UID in hexadecimal characters
    (0-9, A-F). Mifare Classic tags have a 4 byte UID.
  8. Copy the UID string from the Serial Monitor window and paste it in the Arduino sketch,
    replacing the example UID string of “01 23 45 67” (4 byte UID) and/or “01 23 45 67 89 AB
    CD” (7 byte UID).
  9. Replace the texts “Hello, World!” and “Passphrase” with the text you want automatically
    sent to the computer.
  10. Save the edited sketch and repeat step 5 to upload the edited sketch to the Arduino
  11. Close the Arduino IDE application. Log off or lock your computer. Make sure the cursor is
    in the password edit box, then scan the xNT tag implant.
    If everything worked correctly, your passphrase should automatically be sent to the


It’s a great guide :slight_smile:

One thing I would say about that design is usual PN532 modules do not have headers soldered (at least in my experience) you will get a slightly better flush fit if you solder the headers with the pins on the backside :slight_smile:

Another thought if you set pin 2 to high (To act as a VCC) and move SDA and SCL to pin 3 and 4 you could use a single header and even directly solder the PN532 to the Arduino.


A while ago I made a more compact version, inspired by a facebook friend @FastBlinker



Interesting, haven’t thought of that :slight_smile:
I’ll try that next time I’m making one again

1 Like

And his version works :slight_smile:


Could I unlock my computer with the flexEM when it comes in?

You would need an LF reader
something like this

HiLetgo 125Khz EM4100 USB RFID ID Card Reader Swipe Card Reader Plug and Play with Cable First 10 Digit


If you wanted a project like the one this post is about you could duplicate it almost exactly with a 125kHz reader like this or this among others. You could also make it work with a off the shelf standard reader like in this project that I will get back to soon™. Or somthing like what @Pilgrimsmaster linked whick is fully of the shelf.


Thanks guys

1 Like

The flexEM contains a LF emulator chip, by default it’s programmed to emulate EM4100, but with a cloning device (proxmark RDV4 in combination with the ProxLF module is recommended) it can be programmed differently, to emulate an HID ProxCard or Indala.
At home I have a HID Prox reader, so a while ago I connected it to an Arduino with some breadboard wires and was able to read my xEM in HID mode.
Maybe this weekend I’ll spend some time writing another tutorial for the combination of Arduino Leonardo and HID Prox reader.

1 Like

hi i cant scan my chip. and if after ~50 attempts it turns out then it gives an error MAX_NDEF_RECORDS. nfc tools shows my chip supports NfsA, Mifare Ultralight and Ndef

So first off what chip do you have. What are you trying to read it with? That “error” sounds more write related than read.

I can’t say for sure, I ordered it for ebay.
Trying to read with pn532 module.
Collected everything according to the scheme, but the chip is read very rarely and with an error

works everywhere except for this project. maybe you need to write something on it? or the format is wrong? but the reader sometimes managed to read

Is it implanted?


Do you have the ebay listing handy?

Frequency: 13.56MHz
Chip: NTAG216
Standard and Protocol: ISO 14443A

It could be just bad coupling

Hahahaha, Are you sure you can’t give us more information…?

Is it something like this?

When did you implant it?