I'm very new (one day) to the IoT world. I've got a specific project I want to tackle, as a intro to IoT, but I'm also open to general advice on getting started. In summary, I want to know if my project expectations are realistic, and/or if there's well-known ways to do what I want. In fact, if there's already an out-of-the box solution for my project I'd be highly interested in that, because I can't seem to figure out what I'm looking for online.

Please, give answers at a level commensurate with my background below. And I'd be grateful to learn the standard jargon relating to my problem. Thank you!


I've got a decent education in mathematics (more on the computational side). I'm a decent programmer, albeit more of a coder, and I've done projects in several programming languages at this point (was never the lead developer). Those languages were all high-level languages, the lowest being C++. I essentially have no assembly language experience.

Lastly, I was a mechanic at a power plant at one point in my life so I'm pretty good with hands on stuff. I've never had serious experience in electronics, although I've had some very minor, undergrad level theory of circuit board logic, as part of an intro to computer architecture class.

Project and Goal

I want a system that can recognize and count that a few different product types (up to 4 or 5) are within about 3 ft of my reading device. For example, consider that I have a warehouse full of canned cola, beer, water, and lemonade. If a warehouse worker places 2 colas, 1 beer, and 1 water near my reading device then I would like to detect the number of each product within a few seconds. The product could be anything you'd find at a store though, soda cans is just what popped in my head. For my project, you can safely assume that only have the 4 or 5 product types that are static—my warehouse has extremely limited variety.


Here are some requirements I'd like to hit, but aren't set in stone—and if they don't make sense please explain why. And overall, I'm looking for simplicity.

  • Time: the products do not have to be immediately read, but must be read within about 5-10 seconds.

  • Range: accurate and reliable reading from about 2 ft (60 cm). 3 ft would be even better. By reliable I mean that the products are basically guaranteed to be recognized or identified.

  • Size: I don't have very specific size requirements, I just want to get a working system, but of course I'd like to keep everything on the small side. In my head, the products could be tagged with something as big as this RFID card. And the reading device size could be something like this one. (yes, I realize that range shorter than my requirement).

  • Directional: This might be related to my "other" requirement, but I was curious if there's something that can make an RFID reader directional. I'm thinking about how radiation readings can be focused just by surrounding the scanner sides with lead.

  • Data Transmission: it would be cool if I could make the device battery powered, in other words wireless, but that's a want more than a requirement. This would be done most efficiently, I think with Bluetooth tech, no?

  • Cost: since this is just self-project I'm not worried about being cheap, but in the same vein I'm not rich.

  • Other: detection of products can be had with material, such as metal or water, in between reader and tags. Maybe up to a couple inches of such material.


After a short period of googling, it seems like RFID tech will do the trick for me (that's what lead me to IoT stack). I'm not 100% sure what the type of RFID system I'm looking for. At first I thought I wanted passive tags, but after reading more I've become concerned with their reliability, so I am not opposed to active tags.


What's also going to be important to me, is to ultimately be able to access the data from the identification process in a well-documented programming language, so that I could build an app with it or crunch data and stuff like that. So any direction here would be greatly appreciated.

  • 2
    This is really too general a question for this site. You have described an optical recognition system, but then identify RFID as your chosen tech. Since you have an outline of the solution, there really is no question, and surely there are online examples of the sort of thing you are considering. Once you have built some prototypes, you will have a better idea of how complex this is, and some specific questions. Aug 20 '19 at 11:38

RFID (and not NFC) is the technology for you. For 2 ft (60 cm) range, you will need the more expensive "active" RFID tags & reader, rather than "passive".

For a board, go with what makes you comfortable. Raspberry Pi might be good for a novice, especially if you know Linux; the Pi Zero W has a WiFi interface and costs about US $9; more expensive models have Ethernet.

Personally, I would go for slightly cheaper ESP32, without an operating system, as you don't need it. The ESP32 has some great deep sleep modes, which should extend your battery life.

Either of those will let you code Python or C/C++.

What about a database? Pop the data into MySql and code your own GUI, or use something off the shelf like MQTT and Node-RED? That depends on what you want to learn.

Directional will require multiple readers and some gnarly triangulation code, which you might be able to get off the shelf, but probably not (ask for a library at Software Recommendations). Best leave that for later. For proximity, but not direction, look here and search for proximity.

If you can update your question with more details, then I can ditto this answer.

  • @Zduff can you add more detail to your question? That will remove it from hold and you might get more answers. With more detail, I can update my answer too Aug 24 '19 at 7:22

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