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:
- caso você ainda não possua a IDE Arduino instalada, faça seu download;
- 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:
- é interessante dar permissão ao dispositivo USBasp (dispositivo que a Metaboard emula). para isso, edite o arquivo de regras udev:
- e adicione as linhas:
- reinicie o udev:
############################################################## 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 ##############################################################
sudo gedit /etc/udev/rules.d/60-objdev.rules
SUBSYSTEM!="usb_device", ACTION!="add", GOTO="objdev_rules_end"
# USBasp
SYSFS{idVendor}=="16c0", SYSFS{idProduct}=="05dc", GROUP="users", MODE="666"
LABEL="objdev_rules_end"
sudo /etc/init.d/udev restart
agora sim, para programar a Metaboard tome os seguintes cuidados:
- execute a IDE Arduino e conecte a placa Metaboard;
- verifique se no menu Tools -> Board aparece a placa Metaboard. ela deve ser a última opção. selecione-a;
- escreva seu programa (ou abra um no menu File -> Examples);
- 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
- 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.




































