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.
If you are still wondering what the Edison offers over the Raspberry Pi, SFUptownMaker wrote a fantastic article comparing the two.
This post also acts as a follow-on to Jimb0's post back in October. Since that post, we have developed a lot of content around the Edison that will hopefully help you out.
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.
Jimb0 has a great Edison Getting Started Guide that will walk you through how to program the Edison from Intel's Arduino software.
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!
Both Jimb0's guide and SFUptownMaker's guide show you how to access the Edison using a serial console.
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?
And for a little bit of self promotion (hopefully useful). I wrote a tut on compiling mono on the edison a while back (adding C# VB and other .net languages to the list). This will let you run .net assemblies compiled in Visual Studio which I find to be great for debugging. Tutorial here install mono
This product would be more successful if it was called (intel) Tesla.
Happy Birthday Edison ! And thanks to Sparkfun for building a rich ecosystem around the Edison. In the new year, We also wish that the Edison blocks would be "in stock" more often. (Not complaining at all ..I know a lot of effort has to be put, under the hood, to make the products available as a nice package to enthusiasts).
Also, following the trend of naming their hobbyist platforms after famous scientists, Intel just announced the Curie platform for developing wearable solutions in January 6, 2015, right around Edison's birthday. This has a quark, bluetooth, accelerometer, gyro, DSP and is tiny tiny tiny (fit in fingertips). ---doesn't have WIfi.
So in that sense, Edison remains the true IoT solution that is powerful enough yet not too clunky.... small enough to blend everywhere yet not too handicapped in terms of capabilities.
Whaaat. Wi-Fi doesn't stand for Wireless Fidelity? I have been lied too.
Can't wear the same bow tie twice can ya.
That would be blasphemy! :)
Great writeup! I need to go through and watch those videos. Is there any info about the Quark coprocessor(or microcontroller, not sure what it's called)? I seem to recall Intel saying they were going enabled it/unlock it at the end of 2014, but I haven't heard anything.
As of January 30, it looks like Intel has still not enabled the Quark, which is sad, because I'd like to have some kind of RTOS as well.
https://communities.intel.com/thread/59878
[Edit] Well, it looks like someone compiled a real-time version of the Linux kernel for the Edison as per that forum post.
Ohh interesting - yeah I think having the two processors communicating could have some really interesting applications. Like sticking an arduino on top of a raspberry pi. Anyway, thanks for the info.