quarta-feira, novembro 08, 2023

Mini Review: Franzininho C0

Mais uma placa Franzininho, agora com o microcontrolador STM32C011F6P6. A linha STM32C0 faz parte da família SMT32 de microcontroladores ARM 32 bits e busca ser uma opção de alto desempenho ao microcontroladores de 8 bits.


Projetadas aqui no Brasil e com projeto Open Hardware, as placas Franzininho contam com uma entusiasmada comunidade criando aplicações, documentação e exemplos.

O STM32C011F6P6 possui um núcleo ARM Cortex M0+, podendo rodar a 48MHz com um oscilador interno (com precisão de 1%). Algumas de suas características:
  • 32k de Flash
  • 6k de Ram
  • ADC de 12 bits, com 13 canais externos e 2 internos
  • Comunicação I2C, SPI e UART
  • Relógio de Tempo Real (RTC)
  • Oscilador de 32kHz (precisão de 5%) para aplicações de baixo consumo ou onde não é necessária grande precisão no RTC.
  • 8 timers
  • 16 pinos de GPIO
  • Bootloader em ROM para carga de software
A Franzininho C0:
  • Opera a 3,3V 
  • Pode ser alimentada pelo conector USB Micro ou pelos pinos da placa (possui regulador para baixar os 5V para 3,3V)
  • Possui botões de RESET e BOOT (para acionar o bootloader) e mais um botão para o usuário
  • Possui dois LEDs ligados a GPIO
  • Tem um conversor serial USB CH340E ligando a UART do microcontrolador ao conector USB.
A programação pode ser feita usando a ferramenta da ST (STM32CubeIDE) ou a IDE do Arduino (usando o projeto STM32duino).


A placa deve ser comercializada pelo Embarcados a partir de novembro de 2023.

Embora desempenho não seja o foco da placa, rodei os meus testes tradicionais:

  • O cálculo de 200 casas de Pi (usando apenas inteiros) demorou 57ms. Para comparação, a XIAO original (com um SAMD21 que também é um ARM M0+ a 48MHz), demorou 70ms. A Uno R3 leva 917 ms e a Uno R4 11ms.
  • O whetstone ficou meio apertado nos 32k da Franzininho C0, mas rodou em 130,1 segundos (1,5 MIPS). A Uno R4 leva 71.9 segundos (2,8 MIPS) e a Pi Pico 19.17 segundos (10.4 MIPS).
São resultados bastante bons, que indicam que a Franzininho C0 pode ser usada em aplicações que envolvem uma boa quantidade de processamento.

Nenhum comentário: