SparkFun will be closed on Monday for Memorial Day (5/27). Orders placed after 2pm MT on Friday (5/24) will process and ship out on Tuesday (5/28).
Let's celebrate Thomas Edison's birthday and talk about our Edison Blocks and some information on how to get started with the Intel Edison.
Way back in September, we announced the new Intel Edison board -- an incredible, compact and powerful computing platform from the fine folks at Intel.
We were pretty excited that Intel had let us in on the Edison so we could build a useful environment surrounding this great new product. At the time we announced the Edison, we also announced our series of "SparkFun Blocks for the Intel Edison" -- essentially shields that give the Edison useful functionality for Makers, inventors, and DIYers.
Today, on Thomas Edison's birthday, and after months of hard work, building and planning, we are excited to announce that all of the Blocks and supporting products for the Edison listed below are now LIVE and available for order.
Here they are, in all their glory:
So now you want to know how to use the Intel Edison? We're glad you asked...
If you already have an Edison in hand (or you are still on the fence about ordering one), getting started with the powerful, little board might seem daunting. Fear not! There are many, many ways to interact with the Edison. The rest of this post is dedicated to finding a way that might work for you. I also get an excuse to show off my really bad MS Paint skills.
Good news! SparkFun is proud to present the Getting Started with Intel Edison video series. Yours truly will be hosting them along with a special guest later in the series. We cover a few different ways to program the Edison, so hopefully you will find something that works for you.
Sort of. The Edison is actually a full-blown computer in a tiny package. It has an Intel processor, RAM, and something like a hard drive (an eMMC chip that stores data even when power is off). All that powerful hardware means that the Edison can run simple operating systems. And it does! By default, the Edison comes pre-loaded with a custom version of Linux.
Intel provides a version of the Arduino software for the Edison that will allow you to program the Edison like an Arduino. This is a great way to get started with the Edison if you are already familiar with Arduino.
If the Arduino software isn't quite cutting it for you, there are other options to program the Edison. Intel has created a fully-integrated development environment (IDE) based on Eclipse.
With this option, you write programs in C or C++ on your computer, compile them from Eclipse (they are cross-compiled for the Edison), push the executable to your Edison, and run it.
SFUptownMaker has a fantastic tutorial on working with Eclipse to program the Edison. In it, he shows you how to set up Eclipse with Intel's toolchain and write your first C++ program.
If you are like me, you might have heard of Node.js but don't know much about it. Node.js allows you to easily write server-side and networking applications (at least according to Wikipedia).
The Edison supports Node.js out of the box, and Intel has created a special IDE for writing Node.js applications for the Edison: The Intel® XDK IoT Edition.
The XDK IoT Edition lets you create applications in Node.js for the Edison along with an HTML 5 companion app for your smartphone, tablet and PC. That's right: you can develop an Edison application and smartphone application in one place. This is great news if you want to control your Edison from your phone or have it send data to an app on your phone.
The XDK makes it easy to use the mraa library to control GPIOs on the Edison or Galileo. If you are interested in making companion apps, Intel created a series of videos that goes into depth on how to use the App designer. There are tons of templates to help you get started controlling sensors with your phone and to work off from.
Intel jam-packed the XDK with useful features and it is worth taking a look at. Check out the next videos in SparkFun’s Edison video series in a couple weeks, to learn more about how to get started and start controlling your Edison with your smart devices.
As I mentioned earlier, the Edison is a full computer. That means you can access the Edison through a terminal and program it directly!
Once you have logged in with a terminal, you have access to full Linux. That means, in theory, you can compile and run any programming language you want (assuming you can find a compiler or interpreter for it). Here is a (nowhere near comprehensive) list of languages and places to get started with them on Linux and Edison:
You might have heard us talk about "Yocto Linux." As it turns out, "Yocto" is not a version of Linux (like Red Hat or Ubuntu). Yocto is an entire system that creates custom Linux images for you. Intel maintains a custom version of Linux for the Edison that is created from the Yocto Project. You can download an updated version from Intel's site.
However, if you find that you require specific kernel modules that were not built into Intel's version of Linux for Edison, then you might want to create your own version of Linux. Configuring Yocto takes a good amount of time and a lot of space on your computer (the Yocto site recommends at least 50 GB!).
Once you have it set up, you can build custom Linux images that you can then run on your Edison. Intel has a guide for building customized Linux images, and I created a rather dry walkthrough on creating custom kernel modules for the Edison (based on Intel's BSP User Guide).
More good news! You can build whatever flavor of Linux you would like for the Edison.
If you are a fan of Debian-based Linux distributions (such as Ubuntu), the fine folks at Emutex Labs have created a Linux image for the Edison based on Debian: Ubilinux. Unlike the default Yocto image, Ubilinux has apt-get, which helps you install libraries and tools.
We have a getting started guide for Ubilinux that will walk you through installing and configuring Ubilinux on your Edison.
I'm sure that I forgot to mention ways to interface with the Edison. What did I miss? What has been your preferred method of programming?