August 6, 2012

Arduino RFID (part 3)

(... continued from part 2)

I'm famous!

When I presented my new standalone RFID box to HR and management, their only reaction was... why is there no beep when a card was scanned?

Right. I know that audio feedback is one of the easiest and simpliest forms of physical feedback, and I should know that management wouldn't care about little technical details like being able to access logged data over http. Hmmf. Anyway, I managed to find a $1 piezo buffer for some hi-fi beeping.

Final BOM of my little RFID box:

Arduino Mega (clone)
Stronglink SL018 Mifare module
Ethernet Shield with POE
16x2 character LCD display
DS3232 RTC module
Generic piezo buzzer
Generic plastic project box

All parts were purchased locally from ETT (Arduino, LCD, DS3232) and ThaiEasyElec (SL018 and Ethernet Shield).

Standard Arduino libraries used to support the hardware include SPI.h, Wire.h, LiquidCrystal.h, Ethernet.h, EthernetUdp.h, EEPROM.h, and wdt.h. External libraries include SL018.h, Time.h, DS1307RTC.h, and SdFat.h. The Arduino Mega uses the Optiboot loader with working watchdog timer. Due to all the libraries and strings, the compiled sketch is around 45K, so it will not work with the smaller Arduinos.

I'm still not sure if making my own RFID box is a good idea. However, the completed RFID box has far more features than any commercial RFID readers available locally (not counting eye candy like color touchscreen LCD display and talking clock), and costs a fraction of the price even though I'm putting the full Arduino board inside. I'm just not sure about the longevity of the individual parts or my soldering skills. But then again, the old RFID reader we had that died with the flood had frequent failures and the clock was never accurate. The 125 KHz prox cards used with that system was prone to failure too. Plus, I've opened up the reader and it was a rat's nest of wires.

I've been really busy lately with family matters. But I will post the source code of my RFID box in the next and final installment of this series.

(... continued in part 4.)