Do programowania mikrokontrolerów (tj ATMega (jest ona zawarta w arduino), czy STM32 wykożystuje się prawie i wyłącznie C/C++. Można programować je też w innych językach (np. rust), ale jest z tym więcej zachodu.
Chcąc robić bardziej skomplikowane układy na Arduino UNO szybko odczujesz ograniczenia jakie posiada ATMega328p, ale na start jest bardzo dobra, ponieważ jest dość dużo poradników i jest dość niski poziom wejścia.