PINs, passwords, secure entry systems; just about everything you access these days needs some form of passive authentication code. Heck, even that Wi-Fi router in your basement uses a mega 63-character password for enabling secure access. Before you know it, you’ll even need a password just to go to bed at night.
More often than not, these security code systems require you to enter a lengthy 8- or more digit alphanumeric sequence. And creating powerful, unique, protective passwords can be a tough challenge for most people. What you need is some sort of portable, automatic, press-the-button-and-read-the-password device. Pass Key is an attempt at satisfying this requirement.
Built from a modified AVR development board manufactured by Olimex, Pass Key is a sweet little 5 V “candy bar” style computer that can generate 16-digit alphanumeric passwords as fast as you can press a button. Yes, the original AVR-MT dev board requires 10-14 V, but with a little circuitry magic, this power demand can be sliced to a scant 5 V without losing any of the display, buzzer, LED, button or computational capabilities of the original dev board.
Before you begin building your Pass Key, please refer to the related articles linked to this project. These previous projects will show you how to build an Olimex AVR programmer and how to construct a simple 5V power supply that is ideal for operating your Pass Key.
Furthermore, the code for Pass Key has been written with BASCOM-AVR. BASCOM-AVR is an incredibly powerful Windows-based BASIC compiler that can help you program AVR microcontrollers just as competently as your assembly and C brethren (and sisters, too).
Just like the more popular assembly- and C-based programming environments, BASCOM-AVR generates a sweet, tight HEX code that can be independently uploaded with any USB AVR programmer or directly burned onto an AVR with Atmel’s STK500 and a serial COM port.
NOTE: If you own an AVRISP mkII USB programmer, you can still use BASCOM-AVR for developing your code. Rather than using BASCOM-AVR for programming your microcontroller, however, you will compile a HEX code for your BASIC program, then burn the HEX code into the microcontroller with Atmel’s Studio 4 IDE.
We’ve included both the Pass Key BASCOM-AVR code, as well as a demo BASCOM-AVR program for the stock AVR-MT dev board. Both of these programs can be downloaded, compiled within the BASCOM-AVR IDE, and programmed on the ATtiny2313 microcontroller on your Olimex AVR-MT dev board.
NOTE: The Amp housing and contacts are used for mating your 5 V power supply with the dev board’s new power receptacle.
NOTE: The random numbers in BASCOM-AVR are generated by the compiler. Therefore, the “random” sequence will be the same every time the Pass Key program is executed. If you don’t like this rote repetition, you can modify the program like this:
If a 16-character password is not to your liking, then modify the code for enabling different password lengths via different dev board button presses. Now slip Pass Key inside its leather case and head smartly off to any security encrypted destination. By using Pass Key your password prowess should be much more robust which should help you get a better night’s sleep. Good night, Pass Key.