quinta-feira, janeiro 16, 2020

Arduino Nano 33 BLE - Primeiras Impressões

Ano passado a Arduino AG* lançou quatro novos Arduino Nano:
  • Arduino Nano Every, que usa um microcontrolador ATmega4809 que é um ATmega turbinado tanto em desempenho como em memória.
  • Arduino Nano 33 IOT, com um microcontrolador ATSAMD21 (Arm Cortex M0+) e um ESP32 para comunicação WiFi e Bluetooth.
  • Arduino Nano 33 BLE, com um microntrolador nRF52840, um Arm Cortex M4F com comunicação Bluetooth 5.0. A placa inclui um sensor inercial de 9 eixos.
  • Arduino Nano 33 BLE Sense, que é um Arduino Nano 33 BLE com uma penca de sensores adicionais na placa.
Enquanto o Every é uma evolução simples do Nano original, os demais modelos mantem o formato e a pinagem (porém operando a 3,3V) mas usam processadores ARM e possuem recursos de conectividade sem-fio.

Eu ganhei de presente um Arduino Nano 33 BLE e este é o primeiro post de uma série que pretendo escrever sobre ele.



* Para tentar diminuir a confusão entre empresa, plataforma e placa, vou chamar a empresa que projeta e vende os Arduinos oficiais pelo seu nome oficial.

O Fator Nano

O Arduino Uno usa um "fator de forma" (dimensões, posicionamento dos conectores e sinais nos pinos) que começou com o Arduino Duecimila e se tornou "padrão de mercado". Embora este formato tenha se mostrado apropriado para o empilhamento de shields, ele é relativamente grande para várias aplicações.

Tanto a Arduino AG como outras empresas tentaram emplacar outros formatos, com sucesso relativo. Daí uma certa surpresa em estas placas adotarem o fator de forma do Nano ao invés do formato usado pelas placas MKR da própria Arduino AG.

É um fator que eu sempre gostei para montagens, pois pode ser encaixado numa protoboard. As novas placas também estão disponíveis sem os conectores e foram projetadas para poderem ser soldadas diretamente sobre outras.

ARM Cortex-M

A wikipedia (em inglês) tem uma longa página sobre estes processadores.  Resumindo, são processadores ARM 32 bits para uso em microcontroladores. Os diversos modelos variam em termos de recursos e desempenho, com consequentes variações em preço e consumo de energia. O M0 é o mais simples e o M4F está (atualmente) próximo do outro extremo.

O M4F inclui recursos como operações com ponto flutuante e instruções DSP, o que torna apropriado para aplicações que demandem cálculos.

nRF52840 e NINA

O processador nRF52840 do Nano 33 BLE está em um módulo NINA-B30,  O nRF52840 inclui o processador M4F, 1M de Flash, 256K de Ram, Bluetooth 5 e mais umas coisinhas. O processador roda a 64MHz.

Sendo componentes padrão e com o esquemático disponível no Arduino.cc, não será surpresa se no futuro tivermos clones do Uno 33 BLE.

Vamos Piscar um LED

Vou deixar uma discussão mais profunda para os posts seguintes e ir direto para o que todo mundo espera: rodar o Blink e ver o LED piscando.

Como é de se esperar, o suporte ao Nano 33 BLE na IDE do Arduino é instalado diretamente através do Board Manager:



Conectando a placa a um micro Windows, os drivers necessários devem ser automaticamente instalados. O Mac e o Linux não necessitam da instalação de drivers.

Agora é carregar o blink dos exemplos, selecionar placa e porta e mandar compilar e carregar:


E temos um LED piscando alegremente:


Em Breve...

Entre os passos futuros estão experimentar o sensor inercial na placa e aprofundar um pouco abaixo da biblioteca do Arduino e examinar o RTOS que está rodando no processador.


Links Úteis

https://www.hackster.io/news/introducing-four-new-arduino-nanos-869b8abbccb4
https://store.arduino.cc/usa/nano-33-ble
https://www.arduino.cc/en/Guide/NANO33BLE


Nenhum comentário: