Microcontroladores modernos e kits de desenvolvimento

Alguns exemplos de microcontroladores modernos e placas de desenvolvimento acessíveis

ATmega328p

ATmega328P em sua versão DIP-28N

Este microcontrolador é famoso por fazer parte da placa Arduino UNO. É um microcontrolador de 8 bits muito simples, lançado pela finada Atmel e atualmente fabricado pela Microchip. Possui 32 KiB de memória Flash, 2 KiB de memória SRAM e 1 KiB de memória EEPROM. Por ser o microcontrolador do Arduino UNO, pode ser facilmente programado usando o SDK e a IDE do Arduino. Também pode ser programado usando a IDE Microchip Studio for AVR and SAM devices.

Placa Arduino UNO

ESP32

Exemplar de ESP32 soldado em uma placa
Pequeno módulo ESP-WROOM-32 com antena. Este módulo, bem como outros módulos parecidos, trazem um MCU ESP32 dentro de uma proteção metálica.

Esta é, atualmente, uma das famílias de microcontroladores mais populares no meio maker. São microcontroladores de 32 bits muito poderosos e de baixo custo. Por possuírem WIFI e Bluetooth embutidos, são perfeitos para projetos IoT. Possuem processadores Xtensa LX6 (single ou dual core), e em versões mais recentes possuem processadores RISC-V.

Para programar os MCUs da família ESP32, a fabricante Espressif disponibiliza um SDK em linguagem C chamado ESP-IDF. No entanto, existem ports do SDK Arduino Core para ESP32, além de algumas bibliotecas baseadas no Arduino Core feitas especialmente para ESP32. Também é possível programar os ESP32 com as linguagens Python e Lua utilizando os firmwares MicroPython e Lua-RTOS.

Placas de desenvolvimento com ESP32 são bastante comuns e diversificadas, e muitas delas são open-hardware.

Placa de desenvolvimento genérica para ESP32

STM32

Exemplar de STM32 soldado em uma placa

STM32 é uma grande família de microcontroladores ARM da fabricante ST. Os microcontroladores desta família possuem processadores de 32 bits da família ARM Cortex-M e, em geral, são bem baratos. O exemplar mais famoso desta família é o STM32F103C8, com 64KiB de memória flash, 20KiB de memória SRAM e processador Cortex-M3.

A forma mais apropriada de programar os STM32 é utilizar as ferramentas STM32CubeMX e STM32CubeIDE, desenvolvidas pela própria ST.

  • STM32CubeMX é um editor visual de configurações básicas de firmware. Neste software, é possível definir e configurar os recursos do MCU que serão usados e, por fim, gerar uma HAL (Hardware Abstraction Layer) em C para o firmware.

  • STM32CubeIDE é uma IDE própria para programar os STM32, baseada na clássica Eclipse IDE. Com esta IDE, e com um gravador ST-Link, é possível compilar, fazer upload e depurar firmwares desenvolvidos para STM32.

Existem outros meios de programar os STM32, como ports do SDK Arduino Core, do sistema operacional MBED e do interpretador MicroPython. No entanto, os MCUs desta família são complexos, e seus recursos só podem ser completamente explorados utilizando as HALs geradas pelo software STM32CubeMX.

Placa de desenvolvimento Blue Pill, equipada com um STM32F103C8

RP2040

RP2040 soldado em uma placa

Este microcontrolador é um lançamento de 2021 da Raspberry Pi Foundation. Possui dois núcleos ARM Cortex-M0+ de 133MHz, 264KiB de memória SRAM e recursos comuns de microcontroladores modernos, como SPI, I2C, UART, DMA, PWM, etc. A princípio, este MCU foi desenvolvido para equipar as placas Raspberry Pi Pico, da própria Raspberry Pi Foundation, mas com o tempo outras fabricantes passaram a produzir placas com o RP2040.

Como meios de programar o RP2040, a Raspberry Pi Foundation dá duas opções, uma para desenvolvedores profissionais, e outra para iniciantes e hobistas. As opções são, respectivamente, um SDK em C, e um port do interpretador MicroPython.

Placa de desenvolvimento Raspberry Pi Pico

Last updated