Skip to content

Add pn7150 - #288

Merged
FoamyGuy merged 1 commit into
adafruit:mainfrom
TheFilipcom4607:add-pn7150
Sep 8, 2026
Merged

FoamyGuy merged 1 commit into
adafruit:mainfrom
TheFilipcom4607:add-pn7150

Conversation

@TheFilipcom4607

Copy link
Copy Markdown
Contributor

Adds circuitpython-pn7150 as libraries/drivers/pn7150, pinned at the 1.4.0 tag, plus a line in circuitpython_community_library_list.md.

It is a driver for the NXP PN7150 NFC controller. It reads NTAG/Ultralight, Mifare Classic, DESFire/ISO-DEP, ISO15693 and FeliCa, decodes and writes NDEF, and can emulate a Type 4 tag so a phone tapped on the board opens a URL. Single file, MIT, and it imports only core modules (busio, digitalio, supervisor, micropython, time), so it has no dependencies to resolve.

There is currently no PN7150 or other NFC reader driver in the bundle, so this is not a duplicate of anything here.

I built the bundle locally with circuitpython-build-bundles using the same arguments as build.sh, and the library builds clean:

lib/pn7150.mpy                        29000 bytes
examples/pn7150/nfc_scanner.py
examples/pn7150/example_write_tag.py
examples/pn7150/badge_reader.py
examples/pn7150/emulate_ndef.py
examples/pn7150/reader_and_card.py
requirements/pn7150/{requirements.txt,pyproject.toml}

Version 1.4.0 is picked up from the tag and stamped into __version__. The repo already uses adafruit/workflows-circuitpython-libs/release-gh to attach bundle zips to each release, and declares [tool.setuptools] py-modules in pyproject.toml rather than relying on autodetection.

Development happens on hardware, an iLabs Challenger RP2040 NFC, and the readme lists which tag types and technologies have been verified there. I will keep up with build-tools changes if any of them affect the library.

🤖 Generated with Claude Code

Driver for the NXP PN7150 NFC controller. Reads NTAG/Ultralight, Mifare
Classic, DESFire/ISO-DEP, ISO15693 and FeliCa, decodes and writes NDEF, and
emulates a Type 4 tag. Single file, no dependencies outside the core modules.

Submodule is pinned at the 1.4.0 tag.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

@FoamyGuy FoamyGuy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@FoamyGuy
FoamyGuy merged commit c27ef3d into adafruit:main Sep 8, 2026
1 check passed
@TheFilipcom4607
TheFilipcom4607 deleted the add-pn7150 branch September 8, 2026 17:40
TheFilipcom4607 added a commit to TheFilipcom4607/circuitpython-org that referenced this pull request Sep 8, 2026
The driver is in the Community Bundle as of
adafruit/CircuitPython_Community_Bundle#288, so `circup install pn7150` works
on its own and the `circup bundle-add` step is no longer needed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants