The new ATtiny-0 and ATtiny-1 microcontrollers have really nice peripherals and are promising replacements for the old ATtiny85. While others do seem to miss the ISP interface, I think the new UPDI interface is actually really neat since it allows for way smaller programming connector of only three pins instead of the six pins used for ISP.
Others have written at length about how to build a UPDI programmer and get started with Arduino on the new microcontrollers. To test it out I got a ATtiny412 breakout board from Spence Konde. Here are the steps I needed to go through to program it:
Install the megaTinyCore board extension in the Arduino IDE by adding
to the board manager URLs and then finding and installing the megaTinyCore board extension.
Select the right settings (desired clock speed etc) in the Arduino IDE drop down and flash bootloader. Without first flashing the bootloader with the settings below, my ATtiny412 board did not work as expected. For the ATtiny412 3.3V version from Spence, I changed the following from the defaults:
10Mhz internal clock 2.6V BOD
Upload a program like a simple blink program to test everything. For the ATtiny412 board from Spence, I had to define the default LED pin as:
#define LED_BUILTIN 1