chipKIT: Arduino + PIC32

chipKIT Uno32™

Em 2011, a Microchip Technology e a Digilent Inc. anunciaram as placas de desenvolvimento chipKIT™, que chegaram como alternativas para a comunidade Arduino. Porém, ao invés dos AVR 8-bit, essas placas são baseadas nos PIC32, microcontroladores 32-bit da Microchip que utilizam o core MIPS M4K.

O objetivo é, além da Microchip entrar no meio Arduino, disponibilizar uma plataforma 32-bit que seja compatível com a maior parte de hardware e código fonte existentes para Arduino hoje. E esse é o ponto forte da solução: o FUBAR Labs foi acionado para modificar o Arduino IDE, para que fosse possível compilar os projetos Arduino para o PIC32, e o resultado disso foi nomeado como Multi-Platform IDE (ou MPIDE), que ainda de traz a possibilidade de selecionar tanto as placas chipKIT™ quando as placas Arduino. E o melhor, a plataforma é de código aberto.

Multi-Plataform IDE

Note que podemos selecionar os hardwares produzidos pela Digilent, pela Microchip e também os tradicionais Arduinos com AVR.

Hardwares suportados

Isso é possível pois os desenvolvedores incluíram o compilador para PIC32, além do já existente para AVR, e o IDE está configurado para selecionar o compilador correto de acordo com o hardware alvo selecionado.

No restante o IDE é exatamente como o oficial, inclusive trazendo todos os exemplos básicos compilando para todos os hardwares.


Exemplo "Blink" no MPIDE

Inicialmente o MPIDE foi baseado no Arduino 0022, e posteriormente foi atualizado do Arduino 0023. Ainda não há uma versão baseada no Arduino 1.0.

Os hardwares são compatíveis com a maioria dos shields existentes, porém, deve-se verificar se o shield opera em 3.3V, e também trabalham com o conversor USB<->Serial da FTDI, como os Arduino. Um ponto interessante é que os conectores de I/Os são "duplos", disponibilizando mais I/Os e mantendo compatibilidade com os shields. Estão disponíveis duas versões:

More Info
  • Formato similar ao Arduino Uno (+ I/Os);
  • MCU PIC32MX320F128H (128 KB FLASH e 16 KB RAM);
  • 80 MHz;
  • 2x SPI, 2x I2C e 2x UART disponíveis;
  • 2x LEDs de usuário.
More Info
  • Formato similar ao Arduino Mega 2560 (+ I/Os);
  • MCU PIC32MX795F512L (512 KB FLASH e 128 KB RAM);
  • 80 MHz;
  • 4x SPI, 5x I2C e 6x UART disponíveis;
  • Dual CAN;
  • Controlador USB OTG integrado (não possui conector na placa);
  • 10/100 Ethernet MAC integrado (não possui PHY nem conector na placa).


Conclusões

Pontos pró:
  • Mais poder, maior memória e maior clock para a comunidade Arduino;
  • Mais I/Os para os formatos de placas convencionais;
  • Mais periféricos (SPI, I2C, UART, CAN, etc.);
  • Compatível com a maior parte dos códigos-fonte Arduino existentes;
  • Compatível com a maior parte dos shields existentes.

Pontos contra:
  • Hardware mais caro para uma solução standalone;
  • Não há opções DIP do PIC32, apenas encapsulamentos SMD, o que torna soluções standalone menos acessíveis;
  • Algumas bibliotecas Aduino são escritas acessando diretamente os registros dos AVR, o que pode implicar em trabalho para compatibilizá-las.


Maiores informações


Olá!


Esta é minha primeira postagem!

Neste blog irei escrever sobre sistemas embarcados, mas especificamente sobre microcontroladores.

O objetivo é ajudar os iniciantes nessa área e incentivar meus próprios estudos.

Seja bem vindo!