Trying to make an arduino shield, need help with layout

I have been trying to layout a shield for an arduino for a while now and I think I have just got myself into a deeper hole.
I would like to produce a shield for loading and testing attiny’s.
If anyone is unaware what a shield is the arduino has a row of pins down each side and circuit boards, called shields, can be plugged into it. An attiny is an 8 pin chip that has most of the ability of the atmega chip used on the arduino but in just 8 pins, it can be programmed and used in circuits as a processor.
I have produced a schematic, linked below, and annotated it. I have produced a footprint list that includes an arduino, with the intention of making the shield in the footprint of the arduino so it fits over the arduino.
I am assuming that if I connect the wires as if I was going to wire it to an arduino they would then allow me to plug it in to the arduino.
I think the footprints of the attiny’s are incorrect as when I try to update the pcb from the schematic it tells me of lots of pins on the attiny’s that are wrong?
Some of the items I have used for footprints are wrong like the switches, I couldn’t find the right foorprint for switches so the items I have used will make the holes in the right places.
The rats nest on the Pcbnew is nothing like the schematic drawing and I can’t understand why?
There are a few other things I am struggling to understand but I would appreciate someone taking a look and letting me know what I am doing wrong.
Thanks.
attinytester2.kicad_pcb (151.5 KB) attinytester2.pro (3.7 KB) attinytester2.sch (13.3 KB) attinytester2-cache.lib (6.2 KB) fp-info-cache (2.6 MB)

Can you do a screen shot of the exact error?

Thanks for the reply hermit.
I have used a slightly different attiny and more of the connections are made I will move this around and then do a screen shot.

I’m staring at your schematic, trying to figure out what your actual problem is, and I see a bunch of typical beginner mistakes.

First, I see a lot of unconnected pins which do not have the “No_Connect” flag. The “No_Connect” flags are acually useful because they make clear to Eeschema that you left a pin open on purpose instead of by mistake.

The https://www.microchip.com/wwwproducts/en/ATtiny85 is indeed an 8 pin chip, but you are using pin numbers 1, 2, 5, 8, 11, 12, 14, 15. You should use pin numbers 1 through 8 in the schematic symbol.
When I turn on “Hidden pins” I see a lot of extra pins:

So I had a look at the default ATTiny symbols, and then I disccovered you took the footprint for the varian in QFN-20 housing. If you take the DIP-8 the pin numbering should be OK.

I also noticed that you removed the refdes text of most components and the values. Why? This is not “looking good”, it’s hiding important information.

Another tip:
Next time please zip your project folder and post it as a single file.
(Also handy for your own backups) The fp-info-cache file can be safely deleted, see: Fp-info-cache purpose? and because it tends to be big I usually delete it, together with KiCad’s backup files. (From my zipped archives).

1 Like

• Plugging in a Shield is fine but, multiple plugging-in- and un-plugging can create problems. Consider dedicating an Arduino to the task and leave the shield plugged-in.

• Consider building the circuit on BreadBoard. Once woking and all is well, build a dedicated programmer on a PCB using the Atmega 328 chip (same as on UNO) or, stick with an UNO or NANO.
Use a ZIF connector for the ATtiny’s.

First Photo shows my UNO-Based AVRISP programmer with two ZIF’s - can program many Atmel chips… The Blue ZIF is for Tiny13, 80 and 84.
I did transfer the design to a PCB but was too lazy to make it and I was buying UNO clones for $4… which (at the time) was less than the cost of a 328p chip.

• Footprint: The important thing about footprint is to have the correct pinout connections. Thus, you can use any DIP socket connector with correct Pitch, Row pitch and number of pins.

Other photos of programmers for ATtiny’s and 328’s. Including a ZIF mounted on an UNO - this makes it very easy to program a 328 (just load a bootloader and a sketch the usual way).

I have difficulty finding words for this.
I have no intention of insulting anyone but this looks like a horrible way to do things.

It starts of course with the “arduino” form factor. It’s just a horrible form factor. If you want to use an AVR on a breadboard or matrix board, then please use at least something similar to the “arduino pro nano” that fits well on a breadboard.

I also do not understand the need for ZIF programming sockets. I’ve been programming AVR’s since 10+ years before “arduino” existed, and I’ve always just used an ISP programming connector on each PCB I’ve made for the AVR’s. With an ISP connector there is also no need for bootloaders anymore.

Hot snot on a breadboard in an attempt to make it reliable? Really?
You are free to do so, but it’s not a good idea to recommend such to others.

The main reason I was reluctant to post on here was that I was sure I would get more criticism than help.
I did point out before anyone said I was using the wrong footprint for the attiny that I have changed it and the new one works much better.
The final unit I am intending making has a 28 pin zif socket right down the middle.
The top 8 holes will be for the programmer.
To be wired

like this one.
2 holes not used and then the other 2 attiny’s to fit in the lower 18 holes with a gap of 1 hole between them.
I can then use one of two programs to check all the ports on the tiny and program my sketches all with the same board.
Thank you for replying but please consider that some of us don’t know that much about the Kicad programme and consequently ask for help.
It is ironic that after a few nights of frustration I ask for help on here and 30 minutes later I find answers to both my main concerns myself.
I will place the components where I would like them and then alter the pins of some of the components to make the board look neater.
Again thank you for the replies. Usually you do answer my questions and I am grateful.

Euhm no, misinterpretation.
I’ve been a beginner also, and every now and then I still start something new.
If you think my post was “criticism”, you misinterpreted my intentions.

The pin numbers of the symbols in the schematic always have to coincide with the pin numbers of the Footprint on the PCB. Atmel/Microchip used some weird pin numbering for the SOIC version of the ATTINY85, and using the pin numbering for the SOIC version with a DIP-8 Footprint does not work together.

However, now I understand your intention better, I may also be able to give better advice.
I think the best solution for you is to use a simple 28pin connector symbol in Eeschema, and assign that to a SDIP28 Footprint.

If you use a: Connector_Generic:Conn_02x14_Counter_Clockwise then you have a schematic symbol that looks very much like your ZIF socket and the pin numbering is also the same as for an 28 pin DIP IC.
image

The original arduino boards make a mistake by not aligning the connectors on a 0.1" raster. If they had done that then it would have been very easy to solder your “shield” on a piece of matrix board. I do not know if you’ve noticed it, but your project as posted has the same mistake. The 3 DIP8 sockets do not line up on a 0.1" raster, which makes it very difficult to fit a ZIF socket in it.

Note that I lined the ruler up with U2, and U3 has an extra vertical offset of 0.05. U1 is also too far away from U2 to fit them in a 28 pin socket. Also, the ZIF sockets have all 28 pins, which stick through the board. If there are no holes in the right places, the socket will not fit in the PCB.

To prevent all these troubles, it’s much easier to use a 28 pin footprint for ZIF socket that fits.

Also, in 2017 I made a simple tutorial for test fitting footprints:

If you want to use the arduino boards, you may also want to consider to buy a few of these boards:

For one-off boards, especially if they are relatively simple it is not very useful to design a PCB. Soldering a project like this directly on such a board is about the same effort as designing the PCB, and you can have a finished project in one or 2 hours. These matrix boards of course do not help if your goal is to learn KiCad :slight_smile:

Personally I would rather use the smaller “arduino nano” boards and put them on a piece of matrix board with size of my own choice, but the boards above can be handy for some projects.

… Consider This - Examples below…

• Use the existing part called UNO (R2 or R3)

#1 Edit the Existing part (removed USB and Power conc’s)

#2 Further edit - Re-shaped

• New Footprint - make your own; shape with Pads

#3 A re-Edit of #2 with Added ZIF, Tiny and DIP’s for other Chips

I make my PCB’s on CNC Mill so, it’s easy for me. But, if you intend to Etch your board, it may be best to buy the one paulvdh suggested.

Lastly, consider that Plugging/Unplugging into the UNO can flex-stress the board and over time may have connection problems… thus, may want to dedicate an UNO and not remove your board if all is well…

Thank you for replying again Paul.
I must start by saying

I have difficulty finding words for this.
I have no intention of insulting anyone but this looks like a horrible way to do things.
Hot snot on a breadboard in an attempt to make it reliable? Really?

If you think my post was “criticism”, you misinterpreted my intentions.

I think you even apologise for insulting albeit by saying ‘I have no intention of’.

The pin numbers of the symbols in the schematic always have to coincide with the pin numbers of the Footprint on the PCB. Atmel/Microchip used some weird pin numbering for the SOIC version of the ATTINY85, and using the pin numbering for the SOIC version with a DIP-8 Footprint does not work together.

I do think the first attiny footprints I used were unfinished projects that still had all the othjer pins from whatever it was taken from?

The original arduino boards make a mistake by not aligning the connectors on a 0.1" raster. If they had done that then it would have been very easy to solder your “shield” on a piece of matrix board.

It is just the top end of the right side (digital pins) that are closer to the lower set but as I am printing a board myself to fit on the UNO I need that.

I do not know if you’ve noticed it, but your project as posted has the same mistake. The 3 DIP8 sockets do not line up on a 0.1" raster, which makes it very difficult to fit a ZIF socket in it.

(having read this through again I do wonder if the file I sent has them in the wrong place and I have corrected it?)
I disagree. If I move the left side pins from the arduino board on my Pcbnew they line up with all 3 attiny socket pins and if I look at the UNO on my desk the left set of pins fit into a matrix board.

Also, the ZIF sockets have all 28 pins, which stick through the board. If there are no holes in the right places, the socket will not fit in the PCB.

As I intend soldering the 28 pin narrow zif socket in I will just cut those pins off from between the 3 sets of 8.

To prevent all these troubles, it’s much easier to use a 28 pin footprint for ZIF socket that fits.

I have kept the attiny socket footprints so I know my tracks go to the correct pins and it looks better on the Pcbnew with the gaps between each footprint as that is what will happen if I cut the pins off.
attinytester2.kicad_pcb (263.8 KB)

I have printed this off and used acetone to transfer a laser printed layout onto double sided board, I will etch it tomorrow and see if I have it in line. I have never done double sided etching before but that is all part of my interest whilst locked in like this.

Black Coffee,
Hi, I do intend to leave the ‘shield’ on the UNO. I use attiny’s quite a lot and this board will allow me to program and test them without moving anything other than the chip itself in the zif socket.
At present I have a small piece of vero board that straps across the power and 10,11,12 and 13 pins of an UNO so this will be a lot neater.

Let my know if you would like me to post a photo of the finished product.

Again thanks for the replies. It always gives me a new direction of thought.
Bob.

huge thanks for your help Finger-licking Sour Cream Meatballs with Capers, i really appreciate it as i found a lot of helpful information through your posts. wanted to ask if i may ask you some questions in case i would have any? I’m still learning here. thanks again

@Thadine, your account and post look suspicuously like a spammer. If you have a question, please open a new topic and ask a KiCad related question and include the KiCad version information from Help->About.

Also note that some of the screenshots use the mirror image of the arduino board. If you print the PCB on a piece of paper and do the test fitting tutorial I linked to this will be clear.