A placa Intel Galileo é a primeira placa com pinagem padrão Arduino que possui um processador de arquitetura Intel. Anunciada na Maker Faire Roma do ano passado, essa placa de desenvolvimento traz como principal atração o processador Intel Quark SoC X1000, o primeiro produto dessa linha, desenhada para aplicações que demandam baixo consumo e alta performance, além da já conhecida facilidade de prototipagem da plataforma Arduino. É bem fácil de usar e foi pensada para iniciantes que queiram fazer projetos rápidos, que podem até ter um nível de complexidade mais alto. Chega ao mercado com um preço bem atraente, o que permite que hobbyistas e curiosos possam também se arriscar a trabalhar com ela em seus pequenos projetos ou descobertas.

Essa placa é um projeto completamente open-source, com todo o esquema eletrônico e os detalhes da placa disponíveis para download. Provavelmente o primeiro hardware completamente open-source da Intel.

Veja uma foto da placa abaixo:

Intel Galileo

Essa placa suporta shields Arduino, além de seu ambiente de desenvolvimento (Arduino Software Development Environment (IDE)) e as bibliotecas de código livre. A placa de desenvolvimento roda o sistema operacional Linux, que já vem previamente instalado e configurado e as bibliotecas de software do Arduino, possibilitando o uso de tudo que é feito para esse padrão de sucesso. A Galileo, no entanto, pode ser programada de qualquer PC com Windows, Mac ou Linux via USB device. Poderíamos dizer, de maneira simplificada, que a placa Intel Galileo possui um Linux mínimo e um simulador de Arduino UNO R3 por software, com um processamento bem mais alto. A distribuição linux que vem instalada na placa é o Poky 9.0.2 (Yocto Project 1.4 Reference Distro). É possível instalar uma distribuição linux no SD card externo e bootar a placa para rodar com suporte a diversos módulos externos, que poderiam ser conectados aos barramentos extras, por exemplo.

O processador Intel Quark SoC X1000, primeiro da família Quark, possui uma arquitetura de 32 bits, é single core e single thread e, claro, suporta o instruction set Pentium (ISA)-compatível, ou seja, é binário compatível com programas Linux compilados em PCs x86 32 bits não havendo necessidade de cross compilação, e pode operar a 400 MHz.

Abaixo é apresentado um diagrama completo da Galileo, desenhada de maneira intuitiva. 

Intel Galileo

A Intel promete distribuir gratuitamente 50 mil placas Galileo para 1000 universidades em diversas partes do mundo até abril de 2015, conforme disse Brian Krzanich, CEO da empresa. Esta é uma grande ideia da Intel, uma vez que se a comunidade usar seu novo processador e estudantes se familiarizarem desde cedo com essa plataforma, diversos produtos começarão a ser projetados com esse processador, devido ao conhecimento dos técnicos do assunto e do suporte da comunidade Arduino, que cria diversos drivers de maneira padronizada e encapsulada.

Intel Galileo

Alguns detalhes mecânicos e de hardware da Galileo

Sobre os detalhes mecânicos da placa, ela possui as seguintes dimensões: 10,7 por 7,2 cm. Também possui quatro furos para fixação da placa.

A especificação completa do que a placa Galileo pode oferecer está abaixo:

Além de possuir compatibilidade total de software e hardware Arduino padrão UNO R3, esse computador embarcado também tem diversas interfaces de comunicação com o mundo real:

A Galileo não dispõe de saída de vídeo ou de áudio de qualquer forma.

Intel Galileo

Para alimentar a placa é necessária uma fonte bem regulada de 5V. Na caixa da Galileo, além da placa, vem uma fonte regulada de 5V@2A com diversos plugs AC para diferentes regiões do mundo. Para comunicação com o PC, um cabo micro USB é suficiente para comunicação. Ao se conectar algo à alimentação de 5V da placa, por exemplo em seu pino de shield Arduino que consegue fornecer essa tensão, a máxima corrente permitida para fornecimento é de 800 mA. O mesmo valor de corrente caso a placa alimente um shield ou circuito externo em 3V3.

Os pinos de entrada e saída são compatíveis com 3V3 ou 5V. Conversores de nível Texas Instruments TPS2051 tomam conta disso. Existe um jumper na placa que permite que a placa seja compatível com 5V. Isso faz com que os shields Arduino, que servem no UNO R3, funcionem perfeitamente na Galileo.

Também pode ser escolhida a posição do jumper para suportar 3V3. Os Shields Arduino de 3V3 nessa configuração e que não utilizem o header extra, com o do Arduino XMEGA ou do Arduino DUE, podem ser utilizados também com sucesso. Os Jumpers estão destacados na figura abaixo.

Intel Galileo

Cada um dos I/Os dos 14 digitais do barramento Arduino podem fornecer 10 mA. de corrente ou receber 25 mA. Todos possuem resistor interno de pull up de 5.6K ou 10K que pode ou não ser habilitados por software. O máximo de corrente que pode ser fornecida, no entanto, é de 80 mA – é bom ficar de olho nessa especificação para não danificar a placa Galileo. Algumas experiências já foram feitas com IOs para determinar o máximo da velocidade que se conseguiria mudar seus estados. Até 2,93 MHz foi conseguido nos IO2 e IO3 (Estes são os dois únicos pinos da placa que podem conseguir chegar a tal velocidade. Com digitalWrite() é possível clock até 477 kHz, fastGpioDigitalWrite() 680 kHz e com o comando fastGpioDigitalWriteDestructive() é possível chegar aos 2,93 MHz ). Como em todos os sistemas baseados em sistemas operacionais de uso genérico (não RTOS), a determinação exata dos tempos não é precisa ou garantida. A reação ou atendimento a qualquer evento é função das tarefas que o processador tem para executar. O jitter pode ser uma preocupação para um sistema que, além de controlar ou monitorar algo crítico, também precise realizar algum processamento no momento do evento. Esse efeito pode ser, também, consequência do overhead causado pelo kernel do sistema operacional, rodando em background, mas sob responsabilidade do mesmo processador.

Intel Galileo

Os conversores analógico-digital são de 12 bits, do tipo SAR e, por default, medem de 0 a 5 Volts. Na Intel Galileo não é suportada o uso de AREF, referência de tensão externa para circuitos analógicos. A conversão AD é feita por um CI externo, o Analog Devices AD7298.

A SPI foi concebida para sempre agir como master, nunca como slave. É programável até 25 MHz mas, no entanto, o seu default é 4 MHz, para suportar os shields arduinos. As comunicações seriais I2C, que pode operar até 100 kHz e somente como master, e UART operam normalmente e fazem uso da uso normalmente das bibliotecas Arduino.

A placa tem dois botões, um para resetar o sketch programado (programa em arduino) na placa e o outro para reiniciar inteiramente o computador embarcado. Note que, ao reiniciar o Intel Galileo, é necessário antes desconectá-lo da USB, reiniciá-lo e, após o religamento, conectar novamente o cabo USB ao PC onde está sendo realizada a programação para que possa enviar o programa do PC host para o Intel Galileo. Se a placa possuir um cartão SD, é possível que a Galileo armazene diferentes sketches, claro.

Toda a alimentação é responsabilidade do CI Texas Instruments TPS65512. Ele conta com saídas de 1,2, 3,3 e 1,8V.

Software

Para programar a Galileo, entre no site do software do Arduino e baixe a versão que suporta essa placa (investigamos a Versão 1.5.3). Uma forma interessante de saber o que é suportado para essa placa pela comunidade, é navegar pelos exemplos e verificar as diferentes interfaces de comunicação, sensores, algoritmos e periféricos disponíveis. Abaixo está mostrado o que essa versão já suporta para a placa Galileo. Abaixo está mostrado o que essa versão já suporta para a placa Galileo.

Intel Galileo

Onde Comprar

A Mouser já está fazendo a pré-venda no Brasil. A placa está sendo vendida a US$ 67,00 + US$ 40,00 de frete + impostos a serem calculados. Compre aqui.

Agradecimentos

Revisado por Fabio Souza, Henrique Rossi, Diego Sueiro, Claudio Sampaio (Patola)  e Carlos Freitas, que escrevem para esse site.

 

Referências

Esquemático em PDF

Esquemático: Arquivos de Orcad

Getting Started

Site do Arduino

Site Techtudo

Laboratório de Garagem

Massimo Revela a Placa Galileo

Site da Intel – Galileo para universidades

Site da Intel

Wikipedia

Site de John Boxall

CNET

Bugs conhecidos da placa

Como fazer os IOs da Galileo operar a 2.93 MHz

Software: Exemplos para rodar no linux

Vídeos

Vídeo que apresenta a Galileo

 Vídeo: Tirando da caixa

Vídeo: Primeiro contato com a Galileo – Mouser

Video: Massimo e Pete Dice apresentam a placa

Video: Programando a Galileo utilizando Wyliodrin