All projects

AVRFID

An inexpensive I2C HID RFID tag reader using custom designed multi-layer PCBs.

AVRFID is a cost-effective RFID reader implementation using an AVR microcontroller and custom-designed PCBs. It decodes HID Prox 125kHz FSK signals and provides I2C interface for host integration.

  • Novel custom PCB design with minimal external components.
  • Manchester encoding implementation for signal decoding.
  • Published on hackaday.com with widespread community adoption.

Hardware Design

AVRFID's minimalist approach:

// Signal acquisition timing
#define SAMPLING_RATE 256000  // 256kHz sampling
#define ManchesterTiming 16   // 16 samples per bit

// I2C slave configuration
#define I2C_ADDRESS 0x50

Manchester Decoding

Real-time signal decoding:

void decodeManchester(uint16_t samples[], int count) {
    int bitCount = 0;
    for (int i = 0; i < count - 1; i++) {
        if (samples[i] != samples[i + 1]) {
            // Edge detected
            bitBuffer[bitCount++] = samples[i] > samples[i + 1];
        }
    }
}

I2C Interface

Standard I2C protocol for host integration:

// I2C data format
struct RFIDData {
    uint8_t cardId[4];
    uint8_t checksum;
    uint8_t timestamp[4];
};

Community Impact

  • Many reproductions by engineers worldwide
  • Used in security research and access control systems
  • Educational tool for embedded systems learning