Tuesday, May 16, 2023

Inventory system part 1 - using NFC and QR (intro)

 I like #NFC / RFIDtags. ( RFID stands for Radio Frequency Identification, a contactless one-way communication method at varying distances. NFC, Near Field Communication, allows for two-way communication and  requires action by the user.)

You can read and write to NFC tags with a special reader/writer(/or clone) device, a NFC smartphone (most modern smartphones do have NFC) or using a microcontroller like ESP32 or Arduino using a cheap NFC interface. 

Especially the NTAG213 tags are very nice and are in bulk relative cheap available as stickers that can be used for labelling inventory.  The NTAG213 even has a built in counter that, in enabled, counts how many times you did scan the tag.  (For my last order in China of NTAG213 stickers I did pay EURO 11.83 for 100 pcs). 

Normal stickers with QC or bar code are cheaper. NFC stickers have the advantage that you can also write and modify information on it however labelling everything with NFC would be more expensive. 

When printing a QR or barcode you can at the same time print a numerical or text value for easy identification without using a device.

With a cheap NFC reader connected to an Arduino you can change the bytes on the NFC tag. However I also want to use my smartphone. I have some NFC apps on my smartphone. Reading or changing individual bits is not always possible with every android apps.

Therefore in one of my next blog posts I will describe some of the NFC apps on my phone with features and also some details about the NTAG213 .

Currently I am reorganizing all my electronics material due to a major change of my workshop. That is also the reason why i current publish less projects. However this is also the reason you will see some posts about topics related to this reorganizing. For my storage system there have some must haves and some wishes.

  • It needs to be a big improvement to the current situation
  • I want more standardization in my boxes (not a lot of different sized boxes with components that are difficult to stack…)
  • It must have an overview and searchable lists of components (in a computer system)
  • It needs to be extreme flexible and easy to adapt, maintain and correct
  • It may have (some) redundancy
  • I want to have more than just labels with some text my boxes. I like to experiment with things like NFC tags and QR codes for easy interfacing. However at the moment also OCR is relative good and can be uses.
  • It must be not too expensive

As I want it to be not too expensive it will not be possible to put NFC tags on everything. NFC are not extreme expensive however still cost more than 10 cents per tag and a QR code printed on a label is cheaper. Due to the kind, the amount and diversity of items I want to store the storage easy can become expensive compared to the price of the items.  However I want to use NFC tags on some items and put QR codes on every storage location (also on the locations where I did put an NFC tag.

On some drawers, boxes and more expensive items I did put a NFC tag and a QR code with an unique number. On small drawers and boxes for nuts, bolts and electronic components I did put only a QR code. The QR codes contains the number. In a follow-up post I will describe the numbering system I used. The NFC tag - number / QR code only indicate a storage location. The storage location is a “container” that can have  items inside. What is in a “container” can be indicated on a separate label on the “container”. A “container” (or “container” ID) is not a real indication where exactly an item is as e.g. the location of two component drawers may be swapped (intentionally or by accident). It is only an indication in which “container” the item is.

I want my storage system robust enough to handle swapping/changing the locations of “container”. So all my components will be inside unique numbered “containers”. A “container” can also be inside another “container”, sometimes together with other “containers” and other items. (E.g. a box can be in a drawer.) I hope this will give sufficient flexibility to store (and find) my components.

No comments: