Galileo Gen2 is a microcontroller board based on the Intel Quark SoC X1000 Application Processor, a 32-bit Intel Pentium-class system on a chip. It's the first board based on Intel architecture 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.
Galileo is designed to support shields that operate at either 3.3V or 5V. The core operating voltage of Galileo is 3.3V. However, a jumper on the board enables voltage translation to 5V at the I/O pins. This provides support for 5V Uno shields and is the default behavior. By switching the jumper position, the voltage translation can be disabled to provide 3.3V operation at the I/O pins.
Of course, the Galileo board is also software-compatible with the Arduino Software Development Environment (IDE), which makes usability and introduction a snap. In addition to Arduino hardware and software compatibility, the Galileo board has several PC industry standard I/O ports and features to expand native usage and capabilities beyond the Arduino shield ecosystem. A full-sized mini-PCI Express slot (mPCIe), 100Mbps native Ethernet port, microSD slot, TTL UART serial port, USB Host port, USB Client port, and 8MByte NOR Flash come standard on the board.
This Gen2 version replaces the 3.5mm RS232 console jack with a 6-pin 3.3V USB-TTL UART header that is compatible with the TTL-232R-3V3 cable, FTDI Basic board, or other compatible USB-to-Serial interfaces. Twelve of its 20 GPIOs are now fully native for greater speed and improved drive strength. It has 12-bit PWM for more precise control of servors and smoother response. Console UART1 can be redirected to Arduino headers in your sketch, eliminating the need for soft-serial in many cases. It supports 12V Power-over-Ethernet (PoE module not included). Finally, improved power regulation allows the Gen2 to accept power supplies from 7V to 15V.
Download Galileo Gen2 Schematics and Block Diagram
The Galileo Gen2 PCB measures 123.8 × 72 mm (i.e. not including the protruding USB, Ethernet and power jacks. Four screw holes allow the board to be mounted. The Gen2 board comes with a micro-USB cable and a 12V power supply. This supply must not be used on an original Galileo board, as it could not accept more than 5V!
Arduino Shield Supported Features Galileo is compatible with Arduino Uno shields and is designed to support 3.3V or 5V shields, following the Arduino Uno Revision 3, including:
- 14 digital input/output pins, of which 6 can be used as PWM outputs. Each of the 14 digital pins on Galileo can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 3.3V or 5V. Each pin can provide a maximum of 10mA or receive a maximum of 25mA, and has an internal pull-up resistor (disconnected by default) of 5.6k to 10k Ohms.
- A0 through A5 — Six analog inputs via an AD7298 A-to-D converter. Each input provides 12 bits of resolution, i.e. 4096 different values. By default they measure from ground to 5V.
- I2C bus, TWI — SDA and SCL pins near the AREF pin. TWI: A4 or SDA pin and A5 or SCL pin. Supports TWI communication using the Wire library.
- SPI — Defaults to 4MHz to support Arduino Uno shields. Programmable to 25MHz. Note: While Galileo has a native SPI controller, it will act as a master and not as slave. Therefore, Galileo cannot be a SPI slave to another SPI master. However, it can act as a slave device via the USB Client connector.
- UART (serial port) — Programmable-speed UART port; digital pins 0 (RX) and 1 (TX)
- ICSP (SPI) — a 6 pin in-circuit serial programming header, located appropriately to plug into existing shields. These pins support SPI communication using the SPI library.
- VIN — The input voltage to the Galileo board when it's using an external power source (as opposed to the supply connected at the power jack). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin. Warning: The voltage applied to this pin must be a regulated 5V supply otherwise it will damage the Galileo board.
- 5V output pin — This pin provides 5V output from the external source or the USB connector. Maximum current draw to the shield is 800mA.
- 3.3V output pin — A 3.3V supply generated by the on-board regulator. Maximum current draw to the shield is 800mA.
- GND — Ground pins.
- IOREF — The IOREF pin on Galileo allows an attached shield with the proper configuration to adapt to the voltage provided by the board. The IOREF pin voltage is controlled by a jumper on the board to select between 3.3V and 5V shield operation.
- RESET button/pin — Bring this line LOW to reset the sketch. Typically used to add a reset button to shields that block the one on the board.
- AREF is unused on Galileo. Providing an external reference voltage for the analog inputs is not supported. For Galileo it is not possible to change the upper end of the analog input range using the AREF pin and the analogReference() function.
Intel Architecture Supported Features The genuine Intel processor and surrounding native I/O capabilities of the Clanton SoC provides for a fully featured offering for both the maker community and students alike. It also will be useful to professional developers who are looking for a simple and cost-effective development environment compared to the more complex Intel Atom processor and Intel Core processor-based designs.
- 400MHz 32-bit Intel Pentium instruction set architecture (ISA)-compatible processor
• 16 KBytes on-die L1 cache
• 512 KBytes of on-die embedded SRAM
• Simple to program: Single thread, single core, constant speed
• ACPI-compatible CPU sleep states supported
• An integrated Real-Time Clock (RTC), with optional 3V "coin cell" battery backup
- 10/100 Ethernet connector
- Full PCI Express mini-card slot, with PCIe 2.0 compliant features
• Works with half mini-PCIe cards with optional converter plate
• Provides USB 2.0 Host Port at mini-PCIe connector
- USB 2.0 Host connector; Supports up to 128 USB end-point devices
- USB Device connector; As well as for programming, this is a fully compliant USB 2.0 Device controller
- 10-pin Standard JTAG header for debugging
- Reboot button to reboot the processor
- Reset button to reset the sketch and any attached shields
- Storage options:
• 8 MByte Legacy SPI Flash to store the firmware (or bootloader) and the latest sketch. Between 256KByte and 512KByte is dedicated for sketch storage. The download will happen automatically from the development PC, so no action is required unless there is an upgrade that is being added to the firmware.
• 512 KByte embedded SRAM, enabled by the default firmware. No action required to use this feature.
• 256 MByte DRAM, enabled by the default firmware.
• Optional microSD card for up to 32GByte of storage (and/or a larger Linux image).
• USB storage works with any USB 2.0 compatible drive.
• 11 KByte EEPROM can be programmed via the EEPROM library.
The USB Device port allows for serial (CDC) communications over USB. This provides a serial connection to the Serial Monitor or other applications on your computer. It also enables Galileo to act as a USB mouse or keyboard to an attached computer. The USB Host port allows Galileo act as a USB Host for connected peripherals such as mice, keyboards, and smartphones.
Galileo is the first Arduino board to provide a mini PCI Express (mPCIe) slot. This slot allows full-size and half-size (with adapter) mPCIe modules to be connected, and also provides an additional USB Host port via the slot.
An Ethernet RJ45 connector is provided to allow Galileo to connect to wired networks. When connecting to a network, you must provide an IP address and a MAC address. The on-board Ethernet interface is fully supported and does not require the use of the SPI interface like existing Arduino shields do.
The on-board 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 on other Arduino boards.
Programming the Galileo Galileo can be programmed with a special version of the free Arduino software that you can download from the Galileo Software link below. When you are ready to upload the sketch to the board, program Galileo through the USB Client port by selecting Intel Galileo Gen2 as your board in the Arduino IDE. Connect Galileo's USB Client port to your computer.
Rather than requiring a physical press of the reset button before an upload, Galileo is designed to be reset by software running on a connected computer. USB CDC-ACM control signals are used to transition Galileo from run-time to bootloader mode. The Arduino software uses this capability to allow you to upload code by simply pressing the upload button in the Arduino environment.
When the board boots up, it will run an existing sketch that has been loaded, otherwise it will wait for upload commands from the IDE. If a sketch is executing, you can upload from the IDE without having to press the reset button on the board. The sketch is stopped, then the IDE waits for the upload state. Once the new sketch is loaded, Galileo will run it.
Pressing the reset button on the board restarts a sketch if it is executing and resets any attached shields.
Output Pin Properties Pins configured as OUTPUT with pinMode() are said to be in a low-impedance state. On Galileo, when a pin is configured as OUTPUT, the functionality is provided via an I2C-based Cypress I/O expander. Digital pins 0 to 13 and Analog pins A0 to A5 can be configured as OUTPUT pins on Galileo.
The I/O expander's pins, when configured as OUTPUT, can source (provide positive current) up to 10mA and can sink (provide negative current) up to 25mA of current to other devices/circuits. The individual per-pin current-sourcing capability of 10mA is subject to an overall limit of 80mA combined between all OUTPUT pins. The per-pin current-sinking capability is subject to an overall limit of 200mA. The following table provides a breakdown of the overall OUTPUT capabilities of the pins.
| ||Current Source (mA) ||Current Sink (mA)|
|Per Pin Capability||10||25|
|Digital Pins 3,5,9,10,12, 13 Combined||40||100|
|Digital Pins 0,1,2,4,6,7,8,11 and Analog Pins A0,A1,A2,A3,A4, A5 Combined ||40 ||100|
|Digital Pins 0-13 and Analog Pins A0-A5 Combined||80||200|
Jumper Configuration To allow Galileo to support both 3.3V and 5V shields, the external operating voltage is controlled via a jumper, IOREF. When the jumper is in the 5V position, Galileo is configured to be compatible with 5V shields and IOREF is set to 5V. When the jumper is set to 3.3V, Galileo is configured to be compatible with 3.3V shields and IOREF is set to 3.3V. The input range of the Analog pins is also controlled by the IOREF jumper and must not exceed the chosen operating voltage. However, the resolution of AnalogRead() remains at 5V/1024 units for the default 10-bit resolution, or 0.0049V (4.9mV) per unit regardless of IOREF jumper setting. Take care in setting this jumper; an incorrect setting can damage your board and/or shields.
Intel Galileo Gen2 Resources
Availability The lead time for this board may vary, as supply is not consistent.
Optional Recommended Products for this Item