I just used some attiny85 as a software based USB interface with v-usb for interfacing with an atmega328p. I especially love the DIP size, its amazing that i could solder the entire thing learning about capacitors and pull up resistors in the process. The use of multiple processors also allowed for some security by design, having functionalities capsuled with strictly defined directions of communication.
I think the ecosystem is really quite impressive with a really low entry hurdle from a teaching perspective. It was possible to get the power consumption of the atmega328p low enough for battery operation even with just Arduino, giving an easy introduction into prescalers and flags. From there you can step deeper into the functionality of avrdude (shoutout to USBASP) and standard AVR makefile projects with for example the micronucleus bootloader.