I am trying to set up an assembly line scenario where an item with and RFID tag is slid across an assembly line to different stations on a table.

In the image below you can see ID tags A and B as they move across different stations, and are placed over the sensors. The Pi will then send the tag ID and station location over WiFi.

enter image description here

I was hoping to use a number of Raspberry Pi's and PN532 NFC/RFID modules that have both I2C or SPI capabilities.

If I use an I2C switch such as the (TCA9548) could I read up to 8 sensors constantly with one Pi? If I wanted 16 stations with 2 I2C channels would this be possible with one Pi?

Furthermore, if I were to bit-bang I2C, or added further I2C switches, what becomes the limiting factor for the number of stations? Is it simply the Pi's/I2C max. clock rate to scan time for all stations?

For example, with a max. I2C clock of 400 kHz and each I2C packet being a max of ~32 bytes, is it ~80 μs per packet? And then 4 potential packets per scan and 16 sensors - I could cycle between all 16 every ~5 ms or so?

  • \$\begingroup\$ How far apart are the stations? I2C is not well suited to long cables and having multiple sensors on the bus will compound this problem. \$\endgroup\$
    – TypeIA
    Sep 13, 2022 at 19:43
  • \$\begingroup\$ I see. Each station is about 1m. So the ends might be up to 10m away. I see from the thread that isn't recommended, but if I used some sort of buffer like this -nxp.com/docs/en/data-sheet/P82B96.pdf - Would it be ok? \$\endgroup\$
    – nk13
    Sep 13, 2022 at 20:38


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.