After having worked a lot with RPIs, Beaglebones and other credit card sized computers, I have to say I am still amazed about the new Intel Edison. It combines 500 MHz processing power with WiFi and BLE connectivity in the size of a bigger stamp. The form factor feels right even for many wearable use cases. I can see a lot of custom PCBs comming up in the next month that will use the edison as core for wearable and IoT applications. But even when attached to the breakout board, the overall size (61 x 27,5 x 8mm) is still attractive for a lot of (wearable) use cases. However, the biggest drawback that I can see right now is its high energy consumption of 200-500mA. I haven’t looked into its sleep mode strategies yet, but I believe interesting low-energy configurations can be created by using the main CPU and its concomitant smaller MCU.
Getting started with the Breakout Board
I decided to share this tutorial because it wasn’t as straight forward to setup the Edison as I thought in the beginning. What we will do in the next five minutes is connecting the edison to a windows 7 computer, checking its version, updating it, connecting to WiFi and installing some usefull packages.
- Assemble the Edison and the breakout board and connect two micro-USB cables to your computer. The middle one (labeled J16) is for power and exposes the Edison as USB drive, and the upper USB port (J3) is for exposing a serial console as virtual COM port. Download and install the Intel Edison driver package – you should now have a new COM port in your device manager and an empty new “Edison”-drive in your file explorer. We will need this later for updating its operating system.
- Open putty and connect to the newly created COM port with a Baudrate of 115200. Press enter twice to get a login output. Login as “root” and without a password. You will figure out soon that the edison always misses the first character you time after a few seconds of no input. This is because it goes to sleep after a few seconds when no input from the console was sensed and it can’t wake up fast enough to sense the first character. Get used to it for now. Well congratulations, you have a running Edison
- Lets see what OS version we are running:
cat /etc/version edison-weekly_build_56_2014-08-20_15-54-05
- Since this is a pretty old version lets update the Edison before we start configuring it. Download the most recent “Edison Yocto complete image” and unzip it somewhere. Before we copy the files onto the “Edison” disk in your file explorer, we need to ensure that the drive is “FAT32” formated. On my device it was initially only “FAT” formated and the Edison couldn’t correctly read the files during the update process. Format the “Edison” disk with “FAT32” using the right mouse button context menu of your file explorer. Afterwards copy all the files within the unzipped folder onto the Edison drive.
- Savely unmount the drive and run this command in the serial console:
- During the update process which takes about 2 minutes the Edison reboots twice and we can watch it working in the console. If it is all finished log in as root again and check the version number again:
cat /etc/version edison-rel1-maint-weekly_build_16_2014-10-14_14-56-195
- Well done! You run an up-to-date Edison now. Let’s do the initial configuration and connect it to WiFi!
Initial Configuration and WiFi
The Yocto linux running on the Edison kindly provides you a tool that allows to do the minimum configurations within just a few steps:
- Enter a name for your Edison. it will be later accessible through the domain name “your_edison.local”
- Enter a root password with at least 8 characters
- Choose one of the WiFi SSIDs shown in the list and enter its password.
You’r done! Go to “http://your_edison.local” and see a status page! You should also have SSH access via WiFi by now. Start up putty and give it a try!
The Edison comes preinstalled with some usefull packages already. One of them is for example NodeJS in the version v0.10.28. Check by typing
node --version v0.10.28
We can use the package manager “opkg” to install other packages. However, there are no official sources in the “/etc/opkg/base-feeds.conf” yet but we can install some inofficial sources kindly provided by Axel_T. Edit the mentioned file using vi or another editor and add the following sources:
src/gz all http://repo.opkg.net/edison/repo/all src/gz edison http://repo.opkg.net/edison/repo/edison src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32
Now update the packaging index and try to install a package (e.g. another text editor such as nano, or git ). Close and save the file (in vi type : ESC :wq).
opkg update opkg install nano git
For certain task you will need an updated system time (such as installing certain packages with npm or compiling with make). To update the system time we can use external NTP servers:
opkg install ntpdate ntpdate 0.de.pool.ntp.org hwclock -w
You might want to edit “/etc/default/ntpdate” to make the Edison update your time regularily.
All done! Congratulations, you have a fresh Edison, connected to the internet and with access to a package system. Happy coding and feel free to leave a message if you find think I missed something!