Can't get PN532 NFC scanner to work over SPI

Hi all,

I am attempting to connect 2 PN532 tag readers to a D1 mini so I can trigger different automations based on where a tag is scanned. The reader connected via I2C works fine, but I’m tearing my hair out trying to make the second one work with SPI.

I have SCK on D5, MISO on D6, MOSI on D7, SS on D3, VCC on 3V3, with the following configuration:

spi:
  clk_pin: GPIO14
  mosi_pin: GPIO13
  miso_pin: GPIO12

pn532_spi:
  id: pn532_board_spi
  cs_pin: D3
  ... 

This all fails miserably:

[I][pn532_spi:015]: PN532Spi setup started!
[D][spi_device:355]: mode 0, data_rate 1000kHz
[I][pn532_spi:020]: SPI setup finished!
[C][pn532:018]: Setting up PN532...
[V][pn532_spi:029]: Writing data: 00.00.FF.02.FE.D4.02.2A.00 (9)
[V][pn532:274]: Reading ACK...
[V][pn532_spi:037]: Waiting for ready byte...
[V][pn532_spi:048]: Not ready yet...
... lots more "Not ready yet"
[V][pn532_spi:051]: Timed out waiting for readiness from PN532!
[W][pn532:022]: Error sending version command, trying again...
[V][pn532_spi:029]: Writing data: 00.00.FF.02.FE.D4.02.2A.00 (9)
[V][pn532:274]: Reading ACK...
[V][pn532_spi:037]: Waiting for ready byte...
[V][pn532_spi:048]: Not ready yet...
... lots more "Not ready yet"
[V][pn532_spi:051]: Timed out waiting for readiness from PN532!
[E][pn532:024]: Error sending version command
[E][component:113]: Component pn532 was marked as failed.

The dip switches on the reader are set to SPI. If anyone can give me a hint as to what I’m doing wrong, me and my hair will be forever grateful!

Thanks.

In case anyone ever finds this because they had the same dumb idea… I gave up making the reader work on SPI. After having tried just about every combination of configuration variables and pins, I am reasonably certain this just doesn’t work.

I got an ESP32 instead with 2 I2C buses, and that works great!