Extending surface area of RFID-RC5222 reader/writer

Is there a way to extend the surface area of a RFID-RC522 reader/writer?
Maybe make some sort of grid/array?

The scanner needs to be able to read anything above the inner area of the pic. There will be a board over the hole with a product on top that needs to be scanned.

One scanner is ~4cm x 6cm, so if its possible, making a grid/array of multiple RC522s would be simplest I'm assuming?

Things I already tried:
connecting a few RC522s with there own ss pins, this didn't work because they interfered with each other and wouldn't scan the tags, put a little space between the 2 (about 2-3 cm) then it worked. But then there's a "dead spot" between the 2 where it doesn't read the tags.

I have seen large loop aerials offered for thes devices.
Not sure how effective they are though as they generally require tuning which requires specialist test equipment.

IMO power is the limiting factor. The power transmitted by the tag reader must cover the entire area, in order to activate a RFID tag. So if a large loop aerial is added, a matching powerful transmitter amplifier must be added as well.

Boardburner2:
I have seen large loop aerials offered for thes devices.
Not sure how effective they are though as they generally require tuning which requires specialist test equipment.

DrDiettrich:
IMO power is the limiting factor. The power transmitted by the tag reader must cover the entire area, in order to activate a RFID tag. So if a large loop aerial is added, a matching powerful transmitter amplifier must be added as well.

How would I go about doing this?
Quickly googling "loop aerial" I come up with basically a larger coil.
If I got the thickness/length of the coil, power, and some other factors I could just do the math to figure out the correct amount of power to get the frequency I'm looking for can't I?

Edit: is there a way to maybe daisy chain a bunch of these RFID-RC522 reader/writers together to get the end result I'm looking for?

I have no practical experience with RFID readers. I only can guess that larger aerials are useful only with dedicated readers, which include a power RF transmitter.

Multiple readers may be a solution - find out yourself.

SIKKaudio:
How would I go about doing this?

I do not know.

This may help.

Not much help to me though.
I was totally lost when faced with similar problem.
Isuspect that illegal power levels would be involved so there are no commercial solutions.

Going to a 125 KHz tag increases read range up to 1 M but not sure if it would work for your problem.

DrDiettrich:
I have no practical experience with RFID readers. I only can guess that larger aerials are useful only with dedicated readers, which include a power RF transmitter.

Multiple readers may be a solution - find out yourself.

ill try and figure it out :stuck_out_tongue:
for now we have decided to sink a small section in so the product is placed back in the same spot every time.
I found a company that makes larger rfid readers and I asked for a quote, hopefully they come through :smiley:

Boardburner2:
I do not know.

This may help.
RFID Antenna Tutorial | RFID Antenna Types

Not much help to me though.
I was totally lost when faced with similar problem.
I suspect that illegal power levels would be involved so there are no commercial solutions.

Going to a 125 KHz tag increases read range up to 1 M but not sure if it would work for your problem.

Unfortunately I already read through that link, the standard read distance is fine, just needs a larger read area :confused:

Thanks for the help guys, looks like ill be doing some more digging for solutions

There is a company called Skyrfid that specialises in this sort of problem.
Perhaps they can tell you one way or another if your idea is feasible.

Boardburner2:
There is a company called Skyrfid that specialises in this sort of problem.
Perhaps they can tell you one way or another if your idea is feasible.

I'll get in touch with them, thanks :smiley:

I do have a problem with my code though, I can't seem to find the proper function to use to send an output to my pin 2 and 3.

What needs to happen:
Scan tag > sends signal through either digital pin 2(coffee) or 3(tea) to BrightSign GPIO pins

What happens right now:
The pins are constantly HIGH so scanning the tags does nothing (can also be because I didn't have the proper function in my sketch.

Here's the code
koffie = coffee
thee = tea

#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN     9
#define SS_PIN      10

MFRC522 mfrc522(SS_PIN, RST_PIN);

int koffiePin = 2;
int theePin = 3;

String read_rfid;
String ok_rfid_1="46e6868d";  //koffie
String ok_rfid_2="5aadebb";  //koffie2
String ok_rfid_3="46528b8d";  //thee
String ok_rfid_4="ea35fbb";  //thee2



/**
 * Initialize
 */
void setup() {
    Serial.begin(9600);
    while (!Serial);
    SPI.begin();
    mfrc522.PCD_Init();
    pinMode(koffiePin, OUTPUT);
    pinMode(theePin, OUTPUT);
}
/*
 * Helper routine to dump a byte array as hex values to Serial
 */
void dump_byte_array(byte *buffer, byte bufferSize) {
    read_rfid="";
    for (byte i = 0; i < bufferSize; i++) {
        read_rfid=read_rfid + String(buffer[i], HEX);
    }
}


void loop() {
      // Look for new cards
    if ( ! mfrc522.PICC_IsNewCardPresent())
        return;

      // Select one of the cards
    if ( ! mfrc522.PICC_ReadCardSerial ())
        return;

    dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
    Serial.println(read_rfid);
    if (read_rfid==ok_rfid_1) {
      
}
    dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
    Serial.println(read_rfid);
    if (read_rfid==ok_rfid_2) {
      
}
    dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
    Serial.println(read_rfid);
    if (read_rfid==ok_rfid_3) {
      
}
    dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
    Serial.println(read_rfid);
    if (read_rfid==ok_rfid_4) {
      
}
}

I don't know what function to use after this
I have tried digitalWrite but it doesn't seem to work

    dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
    Serial.println(read_rfid);
    if (read_rfid==ok_rfid_1) {

I fixed my code by adding this after the rfid_dump

      digitalWrite(theePin, HIGH);
      delay(1000);
      digitalWrite(theePin, LOW);