Page 6

EETE FEB 2014

Sponsored Contributed Article A Comparison of Open Source Hardware: Intel Galileo vs. Raspberry Pi By Lynnette Reese, Mouser Electronics The Intel Galileo and the Raspberry Pi (RPi) are both open source, do-ityourself (DIY) electronics hardware development boards featuring embedded processors. It’s not really fair to compare RPi to Galileo, since the choice should be based upon the goal of the project. Here we detail similarities and differences so that decisions can be made indirectly prior to purchase. Galileo has a new, memoryrich and powerful processor (Quark) and is compatible with existing Arduino open source hardware (OSHW). Electronics aficionados have been working DIY projects like Heath Kits since the late 1940s. Characterized by ads in the back of magazines, these kits really picked up in the 1970s. People met physically at swapmeets (flea markets for enthusiasts) to trade, sell things, and exchange ideas. This community has expanded to include a very diverse fan base, and meets in online forums and at events like SXSW or Maker’s Faire. Major electronics catalogs are now online (mouser.com). OSHW was developed as a hopeful effort to provide a simple means for education in embedded hardware, where none (at least not low cost, nor as well-documented) had existed before, post-Heath Kit. OSHW has become better known and is rapidly growing since it became more modular (much like chunks of code in Open Source Software). Not only are sources openly accessible, but hardware is ready-made and simply bolted together. Detailed expertise in technology is not required. Different Applications The Galileo board sports a 400MHz Pentium-class System-on-a-Chip (SoC) called “Quark,” that was made by Intel cooperatively with Arduino. RPi is normally clocked at 700MHz, but is easily overclocked (with the consequence of excess heat.) Both are single core processors, but RPi is apparently less efficient in how many instructions it executes per clock cycle. According to the Raspberry Pi Foundation, “The overall real world performance is something like a 300MHz Pentium 2, only with much, much swankier graphics.” Raspberry Pi is best for handling media such as photos or video, and a Galileo is an excellent choice if you have a project requiring sensors (and decent memory and processing power), monitoring, or have productivityrelated Table 2: General Purpose I/O applications (Galileo has a real time clock.) RPi could be used as a networked security camera or a media server, but without an analog-to-digital converter, analog sensors would not be easy to implement. Galileo   Galileo   Raspberry  Pi  (Model  B)   Analog  I/O   Up  to  6  Analog  Inputs   (Muxed  via  an  I2C-­‐ controlled  expansion   header),  with  12-­‐bit   resolution.   17  general  purpose  I/O   (GPIO)  pins  (access  to  I2C,   UART,  and  SPI.)  26-­‐pin   header   Digital  I/O   14  Digital  I/O  that  can   be  used  as  input  or   output   8  GPIO  pins  that  can  be   programmed  as  Digital   Input  or  Output   PWM   Up  to  6  of  the  DI/O   can  be  configured  as   Pulse  Width   modulation    (PWM)   One  of  the     digital  I/O  pins  can  be   designated  as  PWM.   could be used to develop smart everyday “things” with lots of sensors, such as watches, health monitoring or fitness devices, or simply be an inexpensive personal computer running Linux. Don’t count on running Windows on Galileo, however, since Windows is a proprietary, closed source operating system. The Galileo datasheet mentions Windows as a compatible operating system. This refers to the host PC that is used to program Galileo. Intel has provided development tools for the host PC to run on Windows, Linux, or a MAC. Compilers for each of these host environments (called “cross compilers”) are free. The Galileo itself comes with an Arduino Linux distribution. The Quark, as an x86, has an existing well of software, and historically the vast majority of x86’s are implemented in desktops. (Hint: Set compilers to .586 for Quark x1000.) Intel is eyeing the next wave of technology advances, known as “The Internet of Things” (IoT) or “Industry 4.0”. IoT is a concept in which things have unique embedded identifiers that automatically communicate (over the internet) with other things without direct human intervention, in order to automatically transfer data for the purpose of self-regulation. The result would be great energy, cost, and time savings with efficiencies gained from every aspect of the interaction of “smart” things. Quark demonstrates Intel’s interest in evolving IoT. Spill-over from the desktop domain to the embedded domain (and IoT) is feasible. The only flaw is that no one has the Internet of Useful Things1 worked out yet. Galileo is genuinely Arduino, and source code is available for download with no software license agreement other     Galileo   Raspberry  Pi  (Model  B)   Board  Dimensions   10cm  x  7cm    (slight  overlap  for  power  jack)   85.60mm  x  56mm  x  21mm    (with  a  little  overlap  for  SD  card  )   Processor   Intel®  Quark  X1000  –  single  core   Broadcom  BCM2835  –  single  core   Description  of   Processor   Quark,  described  by  Intel  at  IDF2013,   is  very  low  power  consumption,  small   form  factor,  and  low  cost;  ideal  for   “wearables,”  and  the  Internet  of   Things†.   Per  ARM  datasheet:    For  devices  such   as  smart  phones,  digital  TVs,  &   eReaders,  delivering  media  &  browser   performance,  a  secure  computing   environment.   Architecture   Intel  ®  Pentium®  Class   ARM®  ARM1176™   Speed   400MHz   700MHzi   Width,  Instruction  Set   32-­‐bit   32-­‐bit   Real  Time  Clock   Yes,  needs  a  3.3v  coin  cell   No   Cache   16  KB  L1  cache   32KB  L1  cache  &  128KB  L2  cache;   shared  with  CPU  &  GPU   RAM   512KB  on-­‐chip  SRAM,  dedicated  for   sketch  storage  &  256MB  DRAM,   dedicated  for  sketch  storage   512MB  SDRAM  (shared  with  GPU)   FLASH  memory   8MB  NOR  Flash  (Legacy  SPI),  for  FW   bootloader  &  sketch  storage   No  permanent  on-­‐board  Flash   memory   EEPROM   11KB   No   GPU   No   Broadcom  Dual-­‐core  VideoCore  IV®   Multimedia  co-­‐processor   External  Storage   Micro-­‐SD  Card  (up  to  32GB),  &   support  for    an  external  USB2.0  drive   SD-­‐card,  &  support  for    an  external   USB2.0  drive   Video  Support   No   HDMI  –  1080p   RCA  (analog),  without  audio   DSI*  –  for  touchscreens   Audio  Support   No   HDMI  &  3.5mm  stereo  audio-­‐out  jack   Status  Indication   LED  –  Board  Power   LEDs  for  –  board  power,  SD  card   access,  LAN  connected,  LAN  activity,   100Mbps  connected   JTAG   10-­‐pin,  Mini-­‐JTAG  header,  to  be   used    with  an  in-­‐circuit  debugger  such   as  909-­‐ARM-­‐USB-­‐OCD  with  the  909-­‐ ARM-­‐JTAG-­‐20-­‐10  converter  (available   at  www.mouser.com),  &  with   OpenOCD/GDB**for  Quark,  &  GUI.   Yes,  headers  P2  &  P3.  (However,   there  is  no  current  support  to  debug   the  Broadcom  &  SMSC  USB/LAN   chip.)**   Compatibility   Arduino  Shields  that  fit  the  Arduino   Uno  R3  3.3V  /  5V  shields   Arduino  board  connects  via  USB.  3rd   party  boards  enable  support  for   Arduino  shields  with  Pi.   *DSI  –  Display  Serial  Interface   **  OpenOCD  support  for  Quark  X1000  may  be  available,  or  not  be  full  featured  as  of  this  writing.   https://communities.intel.com/message/211778  &  https://www.mail-­‐archive.com/openocd-­‐ devel@lists.sourceforge.net/msg04709.html   Table 1: Comparison of Processors & on-Board Features 1 Ross Atkin, http://www.youtube.com/ watch?v=XT5lA8BZq8Y 6 Electronic Engineering Times Europe February 2014 www.electronics-eetimes.com


EETE FEB 2014
To see the actual publication please follow the link above