The Intel Edison was the second installment of maker boards from Intel. The Edison is notable due to its micro size and its powerful hardware. It is particular with wearable technology and embedded IoT projects.
The Edison packs a lot of features including WiFi, Bluetooth, USB, 40x GPIO pins all built around the 32-bit Intel Atom processor with 4GB eMMC flash memory. The Edison module is also equipped with the latest Linux OS based on the Yocto project, which allows you to compile in a number of programming languages including C/C++, Python and Node.js amongst others.
Straight out of the box the module isn’t up too much without an interface board. Intel has also designed two interface boards for programming and expanding the 70-pin Hirose connector. These connectors are good for keeping things small, such as your wearable projects but are a little tricky when it comes to actual prototyping.
The first expansion board by Intel is the “Intel Edison Kit for Arduino”. This expansion board allows users to rapidly prototype with a whole host of Arduino accessories and shields. It includes the standard Arduino shield headers, SD card connector, Micro USB interface for programming and a DC barrel jack for powering your Edison board.
The second expansion board from Intel is the “Intel Edison Kit with Breakout Board” and includes a small breakout board for USB connectivity. It also includes a battery charger and a USB host connector for connecting peripheral devices.
Programming the Edison
In order for Intel to keep the form factor small they included a 70-pin Hirose connector to allow the Edison module to connect to larger boards for programming and prototyping. The best starting place is the Arduino board as it has all the features available expanding most if not all of the 70-pin Hirose connector form the Edison board. Once you have the board powered and connected to your computer via USB you can start programming the on-board Linux straight away.
In this blog I will go over some of the basics of connecting your board to installing the drivers and software required. Most of this might come second nature to some experienced users but there are a few tricky steps such as setting up the Edison WiFi and updating the firmware.
What you will need
Make sure you have the following in order to get started, hopefully you will already have the Edison board with one of either breakout boards it comes with:
Most of the software and documentation for the Intel Edison can be found on the Intel Edison website. Before you start plugging everything in you will need to download the system drivers for the Edison board, which will allow your Edison board to work on your operating system including Linux, Windows and Mac OS. You can download and install the Intel Edison drivers from the Downloads page.
Downloading Arduino IDE
The Intel Edison runs on Linux and as such you can use a wide range of development tools to program the Edison, but if you are just getting started, then you can also program the Edison using the Arduino IDE for Edison. The Edison Arduino IDE is a great starting point to get familiar with it’s hardware features and there are many examples already included.
Note: Recent changes have been made to allow users to add Intel Edison support to the standard Arduino IDE.
Head to the Arduino.cc webpage and download the latest version of the Arduino IDE for your operating system. For the purposes of this guide I will be using Mac OS.
Open up the Arduino IDE and select Tools > Board > Board Manager
To install the Intel Edison board, scroll down and select Intel i686 Boards and click install.
Go back to Tools > Board and you should see the Intel Edison added to the list of boards.
Installing USB Drivers
Before plugging in your Intel Edison board to your computer, you will also need to install the USB to Serial drivers to allow the Edison board to communicate with your computer via UART. To install the driver head to the VCP download page and install the driver for your OS.
Now that everything is installing including the system USB drivers and the Arduino IDE, it is now safe to power up your Intel Edison board and connect it to your computer. For this example, I will be using the Arduino breakout board.
If your Intel Edison board is not already inserted into the breakout board then you will need to do this prior to powering up your board. Clip in the Edison board to the Hirose socket on the Arduino board.
There are two options to power up your board; the first is to connect a 7-15V DC wall adapter to the Arduino board via the barrel jack, the other option is to power the board via USB port. Intel highly recommends connecting the Edison board using a DC wall adapter as this will give better power performance to the board.
Once you have connected the power to the board you can now connect the USB OTG cable to the Edison board and plug in to your computer. When your computer detects that the Edison board is connected you should see one of the following if not all:
If you are a Windows user, then the processes will take a minute or two whilst it sets up the device drivers and give you a nice green tick in the corner.
Programming the Edison in the Arduino IDE
As previously mentioned, if your new to the Intel Edison and you are a beginner programmer then the best place to get started is using the Arduino IDE.
Note: If you are using the Arduino expansion board then you will need to slide the ‘SW1’ switch towards the USB ports to enable device mode.
The first thing you will want to do is to upload the Blink sketch, which is commonly known as the Arduino “Hello World” example. A successful upload of the sketch will test that everything is working correctly including the drivers and hardware on the board. Open the sketch by navigating to File > Examples > 01. Basics > Blink. Select your board in Tools > Board menu and then select the communications port in Tools > Serial Port, click upload to compile the sketch and upload it to the Edison board. After a few moments you will see “Transfer Complete” in the IDE console and the on-board LED should be blinking on and off.
Note: When the sketch compiles you may see some errors in the IDE console. This is perfectly normal process and nothing to worry about, I also received these errors like many others.
There are a number of examples you can use to test out the functions of the Intel Edison board, including the WiFi web client sketch. Once inserted your SSID (The name of your router) and your password into the sketch, you can upload the sketch to the Edison and it should connect to the WiFi and receive some data from the web. You can view the output in the serial console.
Updating the Firmware
When using a development board for the first time, no matter which board you have it is always important to make sure you have the latest version installed. This will avoid any issues with previous builds, whilst fixing current issues in the firmware. It will also install any latest software tools that are available, making your experience much easier.
The simplest way to upload the new firmware is using the Intel installer, which you can download from their website. You will also need to download the latest version of Yocto OS (3.5) or let the installer do this for you.
Follow the on-screen instructions to install the firmware and there will be a number of reboots initiated once complete.
Connecting to the Edison Via Console
In order to setup the WiFi and issue some Linux commands on the Edison board, you will need to connect to the Edison via a console command. Open up your favourite terminal emulator (such as CoolTerm on the Mac OS) and edit the configuration settings to the following:
Click connect and the press enter a few times, you should be presented with a login screen at the terminal.
According to the Intel Edison documentation, the username is root and there is no password. However, this did not work for me and I had to type password as the password.
Connecting to WiFI
From the terminal command prompt you can issue a number of Linux commands, including setting up the WiFi so you can access the board via SSH over the wireless network. The latest version of the Edison’s firmware including a very useful tool for setting up the WiFi. Type the following into the Edison console:
After a few moments your Intel Edison should be connected to your wireless network and will spit out some information in the console, such as the IP address of the Intel Edison. It will also prompt you to open your browser and point to the Edison’s IP address.
You won’t get much information from this page nor can you actually do anything here, but what it does is let you know that everything is working ok.
Connecting to the Edison via SSH
Now that you have your Intel Edison board connected to the WiFi, you can now connect to the Edison over WiFi using SSH rather than connecting a physical cable to the board and using the console terminal. If you want to go one further you can even download and upload small files using the SFTP protocol.
The best way to connect via SSH is using the terminal in Mac OS or Putty in Windows. In Mac OS, open up the terminal window and type the following with your Edison’s IP address:
If there is a warning that pops up just enter ‘Yes’. When prompted, enter your password for the Edison and you will be logged in to the Edison board.
The Intel Edison is a very powerful board in such a small form factor offering a number of wireless capabilities for IoT projects. Whether you are a beginner or a professional the Intel Edison had it all. There are also some great add on board from SparkFun which I will be covering in a later tutorial, expanding the full capabilities of the board for a range of different applications.