Os sistemas embarcados são utilizados em diversas áreas críticas e são, na maioria, baseados em microcontroladores. Por isso, é importante compreender a utilização de ferramentas que atendam aos requisitos no desenvolvimento de código para esses sistemas. Este trabalho traz uma abordagem de desenvolvimento orientada por modelo para o bootloader do microcontrolador ATmega328P, para demonstrar a aplicabilidade do uso de ferramentas automatizadas de geração de código. Buscou-se utilizar um código-fonte cujos componentes possam ser reaproveitados por outras aplicações. Um modelo UML foi gerado no software Papyrus, baseado no código-fonte fornecido para o Arduino Duemilanove, foi aprimorado até atingir o desacoplamento desejado, então os componentes foram utilizados em uma aplicação desenvolvida para demonstrar sua usabilidade. Por fim, os códigos gerados foram submetidos à análise estática e aprimorados conforme apresentam os resultados.