Click here to Skip to main content
13,830,866 members
Click here to Skip to main content
Add your own
alternative version


2 bookmarked
Posted 26 Apr 2018
Licenced CPOL

Beyond Arduino Create: Developing UP Squared Projects in Intel® System Studio

, 26 Apr 2018
This article provides guidelines for getting your UP2 board configured for developing applications with Intel® System Studio.

Editorial Note

This article is in the Product Showcase section for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers.


Arduino Create* is an online integrated development environment (IDE) that simplifies the process of getting familiar with the UP Squared* Grove* IoT Development Kit. As a cloud-based software development environment, Arduino Create is always up-to-date and provides a streamlined method to configure the UP Squared* (UP2*) board so you can quickly start experimenting with the various sensors provided in the kit.

Many developers may at some point want, or need, to move from Arduino Create to a full-featured production IDE. This article provides guidelines for getting your UP2 board configured for developing applications with Intel® System Studio.

Get familiar with Arduino Create*

The steps outlined in the following sections of this article assume you have already configured your UP2 board and successfully worked through the Arduino Create Blink Application provided in the Grove IoT Development Kit. If not, check out the UP Squared* Grove IoT Development Kit Getting Started Guide before proceeding.

Install Intel® System Studio on Host Computer

Intel® System Studio is the IDE of choice when developing IoT and gateway applications targeting Intel® processors. As you will see on the Intel® System Studio landing page, it provides access to over 400 sensors, enhanced debugger workflows that automate tracing, additional libraries and code samples, and improved data compression and optimizations for small matrix multiplication.

Intel® System Studio is available with a free 90-day renewable commercial license. After registering here, you are given the option of selecting the development and target operating systems. When you register Intel® System Studio you will receive an email with the serial number to use during installation.

In this article our host development computer is equipped with an Intel® Core™ i7 processor, 8 GB RAM, and Windows® 10 Pro. The target operating system is of course Linux*, as the UP2 board comes preconfigured with Ubuntu* 16.04 Server installed, along with some other support libraries.

Once Intel® System Studio is downloaded to your development computer, refer to Developing C/C++ Projects with Intel® System Studio for additional information on installing Docker*, enabling code samples, etc.

Intel® System Studio Dependencies


If you installed Intel® System Studio but Docker is not already installed on your system, you will soon discover that it is required for building and uploading projects targeting the UP2 board. Refer to Installing Docker* on a Windows* Host for complete information on installing Docker. In this article we installed Docker for Windows (stable channel) per the linked guide, enabling virtualization in BIOS, etc.

Microsoft .NET Framework*

You may also need to install Microsoft .NET Framework* 3.5 if it is not already installed on your system. You can download the installer here.


Although PuTTY* is not strictly a requirement, you will likely find it useful for remotely accessing the UP2 board. You can download PuTTY here.

Configure the UP2 Board* Target Environment

The UP2 board includes HDMI and USB connectors, making it convenient to plug in a monitor, keyboard and mouse for local configuration changes. The instructions below assume you are working locally in this manner, rather than over remote SSH connection. (Note: both the default username and password for the UP2 board is upsquared.)

Ubuntu* 16.04 Server Image

As previously mentioned, the UP2 board comes with Ubuntu 16.04 Server preinstalled, so you should be good to go right out of the box. However, in the unlikely event the OS becomes corrupted, or if you simply want to start fresh with a clean installation, you can download and flash the board by following the directions provided here: UP Squared IoT Grove Development Kit Ubuntu 16.04 Server Image.

Configure Root Access on the UP2 Board*

In order for Intel® System Studio to synchronize libraries between the host computer and target board, the UP2 board will need to be configured for root access. One way to achieve this is by entering the following commands to create a root password and unlock the account on the UP2 board:

sudo passwd root
sudo passwd -u root

Next, open the SSH configuration file:

nano /etc/ssh/sshd_config

Locate and change the following line:

From: PermitRootLogin without-password
To: PermitRootLogin yes

Save the file and then then restart SSH:

service ssh restart

You can verify remote root access by using PuTTY (assuming you installed it as recommended above). In PuTTY, specify SSH for the connection type using Port 22, and enter the UP2 board’s IP address. Once a connection is made to the UP2 board, enter root for the username along with the password you created in the steps above. Close the PuTTY session once you have verified connectivity.

Build and Upload a Sample Program

In this section we will test our development environment by running the On-Board LED Blink example included in the Intel® System Studio installation. Assuming you have successfully worked through the Arduino Create Blink Application provided in the Grove IoT Development Kit, you should be familiar with the board setup shown in Figure 1. If not, refer to the instructions provided here for more information on how to connect the Grove LED module to the Grove Pi+* breakout board.

Figure 1. UP2 board with Grove Pi+* and LED module
The basic steps for creating a new project in Intel® System Studio, based on the On-Board LED Blink example, are shown below. (Note: Complete instructions for enabling code examples, running Intel® System Studio, creating a new C/C++ project, and running a project are provided here.)
  1. Open Intel® System Studio and select File New Project.
  2. Under Application Development select Project for building in a container and running on LinuxNext.
  3. In the next window select Ubuntu Linux 16.04 64-Bit (GCC)Next.
  4. In the next window select C++Basic On-Board LED BlinkFinish.
  5. Install platform support if not already installed.
  6. Run the project by following the directions provided here. Note: When prompted for login information to access the UP2 board, use the root account information created in the last section.

Migrate an Arduino Create* Project to Intel® System Studio

Instructions for migrating an Arduino Create project to Intel® System Studio are contained in the article "Transfer Your Project from Arduino Create* to Intel® System Studio 2018".


Arduino Create is a great framework for getting up to speed quickly with the UP Squared Grove IoT Development Kit, and it may prove to be your IDE of choice for developing IoT applications for the UP2 board. For other developers, migrating to a full-featured production IDE like Intel® System Studio may be desirable or necessary. Hopefully this short primer will assist you in making the transition.

Learn More


Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Performance varies depending on system configuration. Check with your system manufacturer or retailer or learn more at

No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.
Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.

This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications, and roadmaps.

The products and services described may contain defects or errors known as errata which may cause deviations from published specifications. Current characterized errata are available on request.

Copies of documents which have an order number and are referenced in this document may be obtained by calling 1-800-548-4725 or by visiting

Intel, the Intel logo, and Xeon are trademarks of Intel Corporation in the U.S. and/or other countries.

*Other names and brands may be claimed as the property of others.

© 2018 Intel Corporation

Microsoft, Windows, and the Windows logo are trademarks, or registered trademarks of Microsoft Corporation in the United States and/or other countries.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Intel Corporation
United States United States
You may know us for our processors. But we do so much more. Intel invents at the boundaries of technology to make amazing experiences possible for business and society, and for every person on Earth.

Harnessing the capability of the cloud, the ubiquity of the Internet of Things, the latest advances in memory and programmable solutions, and the promise of always-on 5G connectivity, Intel is disrupting industries and solving global challenges. Leading on policy, diversity, inclusion, education and sustainability, we create value for our stockholders, customers and society.
Group type: Organisation

43 members

You may also be interested in...


Comments and Discussions

-- There are no messages in this forum --
Permalink | Advertise | Privacy | Cookies | Terms of Use | Mobile
Web04 | 2.8.190114.1 | Last Updated 26 Apr 2018
Article Copyright 2018 by Intel Corporation
Everything else Copyright © CodeProject, 1999-2019
Layout: fixed | fluid