RC522 RFID with Nordic nRF52840 DK

Wiring for the RC522 RFID reader (13.56 MHz) on the Nordic nRF52840 DK (nRF52840-QIAA, 3.3 V logic), chosen with the same pin rules BoardPilot uses: default buses first, and no pins that are used for flash, USB, the debugger or booting.

Wiring

RC522 RFID pinRoleNordic nRF52840 DK pinNotes
SDASPI chip selectP1.12This is the SPI chip select (CS), despite the SDA label
SCKSPI clockP1.15
MOSISPI MOSIP1.13
MISOSPI MISOP1.14
IRQInterruptP1.03Interrupt, optional. Leave unconnected
GNDGroundGND
RSTInput to the partP1.04Reset, active LOW
3.3VPowerVDD3.3 V only. Never 5 V

Check before you power it on

Test code (Arduino)

The Arduino core for this board numbers its pins differently from the chip names, so no code is shown here. Use the pin names from your core’s variant file.

Arduino board: adafruit:nrf52:pca10056. Plug USB into the port on the short edge (interface MCU, J2) and set the power switch to ON; before the first Arduino sketch, burn the Adafruit bootloader and SoftDevice once.

Questions

Which Nordic nRF52840 DK pins do I use for the RC522 RFID?

SDA → P1.12, SCK → P1.15, MOSI → P1.13, MISO → P1.14, IRQ → P1.03, GND → GND, RST → P1.04, 3.3V → VDD.

Does the RC522 RFID work with the Nordic nRF52840 DK at 3.3 V?

Yes: the RC522 RFID runs at 3.3 V and the Nordic nRF52840 DK uses 3.3 V signals, so no level shifting is needed.

BoardPilot checks this wiring in 3D as you build it, and finds crossed or missing wires on the real board.

Download BoardPilot

Full Nordic nRF52840 DK pinout · RC522 RFID reader (13.56 MHz): all pins and data

The RC522 RFID on other boards

Other parts on the Nordic nRF52840 DK