2025-10-28 1:37 PM
I am working on an electronic chessboard that connects to Lichess. The board should be able to detect any chess position at any time, so I cannot rely on move tracking. For this reason, I chose NFC to identify each piece using tags.
I am currently developing a cost-optimized and low latency hardware architecture for this project.
With the help of @Travis Palmer , I completed my first prototype PCB, which includes 4 antennas and analog multiplexers as described in application note AN6121. Using this approach, I would need 64 antennas, 64 multiplexers and multiple NFC readers for low latency, which is quite costly and complex.
Travis suggested an alternative keypad-style antenna matrix layout with 8 row antennas and 8 column antennas (total 16 antennas), as shown below:
I understand that with anti-collision it is possible to detect multiple tags on the same row or column. However, I do not understand why the antennas should overlap. Wouldn’t it be better if the antennas do not interfere with each other, so that each piece is detected by only one row and one column antenna?
Thanks in advance for answers or design ideas! :)
2025-10-28 11:54 PM
Hello Daetsch,
a magnetic loop antenna will generate a magnetic field according to the right hand rule. Lets consider only the have wave where U21 > 0. The current inside the loop antenna will generate a magnetic field which is positive on the outside and negative on the inside.
A second loop can be used to harvest energy from the magnetic field via induction. This is the basic principle how NFC works.
Now considering the two additional loops (green and blue):
The blue loop will only integrate the positive magnetic field.
The green loop will is placed in a way that both, positive and negative parts of the magnetic field are summed up. Thus, the positive and negative magnetic field will cancel out.
It also means, although the blue loop is placed outside of the orange loop, abs(U56) will be bigger than abs(U43).
The blue and green loop could be both, an tag or another reader coil.
We can easily visualize this effect when taking a ST25R3916 Discovery kit and placing a Cloud-ST25TA tag on it.
The highest coupling (highest RSSI) can be seen when the tag is placed inside the reader antenna:
When placing the tag symmetrically on the edge of the antenna, the induced voltage inside the tag will be close to 0 and the tag cannot be even read. In this case, i placed the tag in a way to receive still sufficient energy to operate:
When the tag is moved further outside, the induced voltage (and Load modulation amplitude of the tag => RSSI) is increasing again:
It means by carefully choosing the antenna size and how much nearby antennas are overlapping, the coupling between those antennas can be greatly reduced. If the overlap is too big, there is again a lot of crosstalk between e.g. C and E antenna.
Also the size of the tag plays a role.
A tag size like this could be ideal to be mainly seen by D5.
BR Travis
2025-10-29 5:53 AM
Thanks a lot for the explanation and demonstration — that makes sense...
I am considering making another prototype using an overlapping antenna layout, similar to the picture below. To achieve this overlap, I am thinking about building a 4-layer PCB where:
the vertical antennas are routed on layers 1 and 2
the horizontal antennas are routed on layers 3 and 4
With this approach, the antennas could partially overlap at the edges as you described, which should help reduce mutual coupling while avoiding dead zones. I would also use a thin PCB stackup so that the antennas on the lower layers can still generate enough field strength to read the tags placed on top of the board.
Do you think this could work?
2025-10-29 6:47 AM
@daetsch wrote:I would need 64 antennas, 64 multiplexers and multiple NFC readers for low latency, which is quite costly and complex.
To reduce cost & complexity, could you use contacts instead?
Using (something like) the Analog Devices (formerly Maxim; originally Dallas) iButton would only require 2 contacts on the chess piece, and one pin on the microcontroller.
Just an idea ...