I'm working a project which involves reading multiple RFID tags, from multiple directions, at the same time. Because of the multiple directions, I need to use multiple antennae. Because of the multiple tags, I need to use a simultaneous RFID reader.

Unfortunately, the wiring of the simultaneous RFID reader doesn't support multiple antennae, so each antenna will need its own simultaneous RFID reader. It seems likely - although I'm waiting for confirmation on this - that each RFID reader will have to have its own Arduino as well. What's the least horrible way of sending the data those antenna-reader-Arduino combinations are gathering to a laptop?

If this makes a difference, the laptop I'm going to be sending the data to will be running Ubuntu, and I'd like to collect the data using Python's pyserial package. Once I've got the data in a Python program, we're home and dry.

  • Maybe SPI to get the data from the RFID Arduinos to the main Arduino. From there simply Serial
    – chrisl
    Jul 23, 2019 at 11:24
  • 1
    Plug the Arduinos into a USB hub then plug the hub into your laptop. Open and read from multiple serial ports at once in your code.
    – Majenko
    Jul 23, 2019 at 14:11
  • An Arduino Mega might provide hardware serial channels for the RFID tag readers. Jul 23, 2019 at 23:36

2 Answers 2


There are multiple solutions but the simplest one is probably to use Software serial, I2C, or SPI. The idea is basically the same for any of the protocols. You select one Arduino which is gonna be the master and be connected to the laptop. Than using any of those interfaces you connect the Arduino boards in to a chain. Than you can ask the slave Arduino boards if they have new data one by one. If they do they send it and the master forwards it to the laptop. In this way all the slave boards will wait until they are asked for data and thus avoid collisions of data streams.


If you have not purchased the Arduinos yet, you could consider using the ESP8266 ("Arduino-like" with embedded wifi module, and not much more expensive, depending on the project size). Then you use your laptop as a server, and each ESP8266 sends the data via wifi to the laptop.

Arduino as a client (via wifi): https://www.arduino.cc/en/Reference/WiFiClient

  • Here is an example of a project where I have done that although I used arduino with ethernet shield, the principle is the same. Also I used arduino as a REST server (instead of as a client). This meant that the server (PC) polls the Arduinos for data. But this can be reversed using arduino as the client. instructables.com/id/…
    – GMc
    Jul 25, 2019 at 22:39

Your Answer

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

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