This should be a cool and easy project. We will conect a small thin Keypad that I've bought from eBay for less than 70 cnts to one Arduino microntroller. You could use any Arduino boar that you want. Using the KeyPad library we will be able to read each of the 16 buttons that this keypad has using just 8 pins of the arduino. The library use is simple. Normally we shoud use two pins for each button to be able to detech esch push. But this library uses 4 pins for columns and 4 pins for rows for this 4x4 keypad. The library is non-blocking which means you can press and hold the key all day long and your Arduino will continue processing the rest of your code. Consider, though, when you are writing your code that every delay() you use will take processing time away from the keypad. Something as short as delay(250) can make the keypad seem very unresponsive. And the same thing will happen if you sprinkle a bunch of delay(10)'s all through your code. The function getKey() returns a key value as soon as you press the key but it does not repeat automatically.