Now I figured out that the atmega328p 32-TQFP chips which I buy from digikey are preconfigured to expect a 16mhz crystal/resonator. In my final design I use the internal timer.
I am trying to find an easy way of burning the bootloader to them, as right now I am adding a bunch of traces to my design (like a breakout for the XTAL1 and XTAL2 pins so I can temporarily connect a timing source) which I only use for burning the bootloader and then most likely will never need again.
Long story short: Does anyone know of any zero insertion force connectors for the SMD version of the atmega328p?
If you don't know of any - is this something you might find useful? I'f it doesn't exist I might try to design a 3d printed version.
hm. That would work, but I still need the XTAL pins broken out.
I just through this together. The 'paper pcb' does not line up correctly yet. Will be etched from flex-circuit material. Plan on attaching female headers pointing upwards. Gonna wait until I have more things I need etched before I try this though.
That would work, but I still need the XTAL pins broken out.
You need the crystal for the MKii programmer?
I was under the impression that it over the internal operation once Reset was asserted and the XTAL pins just became like any other IO pin, ready for fuses to be set to define what they did.
Yes, that was my understanding. However, the atmegas I bought seem to require a 16mhz clock to be recognized.
I tried burning the bootloader to them using USBasp, MKII and Arduino as ISP but had no luck. Once I connected the crystal, everything magically worked.
Once I set the fuse so that it runs with the internal crystal, I can remove the external crystal. I have not tested using the pins for GPIO though.
I also assumed that maybe this was just a difference between the PDIP and the TQFP version.
They do offer a programming service. Quite possible they could have mixed it up.
Is there any other explanation for what I observed? No matter which programmer I used they gave back somewhat arbitrary device ideas (lots of zeros and fs. i.e. 0x0000ff or 0xffff00). As soon as I added the crystal, everything was fine.
BTW, in my experience, Digikey has always been extraordinarily helpful when I report a (rare!) problem. If you ask them and there's no problem they can find, they'll tell you. But if they do find a problem, you've saved someone a lot of trouble. Think about what happens if someone orders a spool of those things and they're improperly configured from "the factory" (or wherever they came from to be so wrongly configured.) If it takes a customer service rep 30 minutes to figure out whether or not that might happen, that's time well spent.
Due diligence and all that, but if there's any reasonable doubt that the part isn't as expected, err on the side of caution and point it out.