terça-feira, agosto 01, 2023

Análise: Arduino Uno R4 Minima

No final de março deste ano, a Arduino anunciou uma nova linha de produtos, o Uno R4.  Os dois modelos desta linha, o Minima e o WiFi tinham previsão de estarem disponíveis no final de maio, mas só foram colocados a venda no final de junho. Eu já estou de posse deles e neste post vem uma primeira análise do Minima.


Um pouco de História

O Arduino Uno foi lançado em 2010 e passou por duas revisões de hardware (com pequenas mudanças entre elas). Com a sua popularidade, o seu formato e conectores foram usados (sem muito sucesso) por placas usando outros microcontroladores.

Posteriormente, a Arduino, lançou diversas placas com o propósito de serem as sucessoras do Uno:

  • Leonardo (2012): Substituindo o ATMEGA328 do Uno por um modelo equivalente mas com USB nativa, este modelo dispensa a conversão serial USB. Não teve muito sucesso, talvez pelas pequenas incompatibilidades. Continua sendo fabricado (tanto o original como clones)
  • Due (2012): Com um poderoso processador ARM, o Duo (infelizmente) não se tornou muito popular. Os motivos talvez tenham sido o preço e o fato de operar a 3,3V em uma época em que os produtos para Arduino operavam exclusivamente a 5V e não existiam alternativas populares ao Arduino. A Arduino chegou a anunciar sua descontinuação, mas voltou atrás. Também tem clones.
  • 101 (2015): Lançado na época em que a Arduino quebrou em duas empresas, este modelo usava um microcontrolador da Intel. Foi descontinuado dois anos depois, quando a Intel descontinuou o processador.
Enquanto isso, outras placas e microcontroladores foram ganhando espaço junto aos makers. Placas usando ESP8266, ESP32 e (mais recentemente) o RP2040 (só para ficar nos mais conhecidos) oferecem mais recursos e desempenho que o Uno por preços às vezes até menores.

Características Técnicas do Minima

O ponto básico do Uno R4 é manter a compatibilidade com as placas de expansão para o Uno (shields): mesmo formato, mesmos conectores (tamanho, posição e sinais) e operação a 5V.

O conector USB é agora um conector USB C e está ligado direto ao microcontrolador. No runtime Arduino, a comunicação por esta USB continua sendo feita pelo objeto Serial, enquanto que a UART continua conectada aos pinos digitais 0 e 1 é acessada como Serial1. Temos dois canais DAC (para fazer o pessoal se lamentar da biblioteca Arduino chamar PWM de analogWrite) e uma interface CAN (mas sem o hardware necessário para conexão a um barramento). O regulador de tensão é agora chaveado e permite alimentar com até 24V.

A placa tem um conector para depuração (marcado como SWD), mas ele exige um hardware externo.

Na parte de baixo da placa temos um coração estanhado que está conectado a um pino com suporte a touch. Por enquanto não existe suporte de hardware para isto.

Mas a estrela do hardware é o microcontrolador Renesas RA4M1. Rodando a 48MHz, é um ARM Cortex M4 (com suporte a ponto flutuante). Temos 256 kbytes de Flash e 32 kbytes de Ram. Fiz um teste rápido de desempenho com inteiros usando o meu programa de cálculo do Pi:

  • Para calcular 200 dígitos, o Uno R3 levou 917ms, o R4 apenas 11ms
  • Para calcular 1000 dígitos, o R4 levou 201 ms. A Raspberry Pi Pico demorou 182ms e o ESP32 89ms.
Detalhe: eu queria ter calculado com 2000 dígitos, como fiz com o XIAO original que também tem 32K de Ram, mas deu falta de memória na hora de linkar o sketch. Provavelmente por o runtime do R4 usar o mbedOS.

Preço

A questão de preço é sempre controversa.

Vamos começar olhando os preços oficiais, na loja da Arduino: um Uno R3 sai US$27,60 e a R4 Mínima por US$20,00. Portanto uma boa redução de preço, para um produto muito mais poderoso.

Só que aqui nós estamos acostumados com os clones do R3, que tem um preço muito inferior ao original.

Junto com o lançamento do R4 temos o anúncio de uma nova revenda oficial da Arduino aqui no Brasil. a Maker Hero. O preço da R4 Mínima, no momento que escrevo é R$ 209,90 (cai para R$ 199,40 se você pagar no PIX). Para comparação, um R3 "genérico" na mesma Maker Hero sai R$ 94,90. Portanto a percepção é que o R4 sai o dobro de um R3.

E não vamos esquecer da concorrência. Ainda na Maker Hero, um Raspberry Pi Pico original sai R$ 49,90 e uma placa genérica com ESP32 sai em torno dos R$70.

Compatibilidade

Apesar da alta compatibilidade de hardware, o software apresenta alguns desafios. Principalmente no caso de bibliotecas que usam recursos de mais baixo nível.

E Daí?

A Arduino Uno R4 é um grande avanço de desempenho sobre o já obsoleto Uno R3. O nome e o esforço de compatibilidade mostram o empenho em capitalizar o sucesso do modelo anterior.

Existem vários pontos ásperos ainda, principalmente no lado do software. É de se esperar que isto melhore nos próximos meses.

Mesmo com um Cortex M4, o R4 está longe de ter um desempenho estelar. Placas mais baratas, como a Pi Pico e as com ESP32, trabalham com clock superior e possuem capacidades maiores de memória.

Pessoalmente acho que a Pi Pico e as placas com ESP32 apresentam melhor relação de custo/benefício, mas o nome Arduino tem bastante peso e o preço da R4 é, pelo menos, tolerável.

Prevejo sucesso desta placa.

Observação: Desde 2018 eu contribui com artigos para a Maker Hero, que é agora revendedora oficial da Arduino. Comprei o meu Uno R4 Minima no site, da mesma forma que qualquer outro cliente da Maker Hero. Já o meu Uno R4 WiFi foi enviado pela Maker Hero em troca de artigos futuros.


Nenhum comentário: