So I realize that it has been a while since I last posted. Lets just say life got in the way lol. Anyway I'm trying to get back to the Arduino Compatible Keyboard.
I've decided to use the ATmega644 microcontroller (the same as the Sanguino, but I plan to use the smaller TQFP package) as the brains of my keyboard. This microcontroller was chosen for a couple of reasons. First it has enough on board memory for the job. Second it has enough pins to read all the keyboard inputs, control the status LEDs on the keyboard and send all of the information over a serial link. Thirdly I have the option of loading the Sanguino bootloader onto the chip if I feel like getting fancy.
That last point about the bootloader brings me to my next topic. So far my experience with the ATmega644 has only been with the bootloader pre-installed, meaning that I have not programmed this particular chip in exclusively assembly before. Realizing this I decided that it would be a good idea to 'test-drive' the microcontroller before throwing it in a keyboard and bashing out a whole pile of assembly. Unfortunately the TQFP package is not breadboard compatible. To get two birds with one stone I decided that the first PCB I design will be a breakout board for the ATmega that would allow it to straddle a double breadboard nicely.
I used EAGLE to create the following schematic and board layout for the breakout board.
I plan to simply order this PCB from a board house (haven't decided which one yet) as I am not anywhere near equipped to make this in my apartment (yet). This board has more or less what I call the bare basics to get this chip up and running in a smooth manner. S1 is a reset button to reset the chip. There is a 10-pin programming header on the board for easy access with the Atmel programmer. A 16Mhz clock is also present. There is no voltage regulator on-board as it is meant to be plugged into a breadboard and an assumption is made that regulated 5VDC will be available through the VCC pin. The rest of the pins are simply the pins of ports A through D of the ATmega for easy breadboard access.


Hi,
ReplyDeleteI like the concept of having the ground and the vcc pins already tied together. I'm not sure if I would break them all out and risk a ground loop.
Interesting choice of wiring on pin 41 to B1. I think trusting less to the autorouter would be better. ;-)
All in all excellent work with thumbs up for the ISP.
Thanks for the reply, not sure what you meant by having the ground and vcc pins tied together though.
Delete