Oscarko:
I like that OldSteve very much. I am not familiar with ATtiny84, is your "black box" on the pic made with ATtiny84 as well?
Yes. It's an ATtiny84. It had just the right number of pins for this project. It's a 14-pin chip, but 2 pins are used for power and 1 for RST, leaving 11 pins. (I used the internal 8MHz oscillator, so didn't need a crystal or resonator). 8 pins go to the keypad, 2 are used for I2C, and the remaining free pin was used for a LED which flashes for 100mS to indicate a keypress.
The firmware is based on the "Keypad" library to do all of the hard work, then I used the "TinyWireS" library for I2C comunication. I didn't support all of the functions of the keypad library, just the basics, so coding was very simple.
Usually, I use an UNO for the main micro when prototyping, with the I2C keypad connected, then switch to an ATMega328P and ATtiny84 on a custom PCB for the finished project.
It would be great if you could describe a bit your project or point to some links. It looks very simple few resistors, capacitor and the IC. I assume you need to program the ATtiny84 through programmer (or use arduino as programmer?)
Sorry, I don't have any links, I didn't publish the project, but I think I'm describing it reasonably well. I use a USBASP ISP programmer to burn a program to the ATtiny84 chips.
This is the schematic diagram:-
I make my own quick and dirty pcb on my wood carving router. It is not precise enough to do the nice shaped copper tracks so I do a "negative" or voronoi isolation PCB - use everything as a plate and just let it route single lines between them and mark holes.
It takes about 2 min on my router to do this type of PCB. It is fine for low frequency stuff.
That doesn't look too bad at all. I have a Dremel with router table and plunge router attachment myself, but have never tried it for PCB-making.
Your PCB is nice and neat, and if it does the job well, there's absolutely nothing wrong with doing it that way.
I use (very old) PCB layout software, (Protel Advanced PCB), then print a transparency. I use pre-sensitised PCB blanks with a positive-acting photo-resist already on them, (UV tubes to expose), then etch my boards using ferric chloride. It's a bit of an involved process and takes a fair bit longer than your method, but yields good results and once setup, it's a trivial matter to make a number of boards.
This is a bottom view of the I2C Keypad board:-