How to Upload Firmware to an Ardunio

Prior to using Evolved Horizon with an Ardunio board, you must upload software to it. The software is compiled C++ code that we call “firmware”, and basically enables communication, I/O sampling and buffers for Evolved Horizon. The process of uploading Stardots Arduino firmware is really simple and takes less than an minute to perform.

Step 1 – Connecting your Arduino to your computer
Step 2 – Start the application
Step 3 – Upload to the device
Step 4 – (Optional) Add the device to Evolved Horizon

Step 1 – connecting your Arduino to your computer

Plug you USB Cable from the Ardunio to your computer and verify that you have power by some lit LEDs,  as seen in the figure below. If multiple USB exists on your Ardunio (.e.,g Zero, Due), please use the “Programming Port”.

A connected Arduino MEGA 2560 rev 3

If this is your first time connecting an Arduino to your computer, or your Operating System (OS) is not recognizing the device you may have to download Arduino USB-drivers at the software download page of Arduino. Download and install the IDE and the USB drivers will be automatically installed. For Windows, you may verify that it has recognized the Ardunio device by opening the device manager (Windows button + “R” and type “devmgmt.msc” in the run dialog and press enter) and expanding the ports category. A screen shot of how it looks on one of our computers is shown below…

The Windows device manager with the “Ports” category expanded to show the connected Arduinos.
Step 2 – Start the application

This step requires that you have Evolved Horizon installed, and that you have a valid license. If you are using another version of Evolved Horizon, some differences may be seen. Double click on the Evolved Horizon Icon to execute the Booter that check for updates, licenses etc. prior to starting the Evolved Horizon application. Once started, please click the settings button, indicated by the blue rectangle, to display the various application settings and information.

The Booter checks Stardots Cloud servers for upgrades etc and then starts the main application.

The Evolved Horizon Launcher, which start the launches the client/server as well as configuring users, uploading firmware etc.
Step 3 – Upload (flash) the device

At the Configuration & Information interface, please click on the Hardware & Firmware button on the left side. This will bring up the various options to upload the firmware to your device. Choose your Arduino board under “Device Class” and “Device Type” selectors, as seen below. In this tutorial we have the Arduino MEGA 2560 rev. 3.

Hardware & Firmware panel of the Configuration and Information interface

The three next options are:

  1. Firmware revision – default is to choose the newest i.e., the highest number starting from the left.
  2. Buffer size – in the length x width notation. Length is the maximum data capacity per channel, and width is the maximum number of channels. E.g., 100 x 12 means up to 100 datapoints and 12 channels. Please remember that your Arduino is polled around 10 times per second, which means 100 x 12 is adequate for an SPS (samples per second) of ~100×10 = 1000 and up to 12 channels. Stardots opt to choose static buffers to ensure maximum device stability…
  3. USB port – which port the device is connected to. Either use Auto (recommended) or be explicit…

You may read the current release notes for the choosen firmware, by clicking on the “Read release notes” button.

You are now set. Press “Upload to device”; the program will now try to establish contact with the Arduino and upload firmware to it, after you have confirmed the upload process. NOTE: Everything on the device will be overwritten, including Other code, data etc. However, any data on a SD-card will not be deleted. 


Confirmation dialog – you are about to upload code to your Arduino, and it will overwrite any existing…

Some guidelines for prepering for the upload transfer process. After you clicked “Ok” the upload process will begin by erasing any program currently on the Arduino

The application is trying to establish communication and start the upload process. This step will take up to 40 seconds, depending on hardware and firmware revision.

This dialog will be displayed upon a successful upload.

Yay! You have now Evolved Horizon firmware on your Arduino, and ready to sample some sensors/actuators. You may overwrite these firmware with other Evolved Horizon firmware, or your own code from the Arduino IDE at any time. The firmware is persistant until the next upload.

Step 4 – Add the device to Evolved Horizon

This step is optional, but shows how to connect to the newly flashed device using the console and the interface of Evolved Horizon. First start Evolved Horizon by clicking on “Launch” in the Evolved Horizon Launcher.

Launch Evolved Horizon

Choose modules at the welcome screen

At the welcome screen, go to the modules interface by clicking the Modules-button. Choose the right module class (Device) in the left side of the interface. Create a new device as shown in the figure below:

Add a new device in the Modules Interface by clicking the “+” sign in the Device panel. Choose the right USB port and press create!

Check the status of newly created device. If the device was correctly connected, its status will be “Ready”

The device may also be added by using the console; from the Welcome screen press the Console button, and add the device using the console command devnew and devinf, for module creation and information listing, as seen in the screen-shot below.

You may configure new devices in the console by using the devnew command.