A Simple 125KHz Rfid Reader Based On A ATMega8 - GitHub

RFID Reader

A not so simple 125KHz rfid reader based on a ATTiny and EM4095

Build around a single timer (Timer0), uses two interrupts pin change and INT0 Manchester code decoding based on Timing approach. Base clock 16.5MHz.

Input

  • PB2 - Input of Card data (after EM)

Outputs

  • PB1 - EM4095 disable / Red led
  • PB0 - Green led

Quite interseting

This device tries to calibrate itself to 16.5MHz by measuring usb packet lenght. It also stores its last calibration value to EEPROM byte address 0 (first byte as this can be read by avrdude)

Also never compile this with optimization level -O3 as USB will not work. -Os (size) seems to be ok

Makefile

For convinience there is a make file with instructions:

  • make - compiles the compileables
  • make flash - flashes flash with a flash file
  • make fuse - tries to fuse the fuses
  • make install - compiles, flashes, fuses

PCB

Double layer SMD in KiCad format

AVR Memory Usage

Device: attiny85 Program: 2456 bytes (30.0% Full) (.text + .data + .bootloader) Data: 70 bytes (13.7% Full) (.data + .bss + .noinit)

Thanks to:

  • Vassilis Serasidis - Manchester code ideas
  • V-USB - Software USB support :)

Từ khóa » Em4095 Github