When you are working with ATmegas in TQFP packages, one of the really helpful things is a test socket, as shown in the picture above.
I got these socket boards through Aliexpress. These are a TQFP100 socket board called ATmega-TQFP100, and a QFP64 socket board called AVR-QFP64. With these socket boards, you can program and debug all MCUs of MCUdude’s MegaCore. The boards come with JTAG and ISP headers, have a RESET button, and are powered through a mini USB receptacle. And they come without any manual.
Well, why do you need a manual? Most of the things are very obvious. However, the jumper settings are somewhat non-obvious. So, let us have a look at the not-so-obvious things.
The QFP64 board has three programming/debugging headers, which are clearly labeled as JTAG, ISP6, and ISP10. To the right of it, there is the USB receptacle. Below the ISP10 header, there is a jumper, which can be used to choose between 5V and 3.3V supply voltage (red ellipsis). The non-obvious jumpers are below the ISP6 header, marked by a blue ellipsis in the picture below.

These are jumpers to make the connection to the correct ISP pins. For this reason, you only have to care about them if you want to use SPI programming. The marking is somewhat confusing. When studying the pinouts of the chips in this ATmega family, things become obvious. The MCUs ATmega64, ATmega128, ATmega1281, ATmega2561, AT90CAN32, AT90CAN64, and AT90CAN128 use pin 2 and 3 for SPI programming, while ATmega165, ATmega325, ATmega645, ATmega169, ATmega329, and ATmega649 use the pins 12 and 13. Move both jumpers to the right if you deal with chips from the first set, move them to the left for the second set.
The jumper settings on the TQFP100 board are more obvious. The jumpers marked with the red ellipses are for making an extra Vcc/GND connection for the ATmega640, ATmega1280, and ATmega2560 MCUs. So, the marking on the board gives clear instructions (when one ignores the MCUs that do not fit into the socket).
A bit of a mystery is the header marked by the green ellipsis. I had hoped that it is an ISP6 header. However, the header pins are connected to the MCU pins 78, 79, 80, 83, 84, 85 (left to right, going from top to bottom). These MCU pins do not have any special functionality. The pins marked by a blue ellipsis are the USB pins D+ and D-. Finally, the magenta circled header is for a quartz or resonator. The most surprising thing is that there is no jumper for changing the supply voltage. It is hardwired to 3.3 volts, although there is a 5-volt regulator on board.

Once you have all that figured out, the boards are truly invaluable. This is particularly true when you have to deal with a large number of different MCUs and debuggers, as I had when testing the GDB server PyAvrOCD, which I am developing.
Leave a Reply