Metaboard: Arduino USB fácil
12 de julho de 2010 @ 22:18

uma placa Arduino USB sem componentes SMD?!

Metaboard é uma opção bastante interessante para a plataforma de hardware livre Arduino. desenvolvida pelo MetaLab, foi desenhada para ser o mais próximo possível das placas Arduino, porém com algumas diferenças pontuais:

  • totalmente Open Source, inclusive seu firmware;
  • é USB e não precisa de nenhum CI extra para isso!
  • não possui nenhum componente SMD, o que facilita extremamente sua construção longe das indústrias;
  • seu firmware não é o mesmo do Arduino, ao invés disso utiliza o firmware USBaspLoader que emula um programador USB de microcontroladores Atmel, como a linha ATMEGA utilizada no Arduino, dispensando o uso de conversores Serial/USB como o famigerado FT232;

resumindo, é uma das placas compatíveis com Arduino de melhor custo-benefício, facilidade de montagem e com conexão USB, sem precisar de conversores. porém, ficam algumas limitações:

  • infelizmente seus pinos não encaixam muito bem nos shields feitos para Arduino;
  • alguns programas em linguagem Arduino podem não funcionar, porém, nos testes que estou realizando ainda não encontrei nenhum problema;
  • não permite comunicação serial com o computador ligado na USB.

a falta de comunicação serial pode ser burlada utilizando-a como um dispositivo USB. fiz alguns testes e é possível criar um stream de dados pela porta USB, mas preciso testar melhor sua eficiência. já a incompatibilidade com shields é algo que só um redesenho da placa permitiria. ainda, é possível deixar seu desenho ainda menor, aproveitando o espaço de prototipação da Metaboard.

onde encontrar?

até o momento só encontramos a ITead Studio vendendo-a por $9,50 (o frete é de $2). um preço bastante atraente se comparado com os 30 dólares que em média são cobrados no exterior. é esta versão que estou utilizando atualmente. pretendemos começar a utilizá-la nas próximas oficinas, quem sabe com uma versão da placa redesenhada. quem estiver interessado em ajudar, entre em contato!

como usar?

pode-se programar para a Metaboard utilizando a IDE Arduino. para isso, alguns hacks são necessários:

  1. caso você ainda não possua a IDE Arduino instalada, faça seu download;
  2. procure o arquivo boards.txt (geralmente dentro do diretório arduino-00XX/hardware/arduino/; se você instalou o pacote .deb ele deve estar em /usr/share/arduino/hardware/arduino/boards.txt) e adicione as seguintes linhas no final do arquivo, para identificar a Metaboard como uma placa Arduino válida:
  3. ##############################################################
    
    metaboard.name=Metaboard
    
    metaboard.upload.protocol=usbasp
    metaboard.upload.maximum_size=14336
    metaboard.upload.speed=19200
    
    metaboard.build.mcu=atmega168
    metaboard.build.f_cpu=16000000L
    metaboard.build.core=arduino
    
    metaboard.upload.disable_flushing=true
    
    ##############################################################
    
  4. é interessante dar permissão ao dispositivo USBasp (dispositivo que a Metaboard emula). para isso, edite o arquivo de regras udev:
  5. sudo gedit /etc/udev/rules.d/60-objdev.rules
    
  6. e adicione as linhas:
  7. SUBSYSTEM!="usb_device", ACTION!="add", GOTO="objdev_rules_end"
    # USBasp
    SYSFS{idVendor}=="16c0", SYSFS{idProduct}=="05dc", GROUP="users", MODE="666"
    LABEL="objdev_rules_end"
    
  8. reinicie o udev:
  9. sudo /etc/init.d/udev restart
    

agora sim, para programar a Metaboard tome os seguintes cuidados:

  1. execute a IDE Arduino e conecte a placa Metaboard;
  2. verifique se no menu Tools -> Board aparece a placa Metaboard. ela deve ser a última opção. selecione-a;
  3. escreva seu programa (ou abra um no menu File -> Examples);
  4. antes de clicar em upload e enviar seu programa para o microcontrolador, verifique se o jumper upload está chaveado e pressione o botão de reset na placa para colocar a Metaboard em modo de programação
  5. faça seu upload. ignore as mensagens de warning que possam aparecer.

conclusões

Metaboard é uma placa muito interessante pelo seu baixo custo, facilidade de montagem e por utilizar a porta USB dispensando qualquer conversor.  porém ainda está amadurecendo e talvez um redesenho de sua placa, assim como uma melhora em seu processo de configuração, além de uma forma eficiente de comunicação com o computador torne-a uma das melhores plataformas de hardware livre.