Intel® Galileo Gen2
| |
Intel® Galileo Gen2 Front | Intel® Galileo Gen2 Back |
Overview
The Intel® Galileo Gen2 is a board based on the Intel® Quark™ SoC X1000, a 32-bit Intel® Pentium® processor-class system on a chip (SoC), operating at speeds up to 400MHz.
The Quark processor supports the Yocto 1.4 Poky Linux distribution.
The board has built-in Ethernet with support for Power Over Ethernet(PoE), a USB 2.0 Host Port, micrso-SD slot, PCI Express mini-card slot, 20 digital input/output pins (of which 6 can be used as PWM outputs with 8/12-bits of resolution and 6 as analog inputs with 12 bits of resolution), a micro USB connection, an ICSP header, a JTAG header, and 2 reset buttons.
There is also an integrated Real Time Clock (RTC), with an optional 3V “coin cell” battery for operation between turn on cycles.
The Intel® Galileo Gen2 supports shields that operate at either 3.3v or 5v. The board is designed to be hardware and software pin-compatible with Arduino shields designed for the Uno R3. Digital pins 0 to 13 (and the adjacent AREF and GND pins), Analog inputs 0 to 5, the power header, ICSP header, and the UART port pins (0 and 1), are all in the same locations as on the Arduino Uno R3.
Supported Arduino libraries
The software release supports the following Arduino libraries:
SPI |
EEPROM |
UART |
GPIO |
Wi-Fi |
Servo |
USB Host |
Supported Arduino shields
A list of the supported Arduino shields can be found
here.
Summary
Microcontroller | SoC Quark X1000 |
Operating Voltage | 3.3V / 5V |
Input Voltage | 7-15V |
Digital I/O Pins | 14 (of which 6 provide 8/12-bit PWM output) |
Analog Input Pins | 6 |
Flash Memory | 512 kB |
RAM | 256 MB DDR3 |
SRAM | 512 kB |
Flash Storage | 8MB |
EEPROM | 8kB |
Clock Speed | 400 MHz |
PoE compatible |
Length | 124 mm |
Width | 72 mm |
Differences
Differences between the Intel® Galileo Gen2 and the Intel® Galileo
The earlier Intel Galileo did not have an on-board regulator, so the power supply had to be exactly 5V. The Intel Galileo Gen2 has on-board regulator, so it may be powered with any suitable supply providing 7-15 VDC.
Differences between the Arduino Yùn and the Intel® Galileo Gen2
The Arduino Yùn has two processors: One runs Linux, and an Atmel microcontroller runs the Arduino sketch. The Intel® Galileo Gen2 has one processor. In addition to running Linux, this processor runs the Arduino sketch.
Differences between the Intel® Galileo Gen2 and all Arduinos
Note that a sketch loaded into the Intel® Galileo Gen2 is lost after a power cycle. It is possible to boot the Intel® Galileo Gen2 from a uSD card, and in that case to restore a sketch from the same card. Instructions for doing so are forthcoming.
On-board Linux
The Yocto 1.4 Poky Linux distribution is installed on your Intel Galileo Gen2. You can access various Linux functions with the system() call.
Power
The Intel® Galileo Gen2 can be powered only via an external power supply. The adapter can be connected by plugging a 2.1mm center-positive plug into the board's power jack. The board can operate on an external supply of 7 to 15 volts. The provided power supply provides 12v.
The power pins are as follows:
- VIN: The input voltage to the Intel® board. You can access the voltage supplied via the power jack through this pin.
- 5V: This pin outputs a regulated 5V from the regulator on the board.
- 3.3V: A 3.3 volt supply generated by the on-board regulator. This regulator also provides the power supply to the Quark microcontroller.
- GND: Ground pins.
- IOREF: This pin on the Arduino board provides the voltage reference with which the microcontroller operates. This can be 3.3V or 5V based on the IOREF jumper position.
- 12V power-over-Ethernet (PoE) capable
Buttons
There are 2 reset buttons with different functions on the board:
- Reboot: resets the Quark X1000 processor
- Reset: resets sketch and any attached shield
Memory
The Quark X1000 has 512kB of embedded SRAM.
The board has an additional 256 MB DDR3 Ram amd 8MB of Flash to store firmware and the Arduino sketch. It's possible to update the firmware using the IDE. The on board uSD supports uSD card up 32G, and can be used to provide a complete Yocto 1.4 Poky Linux image.
Input and Output
- Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data.
- Digital I/O: Digital pins 0 through 13 and Analog pins A0 through A5 can be used as a digital input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They can operate at 3.3 or 5 volts.
Each pin can provide (source) or receive (sink) a current of 16mA @ 5v, or a current of 8mA@3.3V
- PWM: Pins 3,5,6,9,10, and 11
- Provide 8/12bit PWM output with the analogWrite() function. The resolution of the PWM can be changed with the analogWriteResolution() function.
- SPI: SPI header (ICSP header on other Arduino boards)
- These pins support SPI communication using the SPI library.
- Analog Inputs: pins A0 through A5
- Each analog input provide 10/12 bits of resolution. The resolution can be changed with the analogReadResolution() function.
- SDA and SCL: Support TWI communication using the Wire library.
There are 2 reset buttons with different functions on the board:
- Reboot:
- resets the Quark X1000 processor
- Reset:
- resets sketch and attached shield
Communication
The Intel® Galileo Gen2 has a number of facilities for communicating with a computer, another Galileo, Arduino or other microcontrollers, and different devices like phones, tablets, cameras and so on.
It provides 2 UART Controllers : UART 0 to Galileo headers 0, 1; UART 1 to 6-pin 3.3V USB TTL FTDI header; optionally directed to Galileo headers 2, 3 .
The Native USB port can also act as a USB host for connected peripherals such as mice, keyboards, and smartphones. To use these features, see the
USBHost reference pages. The onboard microSD card reader is accessible through the
SD Library. The communication between Galileo and the SD card is provided by an integrated SD controller and does not require the use of the SPI interface like other Arduino boards.
The onboard Ethernet interface is fully supported, use the
Ethernet Library. It does not require the use of the SPI interface like existing Arduino shields.
The Arduino software includes a Wire library to simplify use of the
TWI/I2C bus; see the documentation for details. For SPI communication use the
SPI library.
The board provides also a mini PCI Express (mPCIe) slot. This slot allows full size and half size (with adapter) mPCIe modules to be connected to the board and also provides an additional USB Host port via the slot. Any standard mPCIe module can be connected and used to provide applications such as WiFi, Bluetooth or Cellular connectivity.
Programming
The Intel® Galileo Gen2 can be programmed with this special version of the
Arduino software. It's possible to make requests of the Linux kernel with system() calls. This gives your Arduino sketch access to powerful utilities like Python, Node.js,
OpenCV, and all sorts of fun Linux stuff.
Note that Intel® Galileo Gen2 forgets the sketch after powering down. It is possible to booth the Galileo Gen2 from the uSD card, and in that case, to restore a sketch from the same card. Instructions for that will be forthcoming.
Further documentation