SparkFun Block for Intel® Edison - Arduino

The Intel® Edison is an ultra small computing platform that will change the way you look at embedded electronics. Each Edison is packed with a huge amount of tech goodies into a tiny package while still providing the same robust strength of your go-to single board computer. Powered by the Intel® Atom™ SoC dual-core CPU and including an integrated WiFi, Bluetooth LE, and a 70-pin connector to attach a veritable slew of shield-like "Blocks" which can be stacked on top of each other. It's no wonder how this little guy is lowering the barrier of entry on the world of electronics!

Piggyback an Arduino onto your Edison with the Arduino Block. This board features the same ATmega328P you'll find on Arduino Uno's, Pro's, and Pro Mini's. The 8-bit microcontroller workhorse is connected to the Edison via a selectable UART, so your Edison can interact with the Arduino over a serial interface.

The GPIO pins of the Arduino are all broken out to the familiar Pro Mini form factor. You can jump wires off of them to control LEDs, motors, or sensors. Or connect it straight up to a Pro Mini shield.

If you are looking to add a little more stability to your Intel® Edison stack, check out this Hardware Pack. It will provide you with increased mechanical strength for stacking Blocks on your Edison!

SparkFun Block for Intel® Edison - Arduino Product Help and Resources

General Guide to SparkFun Blocks for Intel® Edison

January 5, 2015

A general guide for using SparkFun Blocks for Intel® Edison in your next project!

Installing libmraa on Ubilinux for Edison

January 5, 2015

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

Loading Debian (Ubilinux) on the Edison

December 5, 2014

How to load a Debian distribution (specifically Ubilinux) onto the Edison.

Programming the Intel® Edison: Beyond the Arduino IDE

January 7, 2015

Intel's Edison module goes beyond being just another Arduino clone. Check this tutorial for advice on how to get the most out of your Edison by writing code in C++!

Edison Getting Started Guide

December 5, 2014

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

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

3 Programming

Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

2 Electrical Prototyping

Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #691807 / about 8 years ago / 1

    Does it support SPI?

  • EvanC_Au / about 9 years ago / 2

    Is anyone having trouble getting serial comms back from the Arduino into the Edison, on the standard UART1?

    I can send to the Arduino fine, but don't get anything back. Only exception is when I plug an FTDI adaptor into the Arduino while monitoring on the Edison, I immediately get one 0x00 (NUL), but that's it.

    I'm running a Node.JS program on the latest Yocto-based image, and using MRAA to set up the UART. But even reading direct to the shell doesn't seem to receive anything.

    I get the feeling I'm missing something obvious...

    • sk1tt1sh / about 9 years ago / 1

      I'm currently experiencing the same issue! I've got code on the arduino block that prints data to the serial. I am using a SparkFun base block and plugging into both of the USB ports to a power usb strip.

      I can get data from /dev/ttyMFD1 using nodes with serialport but it's strange "<Buffer: c4 fa ...etc>" and running a hex translation on it results in junk.

      With mraa and getPinCount() I get 56 which I guess is not the expected amount. Please let me know if you come up with anything!

  • Member #222 / about 9 years ago * / 2

    This block (and the UART block) offers the possibility to switch between the Edison UART1 and UART2. However, I have not found a clear answer to how to enable UART2 which is used by default by the console. The question has been asked on the Intel forum where the correct answer suggests to reproduce what is being done on the Edison Arduino breakout firmware. However, this approach relies on the presence of a /etc/inittab file that cannot be found in my Edison installation. So what would be the recipe to unleash this capability in the Sparkfun blocks?

    EDIT: After some research, I have been able to find a crude way to disable the console on UART2, thanks to this post

    FIRST MAKE SURE THAT YOU HAVE ACCESS TO THE CONSOLE WIRELESSLY THROUGH SSH, as you will need this access to reattach the console to UART2 later on if you wish. Open an SSH session and disable the console with:

    fw_setenv bootargs_console

    then reboot

    shutdown -r now

    To re-attach: - Open an SSH session and enable the console with

    fw_setenv bootargs_console console=ttyMFD2 earlyprintk=ttyMFD2,keep

    then reboot.

    This could surely be automated the same way as in the Edison Arduino firmware.

  • seulater / about 10 years ago / 2

    Where is the schematic of this board at ?

    • Kamiquasi / about 10 years ago / 1

      On SparkFun's internal network ;) I'd guess they'll become available when they finalize them as things may yet change (even if only slightly).

  • Member #704528 / about 9 years ago / 1

    Does anyone have problems with reading analog values using Edison and the Arduino block after power on/off?

    I have a stack with Edison/Arduino/Base/Battery: sketch reads analog value from the Arduino block and blink a light if the reading is greater than 0, or blink another one if it is less than 0.

    All works fine if I start the system with USB connected loading the sketch. I can disconnect the USB and the system keeps running OK.

    However, if I power off/on the system using the battery switch, the analog reading is zero, until I reconnect and disconnect the USB again, and starts working again.

    Any help would be appreciated


  • Member #314979 / about 9 years ago / 1

    I have a question: I have a battery block. Does the battery block power this block so I don't have to be tethered?


  • Member #421539 / about 9 years ago / 1

    I too am having problems with reading UART data from this board to the edison. I can read and write from and to the edison to a terminal via UART. I can read and write from the Arduino via the FTDI, but I cannot read data from the Arduino via the stacked connector that I assume connects to 0 and 1 on the Arduino.

    My Arduino code is:

    void setup()
    { // Open serial communications and wait for port to open: Serial.begin(9600);


    void loop() // run over and over {

    if (Serial.available()) Serial.write(123); }

    My edison code is:

    import serial import time

    serialport = '/dev/ttyMFD1'

    print 'open ' + serialport ser = serial.Serial(serialport, 9600)

    print ser.portstr # check which port was really used counter = 0 while True: try: if ser.isOpen():
    print 'begin' data = print 'reading: ' + str(data)

        except (KeyboardInterrupt, SystemExit):

    print "done"

    Console output:

    root@kextrel:~/pythoncode# python open /dev/ttyMFD1 /dev/ttyMFD1 begin

    Any help appreciated

  • sk1tt1sh / about 9 years ago * / 1

    For those having problems:

    115200 DOES NOT WORK - I don't know if it's the Edison or the Arduino that won't work at that speed. Use 9600

    echo -n 130 > /sys/class/gpio/export //may not need, may already be exported
    echo -n 131 > /sys/class/gpio/export //may not need, may already be exported
    echo mode1 > /sys/kernel/debug/gpio_debug/gpio130/current_pinmux // potentially unneeded as well.
    echo mode1 > /sys/kernel/debug/gpio_debug/gpio131/current_pinmux // potentially unneeded as well.
    echo in > /sys/class/gpio/gpio130/direction
    echo out > /sys/class/gpio/gpio131/direction
    cat /dev/ttyMFD1

  • joshuajnoble / about 9 years ago / 1

    Anyone had any success with this board? The Edison doesn't start up even though the Arduino has power and is running code.

    • BrentBoren / about 9 years ago * / 1

      I've been running this for a couple of months now with no issue... I will mention it seems that this board isn't set up to power the Edison from the Arduino VCC connection, or through the FTDI port connection (if you might be powering the Arduino Block in either of those ways). I've been powering this board (and the Edison) through either a base block, UART block, or the Intel Breakout Board.

      The Arduino runs when powering it through the VCC connection on the Arduino side, but there doesn't appear to be any method to back-power the Edison board when hooking it up this way.

      From looking at the schematics, it appears that you can power this board via the VIN connection (SJ4) to power both the Arduino and the Edison. VCC has to be limited to 4.4 volts max when configured this way due to limits of the Edison VSYS range. SparkFun's other blocks appear to be set up to provide 4.0 volts at VSYS to the Edison (which is what the VIN connection is tied to) - presumably to have a little margin under the Edison VSYS max of 4.4 volts.

      Not sure what to check other than the power supply connectivity. Curious as to how you are verifying that the Edison is not running? Presumably if you have any of the UART/Base/Breakout blocks attached to see the Edison serial output you should be powering the board OK through them...

      One other thing that jumps out is the DCIN jumper (SJ5) that is normally not populated. Leaving this unconnected appears to alter the boot timing a bit and the Intel Breakout board (as well as the Base Block) short this jumper together. The Base Block does so through a transistor, but it appears to have the same effect.

      My thoughts for what they are worth. Good luck

  • daysgone / about 9 years ago / 1

    I don't recommend attaching the edison directly to this block, the nuts on the hardware supplied rubs against the reset switch and breaks it off really easy. Needs a bit more clearance....

  • Member #650783 / about 9 years ago / 1

    Is there any tutorial on how to read analog value using this device?

  • Member #587726 / about 9 years ago / 1

    Hi, I will really like to know an approximated date for this item because I have an excellent project idea but it can only be done with this block combine with the Intel Edison. P.S. I hope it's soon (Please :))!!!

    • Member #136296 / about 9 years ago / 1

      The Edison will emulate an Arduino, if that helps.

  • Member #625720 / about 9 years ago / 1

    How does this board get power? Or are we suppose to provide our own power solution? Like a Battery Block?

  • Will there be a SPI pin exposed in this Arduino block?

  • Member #456543 / about 10 years ago / 1

    I would also like to see the eagle files for this board please.

    • M-Short / about 10 years ago / 1

      See note above, once the design is finished and these are available we will release the schematic and board files.

  • Member #222 / about 10 years ago / 1

    Will this be a 3.3 or 5 V Arduino?

Customer Reviews

No reviews yet.