Galileo is a microcontroller board based on the Intel® Quark SoC X1000 Application Processor, a 32-bit Intel Pentium-class system on a chip (datasheet). 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. This is also known as the Arduino 1.0 pinout.
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, 100Mb Ethernet port, Micro-SD slot, RS-232 serial port, USB Host port, USB Client port, and 8MByte NOR flash come standard on the board.
These are the main features of Galileo’s architecture:
Intel Pentium 400MHz 32-bit in ISA architecture (instruction set architecture) with 16 KBytes of L1 chache, 512 KByte embedded SRAM;
Real Time Clock (RTC) integrated. To keep it permanently active simply connect a 3V button battery to the appropriate pin;
Connector Ethernet 10/100 Mb;
One slot PCI Express mini-card in the PCIe 2.0 standard that can accommodate mini-PCIe cards half-height, possibly with an adapter. The slot has been designed specifically to connect a WiFi card usable with the WiFi library;
USB Host connector 2.0 able to support up to 128 USB devices;
A USB client connector that can be used both for downloading the sketch on the board and connecting USB 2.0-compatible devices;
Standard JTAG connector with 10-pin for debugging;
Button to reboot the processor;
Button to reset the Arduino’s sketch only;
Mass Storages – A 8 MB Legacy SPI Flash memory where is stored the GNU / Linux bootloader and the last sketch loaded. For the sketch could be reserved from 256Kbyte to 512KByte memory. A 512-Kbyte SRAM and 256 MB DRAM memory managed directly by the operating system;
A 11-Kbyte EEPROM memory that can be programmed from the sketchs with the EEPROM library;
A slot for a micro SDCard up to 32GByte capacity;
The USB Connector can accommodate all types of mass storage devices compatible with USB 2.0 standard;
3.5mm jack connector allows you to use a second serial port standard UART. Notice that this is not an audio input / output.
Galileo Arduino-compatible connector
Let’s look in more detail the devices compatible with Arduino’s architecture;
14 pin reproducing Arduino’s I/O inputs, six of which can be used as PWM output (Pulse Width Modulation). Each of the 14 pin can be configured as input or output using the classic pinMode, digitalWrite, and digitalRead. Pins support both 5 and 3.3 V levels and a current of 10mA output and 25mA input. Pull-up resistor can be configured from 5.6K to 10k Ohm and turned off by default configuration;
Analog input pins, A0 to A5, are connected to a AD7298 integrated. Each pin provides 12-bit resolution (4096 values ??between 0 and 5V);
Pins A4 and A5, respectively SDA and SCL, support the communication protocol I2C (TWI) and can be interfaced with the Wire library;
The SPI bus is configured to 4MHz for compatibility with Arduino’s boards but may be increased to 25MHz. Galileo board can operate only as a master in SPI communication.
UART, the serial port is connected to pins 0 (RX) and 1 (TX);
ICSP 6-pin connector for in-circuit programming, is positioned on the board in order to be compatible with the existing shields;
VIN pin allows to give power to the board directly instead of using the coaxial power connector. You must provide a voltage stabilized to 5V, otherwise you could damage the board;
5V output pin provides a maximum current of 800mA;
3.3V output pin provides a maximum current of 800mA;
GND ground pin;
IOREF pin can be configured to 3.3V or 5V by a jumper selector;
RESET led to LOW level allows the reset of the sketch. It is used to bring the reset button on the shields that do not allow access to the button on the board;
AREF is the voltage reference for the ADC convertors. You cannot use this pin on the Galileo board.