{"id":2019,"date":"2023-09-06T13:16:39","date_gmt":"2023-09-06T12:16:39","guid":{"rendered":"https:\/\/www.kanda.com\/blog\/?p=2019"},"modified":"2023-09-06T13:16:41","modified_gmt":"2023-09-06T12:16:41","slug":"atmel-avr-tpi-programmer-selection","status":"publish","type":"post","link":"https:\/\/www.kanda.com\/blog\/microcontrollers\/avr-microcontrollers\/atmel-avr-tpi-programmer-selection\/","title":{"rendered":"Atmel AVR TPI Programmer Selection"},"content":{"rendered":"\n

Atmel, now Microchip, have been moving away from AVR ISP programming method for some time. All the latest AVR microcontrollers now use UPDI programming interface but some ATtiny chips used TPI interface, which is discussed here.<\/p>\n\n\n\n\n\n\n\n

What is TPI Programming Method?<\/h3>\n\n\n\n

TPI, or Tiny Programming Interface, is a synchronous serial port (USART) protocol . Unlike PDI used on ATxmega, TPI uses 3 wires \u2013 TPI_CLK, TPI_DATA and AVR Reset pin. VCC and GND must also be connected. Typical speeds are the same as PDI, 230,400 Baud.<\/p>\n\n\n\n

Microchip recommend a 6-way TPI header in 3 x 2 format as the connector for programming.<\/p>\n\n\n\n

\"6-way<\/a>
6-way TPI Interface for TPI Programmer<\/figcaption><\/figure>\n\n\n\n

What Microcontrollers use TPI Programming<\/h3>\n\n\n\n

This is where it can get confusing because there are a lot of older ATtiny microcontrollers that use AVR ISP method. New ATtiny chips use UPDI programming interface, which is a single wire Unified Debug and Programming interface.<\/p>\n\n\n\n

Therefore, it is only a small subset of AVR ATtiny microcontrollers that actually use TPI programming. They are listed here<\/p>\n\n\n\n