Skip to main content
Wie wil meedoen met de solarbike zelfbouw club?
Who wants to join the solarbike DIY club?

Small ATtiny self-clamping program connector

Published: 06 December 2019
Last updated: 15 April 2024

Reducing the size of ATtiny3217 program connector

The ATtiny3217 is ideal for very small PCBs. Normally the 6-pin FTDI connector is used for programming, but this connector is much too large. That's why I designed a miniature connector, which is the subject of this article.

Due to the zig-zag configuration, a pin header is not needed:

5p ATtiny adapter2Small ATtiny self-clamping program connector5p ATtiny adapter1ATtiny self-clamping program adapter

Zigzag 5p ATtiny program connector

  • Due to the pin spacing of 1.27 mm, the connector is smaller.
  • The 10nF capacitor is located on the adapter board en is not needed anymore on every target board.
  • Due to the zig-zag configuration, a pin header is not needed, see this article.

Zigzag 5p ATtiny connector PCBZigzag 5p ATtiny program connector
 Zigzag 5p ATtiny connectorZigzag 5p ATtiny program connector

5p ATtiny adapter

Here is an adapter to convert the 6 pin FTDI connector to the 5p ATtiny connector:

5p ATtiny adapter PCB5p ATtiny adapter

5p ATtiny adapter5p ATtiny adapter

Note: the 10nF capacitor C1 is now required just once at the adapter board, instead of at each target board. 

The auto reset R/C values are changed

There are consequences for the auto reset circuit which is required for the serial USB interface. The used R/C values are normally 10k / 100nF, but these values are no longer usable in combination with a UPDI connector. I have figured out that 100k / 10nF works well and does not disturb the UPDI operation. 

Info: Programming ATmega328 vs ATtiny3217

For the Arduino chips such as the ATmega328, two connectors are needed on a board for burning the bootloader and debugging: a 6 pin FTDI and a 6 pin ISP connector.

The ATtiny3217 typically requires 2 connectors for debugging and burning the bootloader. Note that the the bootloader is burned in a different way: with UPDI. 

  • FTDI: For debugging and uploading the sketch.
  • UPDI: For burning the boot loader.

Info: ATtiny3217 advantages

I use the ATtiny3217, because it has the largest memory and is hardly more expensive (less than $1) than the other Atmel controllers. In this article I'm therefore only talking about the ATtiny3217. Before 2018, the small Arduino compatible ATtiny microcontroller series (such as the ATtiny85) has disadvantages, for instance a small memory. With the ATtiny XMEGA microcontroller series, such as the ATtiny3217, this has been improved strongly. For new Arduino designs it is best to choose the ATtiny3217, if you do not mind the small QFN-24 SMD package.
The biggest advantages are:

  • 32 KB Flash, 2 KB SRAM
  • UART interface for debugging via the serial USB interface
  • No crystal needed
  • Cheap, less than $1

See more on the Microchip website.

GitHub

Please contribute on GitHub: https://github.com/avandalen/FDTI-UPDI-connector

Using megaTinyCore