Haven't we all wanted to make a copy of an NFC chip on the fly but couldn't because there was no handy device small enough to carry around all the time? This small project, in the form factor of a business card, is compact enough to fit in a wallet.

It uses the PN7160 from NXP to read, write, and emulate NFC chips, with the ESP32-S3 controlling everything over I2C. The code for this is in progress, but as I am currently writing my master’s thesis, I don't have much time to work on other things. Additionally, the NFC antenna may not be perfectly tuned as I have no prior experience in RF design.

For the UI, there are three buttons and three LEDs. However, I plan to expand this in future versions to include a monochrome display and more buttons. As the project grows, I will likely add a micro-SD card to store copied NFC chips.

At the moment, all programming is done through a USB-C port using the USB functionality of the ESP32-S3. In future versions, I intend to remove the USB-C port and program (and charge) the device through pads on the bottom side.

The entire card (with the USB-C port but without the battery) is 4.2mm thick. Without the USB-C port, it shrinks to 3.35mm, and if I had used the buttons I initially wanted (but didn't have at the time), it would be 1.9mm. So, adding a 1mm thick battery results in a device thinner than 3mm.


Future Improvements:

  • remove the USB-C port to save precious space
  • replace the thick buttons with thiner ones, to, once again, save space (the new ones are only 0.45mm thick)
  • adding a super thin lipo battery (GM251534 or PGEB016144 from powerstream)
  • adding a monochrome display to have a more intuitive UI
  • clean up the schematic

Mistakes I made:

  • the THT parts of the USB-C port are thicker than the PCB and stick out of the bottom of the PCB
  • probably something is wrong with the matching/filter circuit of the NFC antenna