I am sure that other people might have a different opinion. I personally think C is the most suitable language for embedded systems. So, naturally I'd start with C.
While AVR-GCC does allow some C++ constructs, the support is quite limited.
So, I'd vote for the plain-old C ![]()