Skip to content

Commit 85bdc43

Browse files
Add Challenger RP2040 NFC
The board definition was merged in adafruit/circuitpython#11321, so the board now builds but has no page here. The Challenger RP2040 NFC is the only Challenger RP2040 variant that was missing from the downloads list. It is an RP2040 Feather-format board with an NXP PN7150 NFC reader/writer on a dedicated I2C bus. download_instructions is left out on purpose. The sibling Challenger pages point at the "Getting started" tab on ilabs.se, but that tab covers the Arduino core only, and the field renders as "Learn how to install CircuitPython on this board". Image is iLabs' own product photo from the product page, in the three required sizes (1365x1024, 800x600, 300x225). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 56fdd68 commit 85bdc43

4 files changed

Lines changed: 61 additions & 0 deletions

File tree

‎_board/challenger_rp2040_nfc.md‎

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
layout: download
3+
board_id: "challenger_rp2040_nfc"
4+
title: "Challenger RP2040 NFC Download"
5+
name: "Challenger RP2040 NFC"
6+
manufacturer: "Invector Labs"
7+
board_url:
8+
- "https://ilabs.se/product/challenger-rp2040-nfc/"
9+
board_image: "challenger_rp2040_nfc.jpg"
10+
date_added: 2026-09-08
11+
family: rp2040
12+
features:
13+
- USB-C
14+
- Breadboard-Friendly
15+
- Feather-Compatible
16+
- Battery Charging
17+
---
18+
19+
The Challenger RP2040 NFC is an Adafruit Feather format board based on the Raspberry Pi RP2040, with an NXP PN7150 NFC controller on board. Unlike a simple NFC tag, the PN7150 is a full reader/writer: it polls for NFC-A, NFC-B, NFC-F and NFC-V targets and speaks NCI over I2C, so CircuitPython can read and write NDEF messages on NTAG/Ultralight, MIFARE Classic, DESFire and ISO15693 tags.
20+
21+
It shares its layout with the rest of the Challenger RP2040 family (USB-C, 8 MByte of flash, a LiPo connector and charger, and a NeoPixel), so it drops into a Feather-shaped project like any other board in the series.
22+
23+
### Using the NFC controller
24+
25+
The PN7150 sits on its own I2C bus, exposed as `board.NFC_SDA` and `board.NFC_SCL`, with `board.NFC_IRQ` and `board.NFC_RESET` for the interrupt and VEN lines. That bus is internal to the board and does not appear on the headers; `board.I2C()` is the separate header bus on GPIO0/GPIO1.
26+
27+
[circuitpython-pn7150](https://github.com/TheFilipcom4607/circuitpython-pn7150) is a single-file driver for the controller that imports nothing outside the core modules. It reads NTAG/Ultralight, Mifare Classic, DESFire/ISO-DEP, ISO15693 and FeliCa, decodes and writes NDEF, and can emulate a Type 4 tag so that tapping a phone on the board opens a URL. It recognises this board's pin names, so `PN7150.from_board(board)` wires itself up:
28+
29+
```python
30+
import board
31+
from pn7150 import PN7150
32+
33+
nfc = PN7150.from_board(board)
34+
with nfc:
35+
for tag in nfc.scan():
36+
print(tag.type, tag.uid_hex)
37+
if tag.ndef:
38+
print(" ->", tag.ndef.value)
39+
```
40+
41+
Install it with `circup bundle-add TheFilipcom4607/circuitpython-pn7150` followed by `circup install pn7150`, or copy `pn7150.mpy` from the latest release into `CIRCUITPY/lib/`. [ElectronicCats_CircuitPython_PN7150](https://github.com/ElectronicCats/ElectronicCats_CircuitPython_PN7150) is the other driver for this chip; it covers tag detection, and its example needs `frequency` lowered from 400000 to 100000 to run here.
42+
43+
The on-board bus has no external pull-up resistors, so this board is built with `CIRCUITPY_I2C_ALLOW_INTERNAL_PULL_UP` and `busio.I2C` enables the RP2040's internal pull-ups on it. Those are weak, so **construct the NFC bus at 100 kHz**. 400 kHz will time out. Note also that `i2c.scan()` does not list the PN7150: it ignores the zero-length write that `scan()` uses and only answers real NCI frames.
44+
45+
### Technical details
46+
47+
- Raspberry Pi RP2040 dual core Cortex-M0+ @ 133 MHz
48+
- 264 KByte SRAM, 8 MByte flash
49+
- NXP PN7150 NFC controller with integrated firmware, on a dedicated I2C bus
50+
- Reader/writer for NFC-A, NFC-B, NFC-F and NFC-V targets
51+
- 1 hardware I2C, 1 hardware SPI and 1 hardware UART on the headers
52+
- 4 x 12-bit ADC inputs
53+
- NeoPixel and a red user LED
54+
- LiPo charger and standard LiPo battery connector
55+
- USB-C connector
56+
57+
The board ships without an NFC antenna. iLabs sells it as a kit with one, or you can attach your own to the antenna pads.
58+
59+
## Purchase
60+
61+
* [Invector Labs](https://ilabs.se/product/challenger-rp2040-nfc/)
122 KB
Loading
225 KB
Loading
22.4 KB
Loading

0 commit comments

Comments
 (0)