Tu quando começaste a mexer no Arduino já sabias usar microcontroladores?
Sim, mas apenas na universidade, onde fiz Engenharia Mecatronica. Na universidade eu usava microcontroladores (sobretudo os 8051) e protótipos baseados em CPUs Z80 (8-bits) e depois os 68000 (32-bits) , mas tudo isto diretamente com Assembly, e realmente havia uns bons 18 anos que não mexia com eles. Meu background em eletronica era razoavel, embora longe de ser excelente. Quanto a programação, tenho 25 anos de experiência em diversas linguagens.
Como vês, eu fui evangelizado a pensar em microcontroladores como algo onde o tamanho do código é sagrado, onde deve-se racionar instruções e ciclos de clock ao máximo, buscando o máximo de eficiência pelo mínimo de esforço.
Na época, escrevíamos os programas em Assembly em um editor bastante rudimentar, compilávamos para gerar o binário, que por sua vez era gravado em uma EPROM (daquelas que possuem uma abertura em cima para serem apagadas) e então instalados na placa-protótipo onde ficavam os circuitos e o microcontrolador ou CPU. Eles já tinham uma espécie de bootloader preparado para buscar o começo do programa na EPROM que usávamos. Cada aluno tinha seu conjunto de EPROMs.