An Introduction to the Intel Edison for IoT Developers

Share this article

While mobile devices are becoming bigger at every model update, there’s also a new wave of increasingly small, wearable devices hitting the market. The maker movement has grown in the past years, with Arduino leading the prototyping hardware market. Last year Intel introduced a device that is appealing for makers but also ready for IoT and wearable products, the Intel Edison.

Edison is small sized compute module capable of running a full Linux distribution that intended to empower the next generation of wearables and the Internet of Things (IoT) devices, where size and power consumption are important factors to consider. Let’s have a look at this platform. I’ll describe the main hardware features and most importantly for SitePoint users, what possibilities it offers for developers. The kind of projects realizable with such a platform are up to a developers imagination, as Intel says, “What you will make”?

Hardware

Intel Edison

Intel Edison is a small board, slightly larger than a SD card (35.5 × 25.0 × 3.9 mm) featuring a dual-core dual-threaded Intel® Atom™ CPU at 500 MHz and a 32-bit Intel® Quark™ microcontroller at 100 MHz.

The available memory is 1GB of RAM and 4GB of flash storage. On board WiFi and Bluetooth are present. It has 1 USB OTG controller and all the interfaces that a maker can dream of, including UART, I2C, SPI, I2S, GPIO and SD Card support.

Breakout board

Edison comes in a package with a 70 pin connector, this is difficult to use directly. For easy prototyping, Intel has made two breakout boards available to developers.

These are the Intel Edison Board for Arduino and the Intel Edison Breakout Board and are officially supported by Intel. They differ in purpose, size and IO capability.

Intel Edison Board for Arduino

Intel Edison Board

This board is the largest and most interface rich board available. It features I/O pins compatible with Arduino Uno (except 4 PWM instead of 6 PWM), 20 digital input/output pins (including 4 pins as PWM outputs). It offers 6 analog inputs, UART (Rx/Tx), I2C, ICSP 6-pin header (SPI) and a Micro USB or dedicated standard size USB host Type-A connector. The list does not end here, there’s also a micro USB device (connected to UART) and a SD card connector. Edison can be a good base to build on as part of projects where you need different types of interfaces or just want to experiment.

Intel Edison Breakout Board

Intel Edison Breakout Board

This breakout board is much smaller than the Arduino one, although slightly larger than the Edison module itself. The board has a minimal set of features including exposing the native 1.8 V I/O of the Edison module, 0.1 inch grid I/O array of through-hole solder points, USB OTG with USB Micro Type-AB connector and a USB OTG power switch. There’s a battery charger and a USB to device UART bridge with USB micro Type-B connector. This board can save a lot of space.

Software

Edison comes with a prebuilt Yocto Linux image, but it’s capable of running a Linux distribution of choice. Yocto is a meta-distribution used by embedded developers to create tailored images. Intel chose this OS so developers can just start using the default image, configure and customize it as desired and then prepare a custom image for their product once satisfied, making this process as easy as possible using the simple commands provided by the Yocto project.

Having a full Linux distribution on a device like this opens a lot of possibilities, as the developer can reuse the wide range of available packages and libraries for Linux, making development of a product much faster and simpler. They don’t need to learn any new languages, toolkits or use any SDKs, but can just develop with standard GNU/Linux directly on the device.

Intel offer several tools to get a developer started with Edison development, here I will cover some of them.

Edison SDK

The Intel Edison SDK provides all the necessary tools to develop for the platform. It’s based on Eclipse (yes another instance of Eclipse on your computer) and it includes the cross-compile tools, connector to deploy and debug your software on the board and the basic library and documentation needed for development. It’s ideal for developers using C++, but adaptable to other languages including Javascript and Python.

Intel XDK IoT Edition

Intel has released a IoT variant of the XDK environment, covered in other articles here on SitePoint. With this, developers can write Javascript applications (this runs on the Edison as a Node.js app) and test them on the device. Intel has made easy to develop HTML5 mobile companion apps that can communicate with the board.

Arduino

By using Edison with the Arduino breakout board, it’s possible to run Arduino’s sketches. With the right version of Arduino IDE developers are able to utilize the wide range of libraries, examples and sketches already available. This, combined with the power of a full Linux distribution represents a powerful platform for expert and beginners developers.

Wyliodrin

With Wyliodrin, a knowledge of programming languages is not needed. New developers can program their boards using visual & stream programming systems by just dragging and dropping blocks. Wyliodrin writes the code, making this is a useful option for beginners.

Libraries

Intel is committed to making the developer experience as seamless as possible, and has released two useful libraries that encompass abstract, the IO and a broad range of sensors to enable developers to focus on the user experience. Both libraries have bindings for C++, Python and Javascript.

Lib MRAA

Lib MRAA is a C/C++ library (with bindings for JavaScript & Python) that interfaces with the IO of Edison & other platforms. It offers a structured and sane API without ties to specific hardware because it offers board detection at runtime, so pin numbering will match the board currently in use.

UPM

UPM is a high level repository for sensors that use libmraa. UPM typically represents a sensor as a class, with the constructor used to initialize the sensor and parameters used to provide pin locations on the board. These classes expose an update function that called to get new data from the sensor.

Summary

Edison provide interesting opportunities for anyone with wearables/IoT ideas who wants to experiment on a real, product ready platform. It’s a platform rich with features that makes it easy to get started as most developers can utilize a language they already know. With a cool set of features, ready to use libraries and an open software platform ready to be hacked, Intel has made a great job in their aim to make things happen.

Frequently Asked Questions (FAQs) about Intel Edison for IoT Developers

What are the key specifications of the Intel Edison Compute Module for IoT?

The Intel Edison Compute Module for IoT is a high-performance, dual-core Intel Atom CPU and single-core microcontroller (MCU). It has a 1GB LPDDR3 PoP memory, 4GB eMMC storage, and dual-band Wi-Fi and Bluetooth Low Energy (BLE) for connectivity. It also includes a 70-pin connector interface that supports a wide range of peripheral devices.

How does the Intel Edison Compute Module contribute to Edge and 5G technology?

The Intel Edison Compute Module plays a crucial role in Edge and 5G technology by providing a compact, yet powerful computing solution that can process and analyze data at the edge of the network. This reduces latency, conserves network bandwidth, and allows for real-time insights and decision-making.

Why was the Intel Edison Compute Module retired?

Intel decided to retire the Edison Compute Module to focus on its newer and more advanced IoT products. However, the Edison Compute Module remains a popular choice among developers due to its compact size, powerful performance, and extensive connectivity options.

How does the Intel Edison Compute Module support open-source applications?

The Intel Edison Compute Module supports open-source applications by providing a Linux-based environment that allows developers to use a wide range of open-source tools and libraries. This makes it a versatile platform for developing a variety of IoT applications.

What is the history and development of the Intel Edison?

The Intel Edison was first announced at the Consumer Electronics Show (CES) in 2014 as a development platform for wearable devices. It was later expanded to support a wider range of IoT applications. Despite its retirement, the Edison remains a popular choice among developers due to its powerful features and compact size.

What are some common uses of the Intel Edison Compute Module in IoT development?

The Intel Edison Compute Module is commonly used in IoT development for applications that require compact size, powerful performance, and extensive connectivity options. These include wearable devices, home automation systems, industrial automation, and more.

How does the Intel Edison Compute Module compare to other IoT development platforms?

The Intel Edison Compute Module stands out for its compact size, powerful dual-core CPU and single-core MCU, and extensive connectivity options. However, it may not be as user-friendly as some other platforms, and its retirement means that it may not receive future updates or support from Intel.

What are some challenges in using the Intel Edison Compute Module for IoT development?

Some challenges in using the Intel Edison Compute Module for IoT development include its relatively high cost compared to some other platforms, its complex setup process, and the lack of future updates or support due to its retirement.

What are some resources for learning more about the Intel Edison Compute Module?

There are many resources available for learning more about the Intel Edison Compute Module, including the official Intel website, various online tutorials and guides, and online developer communities.

What are some alternatives to the Intel Edison Compute Module for IoT development?

Some alternatives to the Intel Edison Compute Module for IoT development include the Raspberry Pi, Arduino, and BeagleBone platforms. These platforms offer a range of features and capabilities to suit different needs and budgets.

Michele TameniMichele Tameni
View Author

An unconventional software engineer, interested in research and development of innovative apps, experimenting on emerging technology and interaction methods. A contributor to some open source projects, some for work, mostly for passion. When not at a keyboard Michele is usually travelling around the world, taking photographs or writing about adventures.

chriswinteliot
Share this article
Read Next
Get the freshest news and resources for developers, designers and digital creators in your inbox each week