Hi! I want to build a system that helps track what’s in my pantry using RFID stickers and a scanner. My goal is to design my own scanner and pair it with a custom app. I’m currently learning Python, but I’m feeling overwhelmed with all the information out there and not sure where to focus. What would I need to build this in the most cost effective way possible while ensuring it works? I’m new to hardware and teaching myself as I go, but I’d really appreciate some guidance on how to get started. Thanks!
Hey @Anys285286,
Sounds like a fun project! We’re happy to help get you started!
We actually have a guide on RFID specifically made for Raspberry Pi and PiicoDev (our custom RPi ecosystem), that uses our PiicoDev RFID Module. Here it is below:
This guide uses a Raspberry Pi 4B, but you should be able to adapt it to any RPi model without too much issue.
Reading through that guide should give you a good foundation to start, don’t hesitate to ask us if you have any questions!
Hi @Anys285286
Welcome to the forums. So cool that your diving in.
I do have some thoughts. I’m assuming your a complete beginner
Here’s an important question: what’s the simplest version of this idea.
You’re just starting out and, your right, it’s all overwhelming at first, so reducing the problem to something manageable might get you back on the horse and trotting.
I think the simplest version is
- An RFID scanner and stickers.
- A single board computer that can scan and store your inventory
- RFID sticker that emails you a copy of your inventory.
The good news is that step 1, 2, and 3 have all been done before. Instead of coding it all from scratch, your collecting other peoples refined solutions and combining them, like lego, in a new and interesting way. For a maker, this is what beginning looks like (imo).
I’m suggesting, for now, to leave the idea of interfacing with an app aside. This will allow you to refine and perfect the basics, which is the scanner and the stickers. (you can always come back to the app when you feel ready).
What do you think?
I bet CE staff can jump in and recommend good products for you. They know the stock better than me.
Thank you so much! I’m gonna get started with this, I was wondering in the future, would I be able to make make something that reads RFID stickers/tags from larger distances? Something that can read them from up to 5-10 meters away?
Hi thank you so much!! I’ll put the app to the side (so glad I don’t have to think about that for now) I guess my biggest questions are:
- Can I make something that scans RFID stickers from long distances (5-10m) and use stickers instead of bulky tags?
- How do I even find other people’s solutions and try to combine them? Are they all under Core Electronics projects?
Hi @Anys285286,
Glad to hear, I know that there are some longer range RFID readers about but I don’t believe any of ours are.
As for solutions on our site there are a few scattered about our forum (like this one about chickens for example)
We can obviously help out here if you run into any issues.
Thank you Jack!
Hey @Anys285286,
Lots of great idea for RFID solutions from the other replies!
I have a similar project going for my pantry using Grocy
It uses the barcodes of the products for tracking but may be worth a look into for a comparison to a similar project.
Best of luck!
Couple of search terms I can recommend.
git
Git is a program that lots of people use to manage their code. It’s probably in your future but you don’t need to worry about it yet.
For now, all you need to know is that when people finish with their code they publish it on special git hosting sites like github or gitlab. So if you search for "What-I'm-Learning-About example python GIT"
you’re likely to find real working examples in the wild published on hosted online. People don’t bother using git unless their project is relatively serious so its a keyword that improves results.
e.g. “RFID python git” or “RFID raspberry pi site:www.github.com”
python library
Libraries are code you can import that was written for you by a proper nerd.
For example, numpy is a library that helps group numbers into sophisticated data structures.
But let’s say I had never heard of numpy before. I might search "LIBRARY for working with large lists numbers in python"
Specific model numbers.
My process is often to make CE staff recommend a product that they trust in their inventory. Then I search model number of that product to see how other people use it.
I recorded and example of me searching for RFDI module examples below. Found some good looking example code in what… a minute?
Notice that I found a small section of sample code on the manufactures website. I then copied and search from that line of code to find other people that used the same code. That lead me straight to an entire example.
Hopefully that gives you some idea.
Pix
Oh this is super sick thank you for sharing!
This is such wonderful advice thank you!!
RFID has 3 main “groups”
-
125 Khz. (LF) Normally the simplest read only tags. i.e. the just spit out the idea when powered up. Using something like T5577 stickers and program them to be EM4100 IDs to match your “food” should be do-able.
-
13.56 Mhz (HF). This is more like NFC level. You can get tags like mifare classic, but you would need to work out how to use APDU to store and read “food” ID. The nice thing with 13.56 is you can store much more information if needed.
Both 1 and 2 will tend to have sort read range, normally a few cm.
To go long distance you would need a powerful “reader” as its the reader the inducts power into the tag.
The challenge with a long distance reader is it will see more then one tag at once. In 125Khz there is not anti-collision, so will cause all sorts of un-wanted side effects. with HF (13.56 Mhz) there should be anti-collision as long as the reader supports it. The challenge then would be keep track of the tags read and select the “next” non read tag.
To best long distance (which I have not really played with) would be UHF tag. These are designed for inventory tracking and tend to have longer read distances by design. The challenge will be finding the parts at a hobby level while learning.
Thanks boss, good to know! The UHF ones are super expensive I’m gonna stick with the basics first
Yeah, RFID is way bigger then most people think.
The simplest from a dev starting point will be to find a reader and the tags it can use. Then ensure you can make your own tag IDs.
While you can buy something like EM4100 tag (very cheap) they are read only, pre-programmed tags. So if you had two coffee jars, each would end up with a different ID.
On the other hand you can buy T5577 tags then program (need to check what gear you have) them with what ever EM4100 ID number you like. so you can make 1 or more with the exact same number.
There is some fairly cheap T5577 programmers and software, but if you really want to get into RFID you may wish to check out the PM3 Easy (Proxmark 3 Easy).
Then flash that with the RRG/Iceman firmware (free on git hub) Proxmark 3 Easy is easy to find on Amazon or AliExpress etc, just need to ensure its got 512K of flash