At OSAA we want to be able to unlock doors using a personal RFID and an associated PIN code, that means that we have to stick an RFID reader as well as a keypad on each door.
The current solution is quite hackish, limited and somewhat picky about the power supply, so I've set out to reimplement the door controller.
With any luck this page will be replaced with a proper description of the project. Versions
The first version was hacked together in a hurry from Tuxgraphics prototype boards. The boards use a ATmega328 controller and an ENC28J60 for Ethernet access. This version has been in operation for half a year, so the hardware itself is reliable, but the design is expensive and inflexible, so a redesign had to be done.
Version 2.0 was a straight re-implementation of the design currently in operation, the PCBs where flawed:
- The footprint for the ENC28J60 was fucked.
- The linear regulator got way too hot as I had underestimated the power that had to be wasted.
Photos are online of the first prototype here, there are also some scans of the PCB the Hack århus forum.
The problems with 2.0 were fixed and thus we now have 2.1, ready to go into production, but as ATmega328 is made using Atmels unobtainium process and the Arduino crowd has emptied the market this design is being mothballed until Atmel gets around to making chips again.
As ATmega328 isn't available anywhere, I've started to look around for a comparable AVR and ATmega324 seems to be a good fit, as it has several advantages over the '328:
- Available! ELFA and Mouser have the parts in stock, yay!
- Reasonably priced at only 50% more than the ATmega168, which has half the RAM and FLASH.
- Many extra GPIO pins.
- JTAG, which allows source-level debugging.
- Has big brothers with 64kB and 128kB RAM, for future developments.
As I'd really like to be able to afford building a lot of these boards I've started to look around for an alternative to Ethernet. I've found RS-485 to be a good candidate, so I've taken the opportunity to get started with Kicad and gain an extra 2x10 cm slice of PCB space that the free version of EAGLE denied me with its 8x10 cm size limit.
This version has several improvements over V3:
- Changed to Kicad, so the 8x10 cm limit is gone and I can use the full 10x10 cm that ITead offers, which means that many more components fit on the top of the board.
- Added RS-485, connected to the world via two RJ45 connectors and CAT5 cabling.
- Ethernet circuit is now optional, which allows much cheaper boards to be made.
- Switched everything except the Ethernet bits over to 5V, so the MCU can run at the full 20MHz.
Only one hardware bug has been found in 4.0 so far, I have swapped PB1 and PB3, which means that I have to do some light blue-wire work to use the on-board RFID reader.
I'm updating the sources with fixes as I find problems, but so far there are no immediate plans for an other spin.