Cool project idea! I have a few ideas for you:
I wrote a Linux driver for the proprietary Lenovo 01AX745 NFC module (based on a PN7150 / PN548/C2). That module is connected via I2C and GPIO directly to the SMBus of the CPU, instead of USB. Honestly this implementation is very Linux- and NXP NCI-specific, not sure how it would help you with your Mac.
- Show off USING your implant! 🎥 - #193 by StarGate01
- Unsupported nfc device in lenovo T470 · Issue #455 · nfc-tools/libnfc · GitHub
- Unsupported nfc device in lenovo T470 · Issue #455 · nfc-tools/libnfc · GitHub
- GitHub - StarGate01/ifdnfc-nci: PC/SC IFD Handler based on linux_libnfc-nci
Instead of poking around in the I2C / SMBus of your system (which required kernel driver development), I much more recommend using USB and using the standard CCID protocol, to expose the USB reader to PC/SC. MacOS already includes PC/SC support via an Apple fork of pcsc-lite and libccid. If you have an internal USB port or a spare NGEF slot, you can add a stripped down existing reader.
If you want / have to engineer a custom hardware module, I recommend using a NXP chipset which already has the USB and CCID firmware in place, or at least reference firmware to provide CCID. Examples include the the PR533, however that one is not recommended for new designs. A more modern and flexible option used by e.g. digital logic for their readers is the PN7462, which requires firmware loading. Another option is the NXP PN7642.
- USB NFC Integrated Reader Solution | NXP Semiconductors
- PN7462 Family | NFC Cortex-M0 low-power microcontroller for access control | NXP Semiconductors
- Best-in-Class NFC Frontend with Integrated MCU | NXP Semiconductors
- EdgeVerse™ NFC Readers | NXP Semiconductors
- https://www.d-logic.com/pc-sc-smart-card-nfc-readers-writers-pc-sc-zero-series/#PCSC-Zero-models-specification
MacOS has the issue that it does not implement NFC FIDO over PC/SC, so it requires some kind of FIDO bridge. Either use a software solution like FIDOk by @BryanJacobs , or use my CTAP bridge on external hardware (that one requires a Linux kernel), I recommend the Orange Pi Zero 2W, since it comes with two USB interfaces.
- GitHub - StarGate01/CTAP-bridge: FIDO2 PC/SC CTAPHID Bridge
- GitHub - BryanJacobs/FIDOk: Kotlin/Multiplatform FIDO Platform implementation suitable for use in many contexts
Molex has some nice sheet antennas which come with matching parameters, and in various sizes and ferrite configurations.