Introduction: A Comprehensive Intel Edison Getting Started Guide

About: EECS Student at the University of South Florida.

I have recently acquired an Intel IoT Developer Kit as part of an Instructable Campaign. I am familiar with some embedded processing models and microcontroller environments such as the Arduino, but I found getting up and running with the Intel Edison to be a bit chaotic. I wanted to consolidate the information that I found to help fellow makers ease into this cool device.

Parts I got in the mail from Instructables:

Intel Edison and the Arduino Compatible Expansion Board

Seeedstudio's GROVE Starter Kit Plus

microSD Card with accompanying adapter

To work with this device, I'm afraid it's not quite as user friendly as the Arduino. You have to be relatively competent in regards to getting your hands dirty with code and configurations. It would help if you know some Linux and some basic network stuff.

Step 1: Intel's "Getting Started" Guide - Flashing

As I'm sure my fellow makers have discovered, Intel's site is a little lackluster in describing in detail the workings of setting up this device. You can follow my guide or theirs, it's pretty much the same, but I provided mine in case you wanted a different perspective.

For windows at least, they provide these links:

https://communities.intel.com/docs/DOC-23193

https://communities.intel.com/docs/DOC-23148

You can find Linux and Mac instructions there too

First they have you mount the Edison and attach the posts (I don't think this step will be a problem).

Once you download all of their files, we can get started flashing the device. The download speed from Intel was horrid as it took over five hours for me to get the IDE files, so I will provide mirrors at the end of this Instructable.

Windows users have to install the drivers, both the FTDI and Edison-specific ones.

Make sure the micro switch is flipped towards the microUSB ports and plug two USB cables into those ports and into your computer.

Intel wants to make sure the microSD card is empty before we copy over the new OS files, so they describe a verbose command prompt way of erasing the files, but you could just as easily delete them from Explorer.

Then, you copy over all the files from the "Latest Image" to the root of the microSD card which should show up under the name EDISON

Now for the fun stuff

Intel's site has a picture of their device manager to show how to pick which COM port to use in your SSH client of choice, but there are multiple Edison ports, which is pretty confusing. Make sure to remember which one is the USB Serial Port

Now open up PuTTY or your SSH client of choice, set it to connect to Serial over the COM port you found and set the baud rate to 115200

You might need to hit enter two times to get a login screen, but once you do, type

root
and hit Enter

Once you get past the login screen, type

reboot ota
and hit Enter

Screens will whir by and it will finish the process sooner or later

Step 2: Intel's "Getting Started" Guide - Working With Their IDE and WiFi

The next step is to get their modified version of the Arduino IDE working. After the gruesome download from Intel or a less so awful download from my mirror, open up the Arduino exe.

Open up Device Manager again and find the COM port that is the Edison Virtural COM Port and set that in the IDE

Load up the Blink example and hit it.

If everything so far has went as planned, the on-board LED should start blinking. Yay!

To connect up with WiFi and to clean up some configuration stuff, open up an SSH again (if you closed it from last time)

*It is important to note that the Serial connection times out, so if you hit a character and nothing shows up, just hit it again as the first key "wakes" it.

Once you login, type

configure_edison --setup

Work through their process and use their nice guide to connect to your WiFi network.

**Another note, I couldn't for the life of me figure out how to connect to my network as I was still on WEP (I know), so I had to change the security settings in my router to WPA2 Personal to get a key which the Edison accepted.

If everything went well, you should be able to login with the IP Address they give you on any browser in the network.

Step 3: Fun Stuff - IoTKit

While Intel does a good job with those steps (to some degree) this is where things get hairy. I was following 10DotMatrix's guide for setting up the Analytics Panel. This also should serve as an introduction to working with IoTKit.

https://www.instructables.com/id/Intel-IoT-Analytic...

Although their instructable does a great job detailing the process, I found an easier way to set up new devices and register them with the Panel. Make sure you follow it though creating an account and registering the device. The next bit will Activate the device.

Once you have the IoTKit library installed in your IDE, open up the IoTkitRegisterExample. I only wanted to add a Temperature sensor so I commented out the humidity sensor. Follow the instructions in the comments and the device should be registered.

Just as in the other instructable, use the observation command to send some fake data to verify everything works.

This is also where I went in a different direction. I wanted to utilize the sensors from the GROVE starter kit, so I hooked up the shield and the Temperature Sensor into A0.

This is where I ran into a problem. The temperature sensor, and a few other parts in the Grove Starter Kit, require at least a 4V signal to operate. The Intel Edison is all on 1.8V logic and a few 3.3V parts. So at this point, I had to ditch the idea of using this particular temperature sensor. I tried several other analog sensors with no luck.

I will update this once I get things up and working, but at least the frontend is talking to the Edison

I encourage you to utilize the other instructable to fiddle around with this, but also check out the github for the project at https://github.com/enableiot/iotkit-agent

Step 4: Updating and Extra Software

No matter how disappointing the previous step's adventure was, we can still fill in a couple gaps in making sure everything on the Edison is ship-shape. Part of that is adding Intel's software repository to the package manager on the device. To do that, open up an SSH connection and log in

Also I hate working with vi, so I moved to install nano. If you are like me, hit up the following commands

wget http://www.nano-editor.org/dist/v2.2/nano-2.2.6.tar.gz && tar xvf nano-2.2.6.tar.gz && cd nano-2.2.6 && ./configure && make
make install DESTDIR=/home/root
export PATH=$PATH:/home/root/usr/local/bin

Using our newly installed beautiful nano, we are going to edit the package manager's repositories like so

nano /etc/opkg/intel-iotdk.conf

And add these to this file

src intel-iotdk  http://iotdk.intel.com/repos/1.1/intelgalactic                  src all  http://iotdk.intel.com/repos/1.1/iotdk/all                              src i586  http://iotdk.intel.com/repos/1.1/iotdk/i586                            src x86  http://iotdk.intel.com/repos/1.1/iotdk/x86

Finally hit Control-X, hit Y to save, and hit enter

Now that that's all said and done, we will run

opkg update
opkg upgrade

That will whir away for a while, butt you now have a more comprehensive list of programs to work with

I installed git also, so if you need that, or any other program of the sort, use the command

opkg install git

Step 5: Mirrors and Finishing Notes

As I promised, here are the mirrors to the Linux image, the IDE, and the drivers

Yocto Linux

IDE

Edison Drivers

FTDI Drivers

Like I said, my attempts to incorporate the sensors with the analytics panel didn't really turn out, but hopefully I answered some questions about setup. Comment if you have any questions or any ideas how I can get those Grove sensors to work.

Thank you Instructables for the opportunity to play around with this as well as the community.