Introduction: An Absolute Beginners Guide to the Intel Edison

About: Tanmay Bhonsale a.k.a enceladus2000

Hey there! I recently received an Intel Edison board from Instructables, as a nice gift. If your wondering what that is, the Intel Edison is a tiny computer the size of an SD card (that's seriously small), for electronics and computer hobbyists out there. It has dual-core Atom CPU, and includes WiFi and Bluetooth in one heck of a tiny package.

The Edison goes well with its breakout board (which I used), as it makes it easier to program and use. It runs Linux, and supports Arduino, Python, Node.js and other programming languages as well. The Edison is made specifically for IoT (Internet of Things) projects, and also wearables, taking advantage of its size.

Intel Edison Specs:

CPU:

  • Two Intel Atom Silvermont cores @500MHz
  • One Intel Quark core @100MHz

Memory:

  • 1GB integrated RAM
  • 4GB eMMc memory

Connectivity:

  • WiFi
  • Bluetooth 4
  • USB Host
  • SD card socket

Hardware pins:

  • 6 PWM output
  • 6 Analog in channels
  • 1 UART
  • 1 I2C
  • 1 SPI (?)
  • All at 5V logic level



So when I started using my Edison, I found that it has a very small user community (now growing) and hence not as much documentation as I'd like. Simply setting up the Edison was a tedious procedure, as the people at the forums used bizarre words and very technical terms. It's a headache for newbies like me. However, the Intel Edison communities forum is a lively place, so one can expect an answer to their problem pretty quick, like within 2 days.

The Edison is a fully-fledged computer. Your Arduino is nothing close. Because of this, the Edison is a little more complicated, so beginners will have a tough time understanding stuff. For example Yocto Linux, which the Edison runs, is a terminal, where you type in commands, just like computers in the '80s.

This is why I came up with this Instructable; to help all those newbies out there and explain everything about the Edison in the simplest language possible. So, before we get started, get the following things:

An Intel Edison with the Breakout board - (get here): I'd recommend you buy the Breakout Board, even though its huge and not cheap. You really cant do anything with just a plain old Edison. Not even blink an LED. So this Breakout Board is important. Moreover, it is compatible with Arduino shields (yay! for Arduino users).
A Seeed Studio Grove Starter kit - (get here): This I'd recommend especially to beginners, as its really easy to use. No complex circuits involved; just plug n play!
• A good computer: Very important. You're Edison may initially drive you crazy with its technical stuff, so a computer with good performance should compensate for that.

So let's begin!

NOTE: Prepare to sit at the computer for a good hour or two. Maybe more. You have no idea of what's ahead of you...

Step 1: Glossary...

Yes, there are so many odd technical terms, that it looks like another language altogether. Therefore it deserves a glossary section:



• Linux: This is an Operating System (OS), that a computer uses to interact with users like us. Windows is an operating system too. So is Android.
• Developement board: A development board is a printed circuit board with circuitry and hardware designed to facilitate experimentation with electronics. The Arduino is a development board. So is the Edison (but 1000x times more powerful).
• Image: In this context, "Image" refers to the OS (operating system). So when someone says "Linux Image", they mean the Linux OS (nothing to do with pictures).
• Flashing: This means loading the OS onto a computer. Like, when the Edison is blank, you have to put an OS onto it. Hence you have to "flash" your Edison.
• Corrupted: Nothing to do with politicians. Here, simply, a corrupted file means that the file has errors that make it unable for someone to read the file, or retrieve the data from the file. It usually is a bad thing. More on it here.
• Driver: In the context of computers, a driver is software that allows your computer to communicate with hardware or devices. Without drivers, the hardware you connect to your computer—for example, a video card or a printer—won't work properly.


This may clear some doubts for you. Now let's get started with the Edison!

Step 2: Connect the Edison to the Breakout Board...

Firstly, you'll have to connect the tiny Edison to the breakout board. Secure with the nuts provided. You don't need to tighten it much; doing it with your hand is enough.

Now, attach the 4 "legs" provided to the breakout board with screws, as shown above in the picture. This is not required, but it certainly helps when handling your Edison.

Step 3: Install the Required Drivers...

For the computer to communicate with the Edison, you'll need to install certain drivers (see glossary section). Follow the following steps:

  1. Download the FTDI drivers.
  2. The file you download will be named like "CDM....". Right click this file (it has a .exe extension), and select "Run as Administrator.
  3. A window will appear. Click extract, and it will take you through some steps. I won't insult your intelligence by telling you how to click "next" and "finish". When completed the 2nd image above will appear.
  4. Download the PuTTY Terminal Emulator. What is PuTTY??? - PuTTY is basically a program you will use to communicate via the USB connection (also called the Serial port). The file you download will be the program itself; you won't need to install it or anything.
  5. Download theIntel Edison drivers.
  6. Click on the .exe file you downloaded. It will open up a window showing a setup wizard. Again, just keep clicking "next", "I agree", "continue" etc. The drivers will install.

Yay!!! You've now installed all necessary drivers. You may now proceed to the next step...

Step 4: Download the Intel Arduino IDE...

NOTE:The Intel Arduino IDE is NOT the same as the normal Arduino IDE. You have to download a completely different software.

The Intel Arduino IDE was designed by Intel for the Intel Galileo and Edison boards. This is great, as you get the simplicity of Arduino and the power and features of an Edison. To install the Edison IDE, follow these steps...

  1. Download 7zip, if you don't have it already. This software will unzip the contents of the file that you will be downloading.
  2. Download the Intel Arduino IDE from here. Take a break... This will take upto an hour, as the file is about 160MB.
  3. Right click on the folder you downloaded, then click "7zip", then in the submenu, click "Extract 'arduino-1.5.3.........'"

    Extracting Arduino IDE files...>

  4. After unzipping, open the new folder created.
  5. Open "arduino.exe" by double-clicking it.

You have downloaded your Intel Arduino IDE successfully.

Step 5: Flash Your Edison...

You now have to load the Linux Image onto your Edison. Its quite simple; just follow these steps:

  1. Connect your Edison to your computer with TWO microUSB cables.
  2. Make sure the tiny switch near the USB ports on the Edison Breakout board is turned towards the microUSB plugs.
  3. On your computer, you'll see the Edison come up as an external memory device, with a drive letter (like :F). Keep a note of this drive letter.
  4. Go to Start menu, and type "cmd". Then press Enter. The cmd window should come up. Type out a colon and your drive letter for the Edison.
  5. Type
    del *

    It'll ask for a comfirmation. Type "Y" and it will remove all files from the Edison.

  6. Now type
    dir

    to see that the deletion was successful.

  7. Download the latest image (OS) for the Edison from here.
  8. Unzip the contents and move everything to the Edison drive on your computer. It should take a few minutes to upload to the Edison.
  9. Now go to the start menu and search "device manager". Open this Device Manager. Go to COM (Ports and LPT). You will see a "USB Serial Port", along with "COM" and a number in brackets. Keep a note of this number.
  10. Now open "PuTTY" that you downloaded earlier. Type in the correct COM number you noted earlier. Enter the baud rate as "115200". Click open.
  11. You will see a screen like this:

  12. Press Enter twice and you should see a login prompt. Just type "root" and press Enter.

  13. Now type

    reboot ota<br>
  14. You should see something like this...

  15. Wait for a minute. You should finally see this screen...

  16. You have successfully flashed your Edison!!!

Step 6: Test Your Board With an Arduino Sketch...

Open the Edison Arduino IDE. Go to File < Examples < Basics and click blink. Select the correct COM port and upload. The onboard LED should start blinking!

Step 7: Set Up WiFi...

The next step is connecting your Edison to your WiFi network. With this your Edison will connect to the World Wide Web, and unleashes all the IoT abilities of the Edison. Futhermore, you'll be able to access your Edison remotely via your WiFi connection too.

To connect your Edison to WiFi, follow these steps:

  1. Keep your Edison connected to your computer with the 2 USB cables, and open Putty. Start a Serial connection on the Edison's COM port (as seen earlier when setting up your Edison) at 115200 baud.
  2. Login with "root".
  3. Now type the following command;
    configure_edison --setup
    
  4. Now the Edison will take you through a setup process where you should choose a name and password.
  5. It would then ask you if you want to set up WiFi. Press "Y" and Enter to continue.
  6. The Edison will do a scan. Follow the instructions on the screen to select your network and connect to it with a password. It's fairly easy and straightfoward.
  7. If all goes well, you should see a message saying that the Edison is connected to your network.
  8. To test it out, on your computer, open a browser and type the IP address (shown in the message given by the Edison - should be like 192.168..x.x) of your Edison. It should show a screen like this:
  9. Hooray! Your Edison has successfully connected to your WiFi network.
  10. Try the following command:
    ping www.google.com

    You should see something like this:

    Press ctrl+C to exit the process.

    If this doesn't work, dont worry. You can continue to the next step to upgrade the Edison image, which actually solves many problems.

Step 8: Upgrade the Edison Image...

We now have to update the Linux OS, or image, on the Edison. Type the following command...

configure_edison --upgrade 

If it doesn't happen the first time, try again. Or maybe try sometime later, as it depends on your network's connection. If it works though, you should see a screen like this...

It will download the latest version of the Linux OS. The download process will take some time, so be patient and don't unplug the Edison from power or the computer. When the download finishes, it will reboot with the latest version, if all went well. To test whether the latest firmware version was installed, run the following command...

configure_edison --version

Step 9: SSH Into the Edison...

SSHing into the Edison means, in simple terms, accessing the Edison via the Local WiFi network. That is, you wont need to connect your Edison with annoying cables anymore; just power it up anywhere and connect to it wirelessly.

Now, you should know the IP address of the Edison from the previous steps. Or, if you forgot, simple type this into the command line:

configure_edison --showWiFiIP

You should get an IP address something like 192.168.x.y.

NOTE: You should give the Edison a login password during its setup. If you haven't, type:

configure_edison --setup

And then create a password when requested.

Now open PuTTY and enter the Edison's IP address, as shown in the picture above. The familiar black terminal window will open, and will request for the username (which is root) and password.