I wonder what your definition of "understand in detail what's happening" is if you recommend an Arduino for that.
It doesn't have to get as far as https://www.youtube.com/watch?v=UJHeDvr_doM (something that I recommend every should try at least once if they claim to know how things really work) but I think reading the datasheet and using the bare MCU with Asm is a good start, things which those staying within the limits of the Arduino ecosystem wouldn't be doing.
Along the same lines as that, there's also https://www.youtube.com/watch?v=8ZYMrcHm91s for those who claim to understand I2C.