Contact Mouser (USA)  (800) 346-6873     |     Feedback        
View Cart     |     Change Location  USD
United States United States

Please confirm your currency selection:

US Dollars
Home » Applications & Technologies » Intel Galileo vs. Raspberry Pi
Applications & Technologies

A Comparison of Open Source Hardware: Intel Galileo vs. Raspberry Pi

By Lynnette Reese, Mouser Electronics

Featured Products


Featured Suppliers


Resources




The Intel Galileo and the Raspberry Pi (RPi) are both do-it-yourself (DIY) electronics hardware development boards featuring embedded processors. RPi is loosely labelled as open source in this article, but it does not qualify as open source hardware per the strictest standards, since some of the chips on the board are notoriously difficult to get support for, rendering deep control impossible and cobbling creativity in the process. Realistically speaking, the highest levels of openness for hardware would include an open core, and yet many products claim to be open source hardware that go up to, but do not include, total control of the processor. Additionally, although RPi is a wonderful educational and media processing tool, RPi cannot be reproduced freely, as there is a copyright on the RPi schematics. Manufacture of the board is limited to a couple of licensees.

We do not have full, deep control of the processor in Galileo, but Intel has made an Arduino-level effort to allow users to create whatever they want with the hardware as it’s given. Arduino products can be fully re-produced and sold as a complete copy-cat; a nasty lack of gratitude for Arduino’s generosity. Another difference is that ARM processors are naturally “more open” than an Intel product simply by the fact that they are licensed by many, and there are multiple tools (including free tools) out there for ARM processors. Having said that, Intel’s effort with Arduino to produce Galileo has been top-notch, and injects something other-than-ARM into the open source hardware landscape. No company or board will satisfy all people (and their projects) all of the time, but Intel obviously understands the tremendous benefits that an honest effort in open source hardware will bring to both Intel and the open source movement in general. Essentially, Intel further legitimizes what the open source movement has known all along: open source benefits everyone in unique ways, unlike the products of common business models.

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, memory-rich and powerful processor (Quark) and is compatible with existing Arduino open source hardware (OSHW). Electronics aficionados (nerds) 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, like those from Mouser Electronics, are now online (mouser.com). OSHW began in academia. 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, more widely dispersed, and is rapidly growing since it became more modular (much like chunks of code in Open Source Software) via singular manufacturing entities such as Arduino. Not only are sources openly accessible, but hardware is ready-made and pieces can be simply bolted together. Detailed expertise in technology is not required for implementation.


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. (Galileo is compatible with existing Arduino shields that fit the Arduino Uno R3.) RPi is normally clocked at 700MHz, but is easily overclocked (with the consequence of excess heat.) You might think that the comparison ends here, with RPi being faster, but don’t forget to consider details such as the number of instructions completed per clock cycle. 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." i

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 productivity-related 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 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 sans all things Arduino. Don’t count on running Windows on Galileo, however, since Windows is a proprietary, closed source operating system (and there is also the problem of faking a ROM BIOS for Windows). The Galileo datasheet mentions Windows as a compatible operating system. This actually refers to the host PC that is used to program Galileo. The host can be a Mac, or a computer running Windows or Linux. 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 device, has an existing well of software, and historically the vast majority of x86 SoCs 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 (objects, animals, or people) have unique embedded identifiers that automatically communicate (over the internet) with other things (machines, computers, or objects) without direct human intervention, to automatically transfer data for the purpose of self-regulation or for acting in concert on a grand scale. Implementation would result in big data collections and great energy, cost, and time savings with efficiencies gained from every aspect of the interaction of "smart" things. It’s a logical conclusion that Quark demonstrates Intel's interest in the evolving IoT. Assuming users match to the x86 instruction set, some bleed-over from the desktop domain to the embedded domain (and IoT) is feasible (using Linux, of course.) Except that no one really has the Internet of Useful Things worked out yet.

Intel's architecture is kind of special, due to the long history associated with it. In 1981, IBM chose the Intel 8088 and Microsoft DOS for the personal computer. As a second-source for IBM, Intel licensed the architecture to AMD. Over the years, the x86 architecture became a PC standard. Up until 2005, the Apple processor was not an x86, but Freescale’s Power PC, an equally powerful, but different architecture. (Motorola spun off Freescale Semiconductor in 2004 to concentrate on wireless.) The creation and propagation of the Linux operating system fostered the open source movement, and this concept thrives on the internet with many open source projects and communities. Linux can be altered to run on any architecture, and each architecture has its own tree in the Linux community where the kernel, drivers, and so forth are maintained with respect to many different processor architectures as other new technologies are supported in Linux.

The embedded world evolved very differently. There were too many choices for processors, which were mainly chosen for price and features. With embedded devices, the end user is not expected to ever need to look under the hood. Therefore, the embedded processor market fragmented into varied architectures with a very large and even confusing array of combinations of features and processing power from many different manufacturers. iii

The Intel Galileo board is genuinely Arduino, and source code is available for download with no software license agreement other than open source licenses. Hardware and software source files, including schematics, are provided for download. Intel has good documentation and has seeded the community by giving away several thousand Galileo boards.

The Galileo has some differentiating attributes such as PCI Express (PCIe) and a Real Time Clock (RTC), whereas the RPi has peripherals well-suited for graphics-intensive applications for HD 1080p streaming video. Galileo is a memory-rich, fairly high-performance 32-bit x86 with traits well-suited to embedded portables or wearable devices: small in size (highly integrated), low power, and fairly low cost with respect to the value that is packed in this SoC. Some major differences: RPi has a Graphics Processing Unit (GPU.) Galileo does not. Galileo has an I2C-controlled I/O expander that runs at 200Hz. I/O that runs through the any of the three "GPIO PWM" blocks on the Galileo schematic is going to be limited to only 200 updates per second. IO13 avoids the limitations of the expander, as well as the UARTs, SPI, I2C, and the ADC. Galileo boots from on-board memory. RPi can only boot from the SD card. Galileo has the first PCIe slot supported by Arduino.


Cost: Galileo vs. RPI

The Galileo board costs almost twice as much as the RPi model B, but there are some hidden costs with RPi, because all that comes in the box is the board. To get RPi running, you need: a USB power supply (at least 700mA at 5V) and an SD card with boot code installed. You may also want a Keyboard, Mouse, HDMI-to-DVI cable (for a monitor), and the informed RPi user will want a powered USB Hub (for parking power-hungry USB devices.) The RPi is not fussy; an old analog TV can be a monitor via the RCA port, but it needs a standard RCA cable. On the other hand, Galileo can be booted and programmed immediately out of the box, since it ships with a USB cable, power supply, and some stand-offs. Galileo boots without the need for external memory like the RPi.

Before drawing judgments on the fact that RPi is shipped with no other goodies, i.e., solo in the box, note that Raspberry Pi Foundation is a bonafide, registered non-profit with a popular product. By 2011, RPi was being mass produced and sold over one million units within a year. Intel is not a non-profit, however, they built the Galileo with the input and guidance of Arduino. Arduino has built a reputation on making accessible and affordable hardware, with an emphasis on education and open source projects. With their reputation for quality and power, and Arduino's guidance, Intel managed strike a balance between these sometime divergent ideals.


Booting the Boards

Galileo can boot from on-board memory. The RPi boots only from an SD card (4MB or more), which needs an image that can be found on the Foundation website. Thus, RPi requires formatting a card and copying the image before booting for the first time.


Performance

Arguably, "performance" is subjective, and depends on what you want to do with the board. Recall that Galileo runs the 400MHz Pentium-class Quark. RPi is normally clocked at 700MHz, but since RPi performs fewer calculations per cycle, they are roughly equivalent in this aspect. The big difference is that RPi includes a GPU as a co-processor and is well suited to work with high definition graphics. The RPi can provide Blue Ray-quality play back. RPi allows itself to be over-clocked, but heat dissipation increases and it might need a fan to prevent erratic operation when overclocked. Galileo sports a 32-bit Pentium ISA-compatible SoC that uses 1/10th the power of the Intel Atom and a price point within reach of open source projects. Galileo could be applied in remote monitoring, but without a CAN bus, Galileo cannot interface easily with some industrial networks. However, WiFi is available with an adapter on the PCIe slot.

Over the last decade or so, embedded processors have begun to interact more with the end user over the internet. Embedded devices have begun to look more like desktops in terms of interaction with people and networking, and the demarcation is getting fuzzy. The line gets more fuzzy with the x86-based Quark in the OSHW community, since so much software has already been developed to run on x86 from a desktop point of view…and yet Quark is an embedded processor on Galileo. (If you have to program a processor via a host, it's embedded. Once you install the Linux operating system for use on Galileo, Galileo is a technically a desktop.) Although there is an Open Core movement afoot, OSHW is not always 100% open, because the processor chip is not open source. (Depending on how you look at it: ARM cores are licensed, but not "open" to reuse without cost.) Some manufacturers will make their devices more accessible by allowing users some control over a closed-source chip (e.g., software drivers that allow some manipulation without exposing contents lower in the stack.)


The Major Differences

Both Galileo and RPi are excellent boards, and they both have the most important feature of all: an established ecosystem with open sources. Mouser Electronics (www.mouser.com) offers the Galileo, and many of the products mentioned in this article. With the Galileo, Intel takes the unprecedented step of offering a cheap, easy-to-use chip available in an Arduino certified board to deliver the x86 architecture on an embedded platform. Galileo also follows the Arduino paradigm of accessibility through affordable pricing. It's clear that Intel is taking OSHW seriously, and this can only be a good thing. We will see more open source hardware from Intel. The best way to compare is side-by-side. Several tables provide main items that can make or break the decision to move forward with either of these boards.


Table 1: Comparison of Processors & on-Board Features

  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 700MHziv
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 2: General Purpose I/O

  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.


Table 3: Comparison of Peripherals/Utilities

  Galileo Raspberry Pi (Model B)
USB 2.0 2 ports (AB and B). USB 2.0 Full Host and Client. Arduino library support (does not convert USB input to ASCII for you.) 3rd USB Host available over PCIe. 2 external ports. Two USB ports and share one upstream port to the LAN9512 chip that handles Ethernet as well. Max current draw is 100mA from USB ports, not the expected 500mA.
Ethernet (RJ45) 10/100 Mbps with a dedicated PHY for Ethernet control. One RJ45 port. 10/100 Mbps via a built-in USB-to-Ethernet adapter. One RJ45 port.
WiFi No. Can use the PCIe slot or a USB port with a USB adapter to obtain WiFi.  Intel® Centrino N135 min-PCIe wireless module is recommended by Intel. No. Can support WiFi with a USB adapter, using one USB port.
SD Card Slot Yes, a micro SD slot. Includes an on-board dedicated SD controller. Standard SD slot, min 4GB, class 4 or higher.  RPi must boot from a portion of the SD card.
PCIe Yes, PCI Express mini.  This enables WiFi, SD card, USB Host, Bluetooth, or GSM (cellular phone technology.) No
TWI/I2C
TWI means "Two Wire Interface"
Yes No
SPI Yes. Native controller, Master SPI programmable to 25MHz. Additional Slave SPI available only through via a USB Client connector. Yes
Serial Data (UART) Yes. Two, one is Tx/Rx only ported as a 3-pin RS-232 3.5mm audio-type jack. Programmable. The other has dedicated pins. Yes, but no dedicated pins;  uses up GPIO.
GPIO Up to 6 Analog, Muxed. 
Up to 14 Digital, of which up to 6 can be used as PWM.
17 GPIO pins (access to I2C, UART, and SPI.) Input voltage limited to 3.3v only. 26 pin header GPIO interface
Reset button Yes No
DSI (Digital Serial Interface) No Yes (Used for char-driven LCD displays)
CAN Bus No No
GPU No Yes
EEPROM Yes. 11KB.  
HDMI No Full HD 1920 X 1080
DVI No No
VGA No No
On-board ADC Yes. One AD7898. MUXed. No
Clock Internal. Pins for an external clock, too. On-board RTC.  
Camera No Header only. Expansion accessory required. A separate RPi Camera board exists.


Table 4: Board Requirements

  Galileo Raspberry Pi (Model B)
DC Power Supply (VIN) Included. AC/DC adapter with a 2.1mm center-positive plug. Output rating of the power adapter is 5V at up to 3A. Galileo must only be used with 5V power supplies. Not included. Micro USB-plug charger providing 5VDC and 0.7A (min) or up to 2A (max ) if you plan to use accessories.
Power Rating 15W 3.5W (Model B)
Ethernet Cable Cat5e/Cat6; not included. Cat5e/Cat6; not included.
USB 2.0 type A/B-micro cable Included. Not included.
Mini SD Card Not required. At least a 4MB, Class 4 or better.
Powered USB Hub If you require >2A for peripherals powered via Galileo. Recommended to power any USB peripherals that would take RPi current draw above 1A.


Table 5: Comparison of Software and Development Tools

  Galileo Raspberry Pi (Model B)
Operating System(s) for the Target Arduino Linux Distribution for Galileo Linux (e.g., Raspbian, Debian, Fedora, ARCH Linux ARM), FreeBSD, & NetBSD.
Integrated Development Environment (IDE) The Arduino IDE.
Galileo can run x86-based Linux distros without Arduino, so IDEs for Linux also qualify.
Python IDE, e.g. WebIDE. ARM compilers, etc. Many choices.
Supported Host-resident Operating Systems Windows 7 and 8, Ubuntu 12.04 Linux (32- and 64-bit), Mac OS X 10.8.5 and up Linux
Example Software Yes, Arduino Sketches.
http://arduino.cc/en/ArduinoCertified/IntelGalileo
Yes: www.raspberrypi.org
Programming languages Programming languages that support .586 GCC and ICC compilers are supported. Python, C, C++, Java, Scratch, Ruby. Any language that compiles for ARMv6.
Drivers Yes, existing Arduino libraries. See Galileo FAQ:
https://communities.intel.com/community/makers
Yes. See Raspberry Pi Foundation.
Boots from: On-board firmware SD card with bootcode image.


Table 6: Applications

Application Space Technology Galileo Raspberry Pi (Model B)
Multimedia: Video No Yes
  Audio No Yes
  Camera No Yes, with purchase of an RPi camera module.
Industrial/Automotive: CAN Bus No No
  LIN Bus No No
Networking: WiFi Yes, via PCle or via USB with an adapter. Can support WiFi with a USB adapter, using one USB port.
  Ethernet 10/100. Dedicated PHY. 10/100. Shares upstream port with 2 USB ports.
Tablets/Smartphones: DSI interface No Yes
Connectivity: USB 2.0 1 Host port
1 Client port
Via PCIe with USB2.0 Host support
Yes
Two USB ports
  1394 No No
  Arduino Shields Yes, direct connection. Yes, with separately purchased Arduino Uno or accessory boards.
  Additional Boards & accessories No Yes. RPI camera, and others.
Storage: SD card Mini SD Mini SD (slot mounted under the board.)


i http://www.raspberrypi.org/faqs
ii Ross Atkin, http://www.youtube.com/watch?v=XT5lA8BZq8Y
iii http://news.cnet.com/Intel-and-AMD-A-long-history-in-court/2100-1014_3-5767146.html and
http://jolt.law.harvard.edu/digest/patent/intel-and-the-x86-architecture-a-legal-perspective-2

Lynnette Reese is a member of the technical staff at Mouser and holds a B.S. in Electrical Engineering from Louisiana State University. Prior to Mouser, she completed a combined 15 years in technical marketing in embedded hardware and software with Texas Instruments, Freescale, and Cypress Semiconductor. She started her career as an applications engineer at Johnson Controls.

Mouser.com Comments

Mouser welcomes lively and courteous interaction on our website. In order to host a cooperative discussion, please keep comments relevant to the topics on this page. All comments are reviewed prior to being posted to ensure appropriate language and content is used.