Hysen Labs
Open-source project
s60sc/ESP32_RFID_Reader avatar
s60sc

ESP32_RFID_Reader

FDX-B (pet microchip) and EM4100 RFID Reader for ESP32

100 stars18 forksC++AGPL-3.0
01
DEEP OPEN-SOURCE ANALYSIS

ESP32 RFID Reader: pet chips and EM4100 tags on a board

An ESP32 application that decodes FDX-B pet microchip tags and 125kHz EM4100 RFID tags. It started life for a catflap, ran into range limits, and works well as a handheld reader.

02
DEEP OPEN-SOURCE ANALYSIS

Two tag standards, one board

With suitable hardware, the app decodes the tags in microchipped pets in the UK and EU, which use the 134.2kHz biphase encoded FDX-B protocol. It can also handle the 125kHz Manchester encoded EM4100 tags. Both protocols are read through an ESP32 with the decoding done in software on the board.

03
DEEP OPEN-SOURCE ANALYSIS

A project that changed purpose

The library was originally written for a microchip controlled catflap. The README is honest that the RDM6300 hardware it used did not have enough range to be reliable for that job, though the same setup is fine for a handheld pet microchip reader. That range limitation is stated directly as part of the project's history.

04
DEEP OPEN-SOURCE ANALYSIS

Cheap hardware, a few modifications

A custom RFID circuit can be built, but the README points at RDM6300 readers, which are cheap 125kHz EM4100 units that can be converted for 134.2kHz. The conversion means removing or disabling the onboard microcontroller and voltage regulator, then raising the antenna resonant frequency to 134.2kHz by reducing a capacitor value or removing turns from the antenna coil. An antennaFreq spreadsheet in the extras folder helps pick values, and both connections back to the ESP32 should go through 5V to 3.3V level shifters.

05
DEEP OPEN-SOURCE ANALYSIS

First boot and everyday use

Installation is Arduino IDE based, with the application folder renamed after download and a Minimal SPIFFS partition scheme selected. On first boot the app starts in WiFi access point mode under an SSID like ESP32 RFID, and a web page at 192.168.4.1 takes the router and password details. Later updates ride the OTA upload tab, and the data folder on the SD card can be reloaded from GitHub or pushed through WebDAV. Configuration screens cover RFID encoding selection, pins for the RDM6300 and an optional LCD1602, and a physical clear button.

07
DEEP OPEN-SOURCE ANALYSIS

Official sources

08
Community notes

Community notes