I'll use this thread to document my attempt at a full do-it-yourself RFID poker table and broadcast-ready overlay solution.
The table and associated software will initially support Texas Hold'Em and be able to read the cards of 10 seats plus community cards and the muck (to detect folds/end of hand). The software will display the typical broadcast overlay, showing the player hole cards, community cards, and estimated win percentages.
No, I don't run a card room or have any practical need for this. Yes, this is just for fun and the technical challenge (and to possibly, eventually, give something back in the form of a tutorial/info).
The timeframe until a finished product is likely a year+. I'll be working on this intermittently in my spare time.
Initial goals:
1. RFID-enabled poker table (reads cards, does not read chips)
2. Broadcast overlay to display player cards and names, community board, estimated win percentages
Stretch goals:
1. Design and produce RFID PCB and associated antennas
2. Open source everything
3. Turn-key broadcast web portal for non-technical users
4. Stat tracking
5. Other games, including those with up cards (more antennas needed)
5. More?
Where I'm at now:
So far I've identified, purchased, and bench-tested an RFID reader/multiplexer and antennas using some standard cards with RFID stickers applied to them. I'm building the reader and antennas into a proof-of-concept 2'x2' mini "table" with 4 "seats", the board, and a muck reader. This won't be used for actual play, but rather just for testing the capabilities of the reader and antennas before possibly building them into a full-sized table
side note: there are some issues with the COTS RFID reader I'm using (though it's the best one I've found so far by a mile). These issues include poor HTTPS performance (missed reads, basically forced to use HTTP), no WebSocket client capabilities, no secure WebSockets, limit of 8 antennas per board, seemingly can only read up to 2 cards in a stack, 3 is iffy - all this makes me want to eventually design and produce my own board. I have some experience with PCB design and assembly (successfully designed and made my own wireless BBQ thermometer based on the ESP32 platform), but this is still a pretty big stretch.
The mini table will be padded (Joanne's headliner) and covered in suited speed cloth to replicate a full-sized table as closely as possible. Similar to a standard table, the play surface will be 3/4" plywood and there will be a 1/2" removeable plywood base underneath (effectively sandwiching the electronics between but leaving them accessible for troubleshooting and adjustments).
Here's progress so far on the mini table -
Layout:
Antenna areas routed out. I cut all the way through so that, once the padding and speed cloth had been applied I could set the antennas from below and still have access to service them if needed.
A few uncertainties here:
1. Will the antennas read multiple cards properly through the padding and speed cloth?
2. Will the gaps between the board antennas result in inconsistent reading of the board cards (I may need 4 antennas across for the board)?
3. Since the COTS reader can only really handle 2 stacked cards, will scanning on the muck and then moving the cards to a muck pile be awkward for the dealer?
4. Can we support the antennas from below so they're pushed flush up against the padding so there's less give when pushing an antenna area on the playing surface?
Center cut out is for the RFID reader board (doesn't go all the way through), lines are channels for the antenna wires:
A beta version of the software is done using Node.js and Angular. It listens for card updates (REST API, I'd prefer to use WebSockets but see the note on limitations of the RFID board above) from the RFID reader, associates the scanned tag with it's corresponding card(s), and updates the dynamic web page with the current state of the hand (showing/clearing (if mucked) player cards, showing/clearing the board (if hand is over)).
The background of the web page is chroma key green so it can easily be added as a browser source overlay to any of the popular broadcast software solutions (OBS, XSplit, Streamlabs).
This is where the overlay is right now but it will be improved to more closely match what you see on a typical poker broadcast/stream:
That's it for now... will update as new things happen if there's interest.
The table and associated software will initially support Texas Hold'Em and be able to read the cards of 10 seats plus community cards and the muck (to detect folds/end of hand). The software will display the typical broadcast overlay, showing the player hole cards, community cards, and estimated win percentages.
No, I don't run a card room or have any practical need for this. Yes, this is just for fun and the technical challenge (and to possibly, eventually, give something back in the form of a tutorial/info).
The timeframe until a finished product is likely a year+. I'll be working on this intermittently in my spare time.
Initial goals:
1. RFID-enabled poker table (reads cards, does not read chips)
2. Broadcast overlay to display player cards and names, community board, estimated win percentages
Stretch goals:
1. Design and produce RFID PCB and associated antennas
2. Open source everything
3. Turn-key broadcast web portal for non-technical users
4. Stat tracking
5. Other games, including those with up cards (more antennas needed)
5. More?
Where I'm at now:
So far I've identified, purchased, and bench-tested an RFID reader/multiplexer and antennas using some standard cards with RFID stickers applied to them. I'm building the reader and antennas into a proof-of-concept 2'x2' mini "table" with 4 "seats", the board, and a muck reader. This won't be used for actual play, but rather just for testing the capabilities of the reader and antennas before possibly building them into a full-sized table
side note: there are some issues with the COTS RFID reader I'm using (though it's the best one I've found so far by a mile). These issues include poor HTTPS performance (missed reads, basically forced to use HTTP), no WebSocket client capabilities, no secure WebSockets, limit of 8 antennas per board, seemingly can only read up to 2 cards in a stack, 3 is iffy - all this makes me want to eventually design and produce my own board. I have some experience with PCB design and assembly (successfully designed and made my own wireless BBQ thermometer based on the ESP32 platform), but this is still a pretty big stretch.
The mini table will be padded (Joanne's headliner) and covered in suited speed cloth to replicate a full-sized table as closely as possible. Similar to a standard table, the play surface will be 3/4" plywood and there will be a 1/2" removeable plywood base underneath (effectively sandwiching the electronics between but leaving them accessible for troubleshooting and adjustments).
Here's progress so far on the mini table -
Layout:

Antenna areas routed out. I cut all the way through so that, once the padding and speed cloth had been applied I could set the antennas from below and still have access to service them if needed.
A few uncertainties here:
1. Will the antennas read multiple cards properly through the padding and speed cloth?
2. Will the gaps between the board antennas result in inconsistent reading of the board cards (I may need 4 antennas across for the board)?
3. Since the COTS reader can only really handle 2 stacked cards, will scanning on the muck and then moving the cards to a muck pile be awkward for the dealer?
4. Can we support the antennas from below so they're pushed flush up against the padding so there's less give when pushing an antenna area on the playing surface?

Center cut out is for the RFID reader board (doesn't go all the way through), lines are channels for the antenna wires:

A beta version of the software is done using Node.js and Angular. It listens for card updates (REST API, I'd prefer to use WebSockets but see the note on limitations of the RFID board above) from the RFID reader, associates the scanned tag with it's corresponding card(s), and updates the dynamic web page with the current state of the hand (showing/clearing (if mucked) player cards, showing/clearing the board (if hand is over)).
The background of the web page is chroma key green so it can easily be added as a browser source overlay to any of the popular broadcast software solutions (OBS, XSplit, Streamlabs).
This is where the overlay is right now but it will be improved to more closely match what you see on a typical poker broadcast/stream:
That's it for now... will update as new things happen if there's interest.
Last edited: