SparkFun Forums 

Where electronics enthusiasts find answers.

Questions relating to designing PCBs
By clee
#49898
Hi everyone!

I've been working with a friend to design a new PCB for the clicky IBM model M keyboards. He implemented the schematics and design in geda/gschem/pcb, and in order to teach myself a bit I decided to try manually recreating the same design in Eagle (which I've never used before today).

Now that I think I have a rough idea of how the layout functions, I'd like to see if anybody would be willing to look over the design and see if it makes sense or if there are any obvious mistakes. We're using an ATmega32 and the plan is to run a modified AVRUSB stack on top of it (I know it won't ever technically certify as USB compliant but AVRUSB is Good Enough for me.)

I exported the layout to a PNG: http://c133.org/ibm-keyboard-pcb.png

And you can download the schematics and board file in Eagle format at: http://c133.org/rump.zip

('RUMP' is short for Real USB Model-M PCB.)

Thanks for taking a look!
By khearn
#49928
Is C3 supposed to be inside the ATMega32? I'm guessing you intend for it to be on the bottom of the board, but it looks like a through hole part, so it's solder would still be on the top of the board. I guess if you are sure the ATMega32 chip has sufficient clearance underneath it would work. But most chips sit right down on the board, which might be a problem.

This wouldn't be a problem if it was a SMD part on the bottom, of course.

Keith
By reklipz
#49948
you could just as easily rotate C3 90 degrees, place the trace that goes outside the uC to go under the uC, add a little tail from that trace to one pin of C3, and then the other to the ground plane with thermals.

This would place C3 up and to the left a bit of where it is currently.
By gussy
#49957
If he is using a socket for the AVR then it would be no problem, provided it is a small ceramic cap. They just fold over under the AVR out of sight.
By clee
#49964
Yes, the plan is to use a small ceramic cap for C3 and a socket for the AVR. And - worst-case scenario - if the cap doesn't fit properly under the socket I'll just mount it on the bottom of the PCB.

Something slightly more worrying - the 10-pin connector is obviously intended for programming the AVR. However, I think I've got it wired wrong - at least, on my breadboard, pin 32 (AREF) seems to need to be wired to either ground or +VCC depending on whether or not I'm programming the AVR. Is that correct? It must be possible to have the programming connector and the rest of the pins all wired up together.
User avatar
By bigglez
#49966
Greetings (No First name Supplied),
clee wrote:Something slightly more worrying - the 10-pin connector is obviously intended for programming the AVR. However, I think I've got it wired wrong - at least, on my breadboard, pin 32 (AREF) seems to need to be wired to either ground or +VCC depending on whether or not I'm programming the AVR. Is that correct? It must be possible to have the programming connector and the rest of the pins all wired up together.
There is continuing confusion about the Atmel AVR
programming headers. There are two in use, a six
and a ten pin. The ten pin is obsolete.

Here's a recent thread that should clear up your confusion.

Regarding the AREF pin on AVRs, these are required if
the internal ADC is used, and can be set by firmware to
either accept an external reference or use the internal
reference. I always connect AREF to Vcc, unless I plan
to use the ADC.

It would be wise to read the relavent section in the
AVR data sheet (I'm not crrently using the ATMega32).

Comments Welcome!
By gussy
#49968
bigglez wrote:The ten pin is obsolete.
I still wonder why anyone ever used 10 pin for ISP, you only need 6...
Possibly was for HVSP or HVPP...

I always use 6 pin ones on my designs.
User avatar
By leon_heller
#49972
I used to use five pins with the SP12 programmer. Vcc wasn't required on the connector.

Leon
By clee
#50007
The only AVR programmer I have right now is a ponyser 10-pin programmer, but my USBtinyISP should arrive here any day now.

Since I haven't sent this in for manufacturing yet, I think I'll rip out the 10-pin and drop in a 6-pin. I'll update the original post and add a new comment once the new layout is ready. Thanks for the feedback!
By macegr
#50016
The 10-pin connector let you have grounds parallel to your signals in a ribbon cable. Also, the 10-pin IDC is a lot easier to find. I wouldn't go so far as to claim it's obsolete, when the newest dev board from Atmel (the STK600) still has a 10-pin ISP header on it.