I am trying to get a PiicoDev RFID module working with a Pi Pico using directly soldered connections:
SDA-GP8, SCL-GP9, 3V3, GND
I have followed the guide from the website and have downloaded everything as required to the pico. Documentation I have found appears to indicate that the Pico expansion board also uses GP8 & GP9 for I2C connections - so I would assume the default code should work as is.
When I run the default code:
from PiicoDev_RFID import PiicoDev_RFID
from PiicoDev_Unified import sleep_ms
rfid = PiicoDev_RFID() # Initialise the RFID module
print('Place tag near the PiicoDev RFID Module')
if rfid.tagPresent(): # if an RFID tag is present
id = rfid.readID() # get the id
# id = rfid.readID(detail=True) # gets more details eg. tag type
print(id) # print the id
I get the following output - but nothing more when I place a tag on the reader:
MicroPython v1.18 on 2022-01-17; Raspberry Pi Pico with RP2040
Type “help()” for more information.
%Run -c $EDITOR_CONTENT
Place tag near the PiicoDev RFID Module
I have tried the following test code - which appears to indicate that the Pico connection to the RFID module is correct:
i2c=machine.I2C(0,sda=sda, scl=scl, freq=400000)
Which gives an output of:
Does this mean my RFID module is faulty - or am I doing something else wrong? I am new to the Pi Pico and micro python.
I have tried several different tags, which all respond correctly to a Home Assistant Tag Reader
Thanks for making a topic!
Would it be possible to get a photo of how you have everything connected?
What RFID/NFC tags were you using? (Mifare tags will work with both your PN532 and the PiicoDev reader).
If you move the card around the coil end of the reader do you get anything coming through the REPL?
From the sounds of it, there might be a fault somewhere in the system (not ruling out a faulty reader or Pico).
I have tried several different tags - most of which show as Mifare (both original and “possibly cloned” ) when scanned with NXP TagInfo on my mobile. I’ve also tried a NTAG2115 which also does not work.
Below are a couple of photos:
Nothing seems to be jumping out, were you able to test the module before soldering it with the Pico (an expansion board and PiicoDev cable would be the way to go)?
With the module being so close to the Pico I wonder if there is some sort of interference/damping created, does moving it a bit further away have any effect?
I’ve sent through an email in the event that none of the above work
I have same issue, the RFID hardware works fine when it is connected to PI-4 but on pi pico and python library it is not working.
There is one more issue , occasionally it works with the card but never with tag.
I have a similar issue. I have connected a generic pn532 breakboard to a rpi pico via i2c. When scanning I get :
Scan i2c bus...
i2c devices found: 1
Decimal address: 36 | Hexa address: 0x24
When I run read_id.py I get:
File "<stdin>", line 6, in <module>
File "PiicoDev_RFID.py", line 79, in __init__
File "PiicoDev_RFID.py", line 284, in reset
File "PiicoDev_RFID.py", line 95, in _wreg
OSError: [Errno 5] EIO
line 79 in “PiicoDev_RFID.py” referes to a soft reset of the device.
Any suggestions? Thank you