Pular para conteúdo

Microcontrolador

Contextualização

Segundo Espressif Systems [1], o ESP32 é um microcontrolador de alto desempenho projetado para aplicações embarcadas que exigem conectividade, processamento e controle em tempo real. De acordo com Chase e Almeida [6], microcontroladores são pequenos sistemas computacionais bastante poderosos que englobam em um único chip interfaces de entrada e saída digitais e analógicas, além de periféricos importantes como memória RAM, memória FLASH, interfaces de comunicação serial, conversores analógico-digitais e temporizadores/contadores.

A principal vantagem desses dispositivos é a integração de diversos periféricos em um único chip, além da capacidade de executar e armazenar programas (firmware). Com o avanço tecnológico, esses sistemas também passaram a incorporar funcionalidades adicionais, como comunicação USB, pilha TCP/IP, comunicação RF e outras interfaces, sendo amplamente utilizados no processamento de dados, leitura de sensores e controle de atuadores em sistemas embarcados, especialmente em robótica móvel.

No contexto do micromouse, o microcontrolador é o componente central do sistema, sendo responsável por executar o algoritmo de navegação, processar os dados provenientes dos sensores e controlar os motores do robô. Dessa forma, a escolha do microcontrolador impacta diretamente no desempenho, precisão e confiabilidade do sistema.

Diante disso, foi realizado um estudo comparativo entre as principais plataformas utilizadas em projetos acadêmicos, visando selecionar a alternativa mais adequada para os requisitos do projeto.

Microcontroladores escolhidos para análise

A equipe selecionou os seguintes microcontroladores para comparação:

  • ESP32: Microcontrolador com conectividade WiFi/Bluetooth e arquitetura dual-core.
  • Arduino Uno (ATmega328P): Plataforma baseada em microcontrolador AVR de 8 bits.
  • STM32 (STM32F103C8T6): Microcontrolador baseado em arquitetura ARM Cortex-M3.
  • Raspberry Pi Pico (RP2040): Microcontrolador dual-core com foco em custo-benefício.

Tabela de Comparação

A tabela foi construída conforme as fontes listadas nas Referências

Critério ESP32 Arduino Uno STM32 (F103) Raspberry Pi Pico
Clock 240 MHz (dual-core) 16 MHz 72 MHz 133 MHz (dual-core)
Arquitetura Xtensa dual-core AVR 8 bits ARM Cortex-M3 ARM Cortex-M0+
Memória RAM ~520 KB 2 KB 20 KB 264 KB
WiFi/Bluetooth Sim (nativo) Não Não Não
PWM Até 16 canais (LEDC) 6 canais Múltiplos canais (timers avançados) 16 canais
ADC 12 bits 10 bits 12 bits 12 bits
Interrupções Em todos GPIOs Limitadas Avançadas Avançadas
Facilidade de uso Alta Muito alta Média Alta
Custo Médio (~R$30–50) Médio (~R$40–60) Baixo (~R$20–30) Baixo (~R$25–35)
Tensão típica 3,3 V 5 V 3,3 V 3,3 V
Consumo ativo (CPU, sem RF) 30–68 mA @ 240 MHz ~12 mA @ 16 MHz (chip isolado) ~5,5 mA @ 72 MHz (periféricos off) ~25 mA @ 133 MHz
Consumo com Wi-Fi ativo 95–240 mA

Nota: Os valores de consumo referem-se a condições típicas de operação, podendo variar conforme o uso de periféricos e configuração do sistema.

Justificativa

A escolha pelo microcontrolador ESP32 se justifica principalmente pelo seu alto desempenho computacional aliado à grande quantidade de periféricos integrados, o que o torna especialmente adequado para aplicações em robótica móvel autônoma.

Um dos principais diferenciais do ESP32 é sua arquitetura dual-core operando a 240 MHz, permitindo a separação de tarefas críticas. Dessa forma, é possível dedicar um núcleo ao controle dos motores, garantindo comportamento determinístico, enquanto o outro executa algoritmos de navegação e tomada de decisão, reduzindo interferências entre processos.

Além disso, o microcontrolador possui periféricos essenciais para o projeto, como interface I2C para comunicação com sensores de distância, módulos PWM de alta resolução para controle dos motores, suporte a interrupções em múltiplos pinos para leitura de encoders e conectividade WiFi nativa para transmissão de dados em tempo real, atendendo aos requisitos estabelecidos.

Outro fator relevante é o seu ecossistema consolidado, com ampla disponibilidade de bibliotecas, documentação e comunidade ativa, o que reduz significativamente o tempo de desenvolvimento e facilita a integração dos diferentes módulos do sistema.

Em comparação, plataformas como o Arduino Uno apresentam limitações significativas de processamento e memória, enquanto alternativas como STM32, embora potentes, possuem maior complexidade de configuração. Já o Raspberry Pi Pico, apesar de apresentar bom desempenho, não possui conectividade nativa.

Destaca-se ainda que, durante a transmissão Wi-Fi, o consumo do ESP32 pode atingir valores entre 180 mA e 240 mA, dependendo da configuração de operação. Entretanto, com o Wi-Fi desativado (modo modem sleep), o consumo reduz-se para aproximadamente 30 mA a 68 mA a 240 MHz. No contexto do micromouse, isso permite desligar o rádio durante a execução das rotas e ativá-lo apenas para transmissão de telemetria, otimizando o consumo energético.

Por fim, o ESP32 apresenta uma excelente relação custo-benefício, oferecendo alto desempenho a um custo acessível, o que o torna a escolha mais adequada para o projeto.

Observações Técnicas

  • Recomenda-se utilizar apenas os pinos do ADC1 para leituras analógicas, pois o ADC2 compartilha recursos com o módulo WiFi, podendo causar instabilidade nas medições.
  • A leitura dos encoders deve ser realizada preferencialmente por meio de interrupções, garantindo maior precisão na obtenção dos dados.

Referências

[1] ESPRESSIF SYSTEMS. ESP32 Series Datasheet. Disponível em: https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf. Acesso em: 27 abr. 2026.

[2] ARDUINO. Arduino Uno Rev3 Documentation. Disponível em: https://docs.arduino.cc/hardware/uno-rev3/. Acesso em: 27 abr. 2026.

[3] MICROCHIP TECHNOLOGY. ATmega328P Datasheet. Disponível em: https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf. Acesso em: 27 abr. 2026.

[4] STMICROELECTRONICS. STM32F103C8. Disponível em: https://www.st.com/en/microcontrollers-microprocessors/stm32f103c8.html. Acesso em: 27 abr. 2026.

[5] RASPBERRY PI. RP2040 Datasheet: a microcontroller by Raspberry Pi. Disponível em: https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf. Acesso em: 27 abr. 2026.

[6] CHASE, Otavio; ALMEIDA, F. Sistemas embarcados. Mídia eletrônica. Disponível em: http://www.sbajovem.org/chase. Acesso em: 27 abr. 2026.

Tabela de versionamento

Data Versão Descrição Autores
27/04/2026 0.1 Criação do documento Caio Bechepeche Mota
Renato Rodrigues