0

I've been looking through the web for the case of multiple rc522 (RFID sensors) attached to a PICO/W using I2C. Most of the examples and Micropython library code seem to be using SPI. Can someone point me in the right direction for I2C examples? I would like to be able to attach the sensors using a Adafruit PCF8575 GPIO extender (https://www.adafruit.com/product/5611)

Please note that I also don't want to use infinite loop (continuous polling) solution of reading the rc522 and instead use event driven type solution. This seems much better when there are multiple other things such as servos, LEDs, MQTT etc running at the same time.

4
  • One brainstorming suggestion: (1) Use one pico SPI channel to connect all RC522's, except CS pin, (2) Use PCF8575 to connect one IO pin to each one RC522's CS pin, ...
    – tlfong01
    Dec 26, 2022 at 2:47
  • If you want to use I²C (I don't know of any existing code) FIRST work out how to read ONE rc522 on Pico
    – Milliways
    Dec 26, 2022 at 7:07
  • I realize that I am looking for Pico, but you can find Arduino I2C here: teachmemicro.com/arduino-rfid-rc522-tutorial
    – quinn
    Dec 26, 2022 at 16:34
  • The "how to" YouTube Video uses i2C w/MicroPython youtube.com/watch?v=zv6IjnYA3YI
    – quinn
    Dec 27, 2022 at 5:01

1 Answer 1

1

The RC522 devices I have seen communicate via SPI or I2C.

Your plan seems to be to bit bang SPI or I2C on a GPIO port expander itself connected to the Pico via I2C. There is zero chance this will work.

1
  • can you elaborate where the problem is? Writing "bit bang" does not help much. What part of the plan needs to be removed so that it will work. You write i2C so what steps are needed RC522 to work with I2C? That is simple case: RC522 using I2C and PICO.
    – quinn
    Dec 25, 2022 at 18:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.