Identifying an object

I have a bunch (20 ish) of objects that can be placed on a flat surface on predefined points in a grid pattern. The distance between the object and the surface is fixed (a couple of millimeters) but the rotation is undefined and position can vary a bit. I want to be able to detect if and which object is placed at a specific point. The objects are quite small (4x4 cm) and can be placed quite close to each other. My general idea is to attach something on the bottom of each object that acts like an identifier.

Solutions I’ve thought about:
• RFID - this will be a bit too expensive since I’ll need one reader per position and they’ll most likely interfere with each other.
• RGB LED and LDR at the point and paper pad of different color underneath the object. If I make a hole in the surface the object should block most ambient light and hopefully provide accurate enough results. I’ve also been thinking of attaching a small magnet underneath the object and trigger a hall sensor or reed switch to detect that an object is present.
• The most unknown: DIY capacitive sensor using copper tape on the base surface and some on the object to trigger it. Is there any way to differentiate the objects? Would it work to solder differently sized SMD capacitors on a copper tape underneath each object?

Any other ideas? :slight_smile:

OpenCV with a camera pointed at the surface?

MarkT:
OpenCV with a camera pointed at the surface?

Yeah, that’s another option. I could even print QR codes and attach on top of the objects. I’m unsure if I can place a camera far away enough to see the whole are though. And it would require a rpi (or similar) and I’d like to get away with an arduino (or similar).

RFID, I see there are two kinds, digital and chip-less. Since your project needs an ID and Location, I think that multiple coils RFID reader may be an option. Get common 125kHz or 13MHz reader, buy a bunch coils , and make a scanner/ multiplexer to select one coil at a time.
To minimize a cost, pure analog solution is also possible, setting small LC tanks into items, and same multiple coils AM radio/ detector, frequency of the LC provides ID and coils' multiplexer - location