General Guide to SparkFun Blocks for Intel® Edison

Pages
Contributors: CaseyTheRobot
Favorited Favorite 3

What is a "Block"?

alt text

SparkFun Blocks for the Intel® Edison are a great way to unlock all the features provided by the miniature 70-pin expansion connector. By mixing and matching Blocks, users can custom-tailor their Edison for any application. To get started, let’s look at the anatomy of a stack of Blocks.

alt text

A sample stack of Blocks

  • Intel® Edison - The “brain” of the stack, provides processing and communication.
  • 70-pin connector - The backbone of the stack, provides a path of power and data to all Blocks.
  • Standoffs - Provides mechanical strength to stacking Blocks.
  • Blocks - Boards that breakout functionality of the 70-pin expansion connector.

Blocks allow applications to remain small, utilizing the miniature size of the Edison. Doing so required the continued use of the 70-pin connectors.

alt text

Hirose DF40 Socket and Plug

The manufacturer (Hirose) named the connectors Headers and Receptacles. We have named both respective connectors Plugs and Sockets to better describe how the interface with each other.

  • Socket (Receptacle) - This connector is found on the application board. This allows signals to be received by the Edison or a stacked Block.
  • Plug (Header) - This connector is found on the Edison. This allows signals to pass to the next Block in a stack when used on Blocks.

Most Blocks will have two connectors that allow the signals to be used, then passed along to the next Block in the stack. This is very similar to how Arduino Shields work. Let’s now look at the different types of Blocks and learn how to create your own stack.

Which Blocks do I Need?

All Blocks are not created equally. There are Blocks for power, communication, and for interacting with the environment. SparkFun engineer, Shawn, gives a great overview of the Edison and Blocks in the following video. After the video we will try to categorize the blocks to give a general idea on the uses for each Block. Some blocks are capable of multiple functions and will show up in multiple categories.


Power Blocks

The first concern when building a stack of Blocks is power. There are a number of blocks available to power an Intel® Edison. These blocks have the ability to supply the required power to the Edison VSYS input located on the 70-pin expansion connector. All power Blocks built by SparkFun are designed to provide 4.0-4.1V to the VSYS bus.


SparkFun Block for Intel® Edison - Base
The Base Block can power an Edison Stack through either micro USB connector. The preferred method is to power through the port labled "Console". This leaves the OTG port available for USB devices such as web cameras, mass storage devices, or other USB-enabled devices. The power button is capable of putting the Edison in hibernation and powering off the module entirely.
SparkFun Block for Intel® Edison - Console
The Console Block can power an Edison Stack through the micro USB connector. The power button is capable of putting the Edison in hibernation and powering off the module entirely.
SparkFun Block for Intel® Edison - UART
The UART Block paired with a 5V Compatible FTDI device, such as our FTDI Basic Breakout, will power an Edison Stack. The UART will power Stacks that do not consume over 500mA. This is a limitation of the typical FTDI devices on the market.
SparkFun Block for Intel® Edison - Battery
The Battery Block is likely the simplest way to power an Edison Stack. With a flip of the switch, a 400mAh Lithium Polymer battery can power an Edison for over an hour. Battery life will vary with CPU and WiFi usage. The micro USB connector on the Battery Block provides a way to charge the battery. The micro USB connector is only used for charging.
SparkFun Block for Intel® Edison - GPIO
The GPIO Block gives access to the VSYS and GND lines pins in an Edison Stack. While it is possible to power an Edison Stack through the GPIO Block, there are risks. You must pay careful attention to only supply 3.3-4.5V. Exceeding these ranges will damage the Stack and the Edison.

Console Communication Blocks

Now that we have power to our Edison Stack, we need to log into our Edison. The Edison uses a serial terminal interface to allow users to access the Edison console. This console is located on UART2. All SparkFun Communication Blocks provide the necessary level conversions.


SparkFun Block for Intel® Edison - Base
The Base Block utilizes the FT231x to provide a USB-Serial interface to the Console. There are two status LED's that illuminate when the UART is active. The Base Block also utilizes the USB OTG port to break out the USB-Netork functionality provided by the Edison module.
SparkFun Block for Intel® Edison - Console
The Console Block utilizes the FT231x to provide a USB-Serial interface to the Console. There are two status LED's that illuminate when the UART is active.
SparkFun Block for Intel® Edison - UART
The UART Block provides a level shifted interface to the console port. This is a great solution when USB is not an option. This allows the Edison module to be interfaced with legacy hardware by providing a protected signal interface.

Input Blocks

The input Block category shows how each Block can bring data into the Edison for processing. These inputs can be raw signal level, or processed data from an external sensor. These inputs rely on a number of communication methods that are explained with each Block. These blocks take the raw functionality of the Edison and make it accessible to the user.


SparkFun Block for Intel® Edison - 9 Degrees of Freedom
The 9 DOF Block leverages the LSM9DS0 to provide the Edison with an Inertial Measurement Unit (IMU). Use this Block to determine orientation, acceleration, and compass headings. The sensor utilizes I2C by default. With some reconfiguration of the jumpers, it can be used with the SPI interface.
SparkFun Block for Intel® Edison - ADC
The Analog-Digital Converter (ADC) Block is a great way to interface with sensors and devices that output signals in an analog (variable voltage) format. The block gives the users a 12-bit delta-sigma converter that is multiplexed to 4 single inputs or 2 differential input pairs. This Block communicates over I2C and with some jumpers, you can support up to 4 Blocks in a stack.
SparkFun Block for Intel® Edison - Arduino
The Arduino Block is extremely versatile. Programmed via UART1 on the expansion header, it's possible to use the Arduino as a serial interface to any sensor that would normally work with an Arduino Pro Mini. The Arduino Block is great when you need precise timing of sensors such as WS2812 LED's
SparkFun Block for Intel® Edison - GPIO
The GPIO block provides level shifted input capabilities to the Edison. All general purpose GPIO has been broken out and grouped by function. The Edison has eight general GPIO, four GPIO with PWM capability, and four GPIO that can act as a second UART. Due to the bi-directional capability of the level shifters, it's necessary to provide pullup/pulldown resistors when using pins as an input.
SparkFun Block for Intel® Edison - I2C
The I2C Block is a great way to interface with any external sensor or device that communicates over I2C. This block is capable of providing 3.3V or VSYS power to your devices. This device provides level shifting from the 1.8V Edison signals to either of the selected voltages on the Block. It is possible to hack this device to provide 5V level shifting.
SparkFun Block for Intel® Edison - OLED
Based on the Micro OLED breakout and MicroView, the OLED Block gives the user 64x48 pixels of blue-on-black display. This Block also has two buttons and a 5-way switch. Use these to create games, and interactive menues.
SparkFun Block for Intel® Edison - UART
The UART block can be useful in connecting the Edison with legacy hardware or GPS receivers. The UART block provides level shifted access to either UART1 or UART2. Using a RS232 Shifter it is possible to connect an Edison to RS232 devices commonly found in older automation equipment and instrumentation.

Output Blocks

The output Block category shows how the Edison can utilize each block to control an external component or feature.


SparkFun Block for Intel® Edison - Arduino
The Arduino Block is extremely versatile. Programmed via UART1 on the expansion header, it's possible to use the Arduino as a serial interface to any output device that would normally work with an Arduino Pro Mini. The Arduino Block is great when you need precise timing of outputs such as WS2812 LED's
SparkFun Block for Intel® Edison - GPIO
The GPIO block provides level shifted output capabilities to the Edison. All general purpose GPIO has been broken out and grouped by function. The Edison has eight general GPIO, four GPIO with PWM capability, and four GPIO that can act as a second UART. Due to the bi-directional capability of the level shifters, it's necessary to provide an external switch when using high current devices such as relays and LED's. The Level shifter is only capable of supplying 20mA. You can illuminate an LED directly from the level shifter, but it may appear less bright.
SparkFun Block for Intel® Edison - Dual H-Bridge
The Dual H-bridge block is capable of driving two bushed DC motors up to 1A each from an external source. The voltage input can be from 5-15V DC. There is a jumper available that allows the motors to be driven from VSYS but this limits the motor voltage to 4V and 500mA per channel. This block is based off the SparkFun Motor Driver.
SparkFun Block for Intel® Edison - I2C
The I2C Block is a great way to interface with any external sensor or device that communicates over I2C. This block is capable of providing 3.3V or VSYS power to your devices. This device provides level shifting from the 1.8V Edison signals to what either selected voltages on the Block. It is possible to hack this device to provide 5V level shifting. See the I2C Block hookup guide for more info.
SparkFun Block for Intel® Edison - OLED
Based on the Micro OLED breakout and MicroView, the OLED Block gives the user 64x48 pixels of blue-on-black display. Use this to create user feedback displays, games, and interactive menus.
SparkFun Block for Intel® Edison - PWM
The PWM block adds additional PWM functionality to the Edison module. The PWM Block communicates over I2C and can control 8 channels with 12bit resolution. Using the address jumpers, it is possible to stack an additional 8-10 blocks (due to signal integrity breakdown). Use this block to control LED's or servos.
SparkFun Block for Intel® Edison - UART
The UART block can be useful in connecting the Edison with legacy hardware. The UART block provides level shifted access to either UART1 or UART2. Using a RS232 Shifter it is possible to connect an Edison to RS232 devices commonly found in older automation equipment and instrumentation.

Special Function Blocks


SparkFun Block for Intel® Edison - Arduino
The Arduino Block is extremely versatile. Programmed via UART1 on the expansion header, it's possible to use the Arduino as a serial interface to anything that would normally work with an Arduino Pro Mini. The Arduino Block is great when you need precise timing of sensors or outputs such as encoders or WS2812 LED's
SparkFun Block for Intel® Edison - Base
The Base is useful for mounting an Edison as a file system on a host computer. The Base Block provides the same functionality as the Intel® Edison and Mini Breakout board. The Base Block has the added capability of powering the Edison through the Console port, freeing the OTG port for device usage.
SparkFun Block for Intel® Edison - microSD
The microSD card holder gives access to the Edison's high speed SD port. Turn your Edison into a mobile file server, high capacity data logger, or extend the file system of your OS.
SparkFun Block for Intel® Edison - OLED
The OLED Block earns it's special function categorization because it is considered an "End Block". It must always be at the end of a Block stack since it is a user interface. The OLED block was designed to allow users to create a custom controller or portable game system.

How Do I Make My Own Blocks?

If you have outgrown our current offering of Blocks, we are here to help! In case you missed our homepage post, we released a template to jump start your next idea. This template is designed to help create new blocks that will interface with the existing ecosystem.

alt text

Here are our template design files, take them and see what you can come up with! There are all kinds of helpful messages in the schematics and board files. The library parts for the Edison connectors are there as well.

Download the Edison Block Template

Here is a detailed diagram of the Edison connector showing the pin numbers along with names and functions. This may also prove useful for testing signals.

alt text

Download the Edison Pinout Diagram as a PDF

Hopefully we have given you a good start to understanding the SparkFun Blocks for Intel Edison ecosystem.

Resources and Going Further

Now that you have had a brief overview of the Sparkfun Blocks for Intel Edison, take a look at some of these other tutorials. These tutorials cover programming, Block stacking, and interfacing with the Intel Edison ecosystems.

Check out these other Edison related tutorials from SparkFun:

SparkFun Blocks for Intel® Edison - Battery Block

A quick overview of the features of the Battery Block.

Edison Getting Started Guide

An introduction to the Intel® Edison. Then a quick walk through on interacting with the console, connecting to WiFi, and doing...stuff.

Installing libmraa on Ubilinux for Edison

libmraa is a tool kit for interacting with various Intel single board computers.

Sparcade: Edison as a Web Server for Browser Games

Turn the Intel® Edison into an access point that serves a simple browser-based game. High scores from the game are displayed on a character LCD.