Programming the Intel® Edison: Beyond the Arduino IDE

Contributors: SFUptownMaker
Favorited Favorite 7


The majority of content in the wild for the Intel Edison seems to be focused on using the Edison while it is attached to the Arduino-compatible development board. With the release of the SparkFun Block line for the Edison, it becomes practical to use far less hardware to access the resources of the Edison.

The Edison

This tutorial will show you how to write C++ code for the Edison without using the Arduino IDE or making the assumption that the Edison is mounted to an Arduino development board.

Components Used

We're going to do this fairly minimally; we're going to demonstrate the Edison's most basic functionality without involving any fancy hardware. You'll find more examples involving hardware in tutorials for individual blocks.

  • Intel Edison Starter Pack - You'll need the Console Block at a minimum to get your Edison onto your local WiFi network.
  • Intel Edison Base Block (optional) - You may find that the latency of your WiFi network is unacceptable; in that case, you can connect to the OTG port on the Base Block to access the Edison via a USB RNDIS network interface. This is a highly recommended upgrade, however, as it will allow you to upgrade the flash image on the Edison to the latest version.
  • Edison Hardware Kit - One will be enough to make the Edison/Console/GPIO stack.

Recommended Reading

Writing code for the Edison without using the Arduino IDE is an advanced topic; we're going to assume that you're conversant in at least basic Linux command line syntax and C++ syntax.

  • Getting Started with the Edison - Getting the Edison powered up, connected to your network, and getting to the command line. Also updating the firmware, which is recommended before proceeding but not mandatory.
  • General Edison Block Guide - Just what it says. This will give you some help understanding how to put the stack together and avoid inter-block conflicts.
  • Console Block Hookup Guide - More information on the Console Block.