About the Project

I wanted to experiment with the Pet ID Chip implanted in my dog. Using an inexpensive chip reader, ESP32 microcontroller, and misc. components, the device reads the chip and sends the ID data to my remote website API. I can view the chip data online. Perhaps a dog training facility could use this device to "log-in" dogs as they enter a training class for administrative purposes. There could be a record of when dogs were admitted for billing purposes? If a new dog is scanned, it can be flagged so the facility could enter the pet owners data, etc.

 

A Little Background

Microchips that are about the size of a grain of rice are injected (by a veterinarian) under the skin of a pet (dog, cat, etc.) In most cases, the chip is located between the dog's shoulder blades. The chips only contain an ID, most of them are unique 15 digit numbers. That ID is entered by the Vet into a pet database. Nobody except a certified pet hospital, vet, or law enforcement facility can access the secure databases and retrieve information about the owners that were registered with that pet ID number. This is purposely designed for privacy protection. No other information is on the chip ... no phone numbers and no owner information.

If the ownership of the pet changes, it is owner's responsibility to have the chip information updated in the database. The databases could be "national", or based on the manufacturer of the chip. Anyone can purchase a microchip scanner and read any pet's ID chip. They will see a number like this: 956000016476620

The first part of the ID number is designed to specify the chip manufacturer. 956 is made by AKC Reunite. The rest of the number is the unique ID. It is the responsibility of the chip manufacturers to assign unique ID numbers that are never repeated.

There are some national websites that allow people to voluntarily enter their pet's ID numbers along with their own names and phone numbers so ANYONE can scan and search for the owners. It should be noted that the personal information on these types of websites can be considered public information.

There are a few different chip designs that can be read at different frequencies, Examples of microchip frequencies used in the U.S. include 125 kiloHertz (kHz), 128 kHz, and 134.2 kHz. My dog uses an AKC Reunite chip at 134.2 kHz. The 134.2 kHz ISO 11784/85 standard is now the recommended chip, but many older pets in the U.S. might still use a 125 kHz chip.

 

My Project Goal

It is my intention to be able to scan a pet ID chip with an inexpensive 134.2 kHz micro chip reader. Along with a WiFi connected ESP32 microcontroller, once scanned, the ID data is sent to a remote website online and processed. Whoever is using this device can develop their own list or database of pet ID numbers for their own customers.

 

Electronics Parts Wiring

 

Putting it together ...

If you want to build this on the cheap, you can buy the parts on Aliexpress.com (China) ... if you don't care about fast shipping. The ESP32 is about $6, the micro chip scanner is about $10, and the rest of the parts are also very inexpensive. The vibration motor is salvaged from an old cellphone. The addressable RGB LEDs are cut from a long strip of LED's I used on an old project. My prototype was a piece of cardboard with the components taped on. I just wave it around the shoulder of my dog to trigger a scan. It needs to be very close to their skin ... They say a distance of < 4 cm, but I think it has to be closer than that.

The ESP32 development board, RFID module, and LED strip are powered by 5VDC. The ESP32 has its own internal regulator which operates at 3.3VDC. To shift the voltage levels between the various components, a special bi-directional level shifter is used, converting data signals from 3.3V <-> 5.0V. The vibration motor can operate at 3.3V but the ESP32 cannot handle the current draw, so a switching transistor is used to handle the motor power requirements.

Here are the specs of the Chip Reader Module:

134.2KHz UART

Parameters:
1>. Input voltage: DC 5V
2>. Work current: 50mA
3>. Working frequency: 134.2KHz
4>. Suitable type:ISO 11784/85 or compatible card
5>. Format:FDX-B
6>. Read distance:<4cm
7>. Working Temperature range:-20c~85c
8>. Working Humidity range:0%-95%RH
9>. Size:26*26*11mm
10>. Antenna Size:74*54*1.5mm

Feature:
Receiver data:03 84 12 DB FA E7 D5
Country ID:03 84
National ID:12 DB FA E7 D5
Serial protocol: AA 0F 08 00 03 84 12 DB FA E7 D5 81 BB
Start code:AA
Fixed code:0F 08 00
Tag data:03 84 12 DB FA E7 D5
Check code:B1
End code:BB
Check code calculation: 0F(XOR)08(XOR)00(XOR)03(XOR) 84(XOR)12(XOR)DB(XOR) FA(XOR)E7(XOR)D5=81

Pin definition:
1.GND
2.VCC
3.NC: No function, no use
4.TXD: Send data
5.NC: No function, no use
6.NC: No function, no use
7.L1: Connect to antenna
8.L2: Connect to antenna

 

Using the Device

When the scanner is plugged in (5V power supply), it attempts to connect to the user's WiFi router. If it cannot connect, the WiFi LED turns red. The ESP32 has it's own WiFi server. The user will use their smartphone to connect to the scanner using WiFi, entering the proper WiFi password to allow the scanner to access their router. Once the connection is made, the LED turns blue and it will remember the WiFi settings. The ESP32 now has the ability to connect itself to the user's router and access the internet.

When the user scans a pet's micro chip, the RFID LED will turn white and the vibration motor will activate. This allows the user to see and feel that the chip was "found". With the vibration, they can find the chip without needing to watch the LED. The scanner will then send the ID data to a remote website. The website will process the data and return a "status code" back to the scanner, letting it know if the ID was previously entered into the database or the chip ID is a 'new' previously unscanned number. The RFID LED will change color specified by the returned status code. If the LED is not green, the user will know they need to later enter the owner's information to that ID chip.

 

Update on January 10, 2021

Working Great so far
I have not yet put together the final PHP script. Also I will post the ESP32 Sketch (Aruino IDE) soon.