Evolved Horizon / FAQ

Frequently Asked Questions

Q: What is Evolved Horizon™?

A: Evolved Horizon™ is a system developed by Stardots for conducting sensor acquiring and storing as well as data analysis, using external devices such as an ARDUINO. The system includes the firmware for the devices (for I/O), and the computer application for setup and analysis.

Q: What is Stardots?

A: Stardots AB is a Sweden-based company formed November 2015, dedicated to developing R&D applications to the scientific community. See About us.

Q: What hardware are you currently supporting?

A: At the moment: ARDUINO. See Arduino.cc for more info. Specific boards are updated every month, see supported devices for more info.

Q: What is installed when I download Evolved Horizon™ from your webpage?

A: The Evolved Horizon™ Booter (and some its required files).

Q: What is the Booter?

A: The Booter the is the program that you starts when you execute the Evolved Horizon™ application; it takes care of the licensing and software updates. It also downloads the main application, if it is not installed.

Q: Why is a login and password required when I start the booter?

A: First time use of the Evolved Horizon™ application requires you to enter your Stardots Credentials (i.e., your email address and the password as entered on the webpage) to verify that you have a valid login. A license file will be downloaded from our cloud-server, and you are not required to have an internet connection after that.

Q: What information are Stardots sending?

A: First: all traffic is encrypted. Regarding the transmission of information: First time use: login and password. At every startup: information regarding your license and computer: email-address, a unique hardware ID from our OS, platform (OS), country (region), MAC-address of your network card and your computer name. This information is transmitted in order to determine a valid license and eligible updates. If you choose to delete yourself from our website, all information connected to you will be also be deleted (and you will not be able to start the application in online mode…)

Q: The Booter says it needs JAVA to start, why?

A: The Booter is written in the JAVA language and a JAVA 1.6 or later Runtime Environment (JRE) is needed to be installed on the desktop for the Booter to start. Most operating systems already have the JRE installed. See more at: Java.com and Oracle.com

Q: What is the software written in?

A: A combination of languages: C++ for all device firmware, JAVA for the booter, and MATLAB® for the desktop application.

Q: What is MATLAB®?

A: MATLAB® is a product from the Mathworks® Inc. It is the standard language for technical computing, and a widely used program for performing data analysis and visualizations, especially within the R&D community. See mathworks.com. MATLAB® is a property software language that requires an MATLAB® installation, or a run-time environment (MCR).

Q: What is MCR, and why is the Booter prompting me to install it when I first try the application?

A: Since the Evolved Horizon main application are written in MATLAB® you need the MATLAB® engine for it to execute. MCR is a run-time environment for MATLAB®, enabling users to run MATLAB® application without the MATLAB® product. MCR is free to install and use, under MathWorks license, see more here: MCR.

Q: The application takes considerable time to start (after the booter is finished and the splash screen is displayed), is this normal?

A: This is normal behavior, since application requires MCR and its large subset of software libraries for e.g., data visualization. In addition, the MCR takes considerable amount of RAM >400 MB, also due to the size of its libraries.

Q: What is an Evolved Horizon User?

A: A user is a profile with a set of settings, that customizes the Evolved Horizon experience, such as save file locations etc. A scenario could be a lab-computer that runs a whole slew of different test-setups with many different users. A solution would be to define different users to separate between the setups and configurations. No password is required, and there is no (application-based) security applied on the various folders. All users use the same license, however.

Q: In the Evolved Horizon Launcher: what is the mode?

A: The only implemented mode is “Local Client and Server”, but the application is built around a client-server architecture. Further modes TBA (To Be Announced)… 😊

Q: What are the four icons in the Welcome screen in the client?

A: A link to the Console, Modules, I/O and Analysis user interfaces, respectively.

Q: What is the console?

A: The console is output of text from the server and input of commands from the user (you). It is useful for more detailed information from the server and for performing your own commands or running scripts.

Q: How many commands are there and what do they do?

A: There are currently 50+ commands (plus some hidden ones). A detailed listing may be obtained by entering “help” at the commands prompt. Or if you wish to read it outside the console: “help -file mycommands.xlsx -open” or “help -file mycommands.txt -open” if you don’t have Excel installed.

Q: What is a script? And didn’t you say that Evolved Horizon is “programming free”?

A: A script is a series, a batch, of commands, that could have be entered by you into the console one by one. The concept of a script speeds up that process, as well as saves the command batch for later use. In addition, scripts may call other scripts (up to 8 script-depth recursively). Almost every aspect of Evolved Horizon may be configured/controlled by the graphical user interfaces, but scripts provide a powerful companion…

Q: I’m missing variable declaration, loops etc… Are they coming to the script?

A: TBA 😊

Q: What is a “Module”?

A: The concept of a “module” is central to Evolved Horizon. In essence, the modules forms an hierarchy that couples and configures e.g., how the input/output (I/O) to devices are performed, which databases to use, and how to conduct analysis. There are six I/O module classes: assembly, database, session, device, channel, and plot, and one Analysis module: DSP (coming soon).

Q: How is module configuration stored?

A: In your user profile (see …/user/modules). You may copy module files to respectively folder to load new ones, defined elsewhere.

Q: What is the difference between a module “class” and a module “type”?

A: A module class is the main type and there are currently six I/O and one analysis. A module type is a specialization of a module class. The least information you need to provide when creating new modules are its “type” and its “id” (and implicitly its class).

Q: What is a module “id”?

A: A unique string of characters that are filename friendly. By unique we mean no other module within its class have the same id. The following characters are not valid: “,*,?,/,:,\,  
TIP: keep the ids short and simple. Put longer (trivial strings) in a modules name.

Q: How do I create a new module?

A: There are many ways: 1. Using the Modules GUI, 2. entering a command in the console, or run the welcome script (shipped with the product).

Q: What is the console command for creating a new module?

A: Xnew -id “my id” -type “modtype” (replace X with asm, db, ses,dev,ch or plt for assembly, database, session, device, channel and plot, respectively). Replay “modtype” with a valid parameter for its module class. For example: devnew -type “Arduino Zero” -id “mydev1”

Q: What is an assembly module?

A: It is the mother module, defining the entry-point for all I/O experiments. You essentially run an assembly module when conducting a sensor acquisition. The assembly has (besides its own) two important configurations: what sessions to include (at-least one) and what database to include (maximum of one).

Q: What is a session?

A: The session is responsible for querying the devices for data and store and retrieve data (if a database is defined in the parental assembly). The session defines the timing of the device polling as well as what device (only one), and what channels (one to 64 (this is mostly hardware constrained)) to use.

Q. What is a device?

A: A device is the source of I/O data. Only external devices are implemented yet. E.g., an ARDUINO Zero. Besides hardware type the device communicates with a certain method. Only USB is supported right now).

Q: What is a channel?

A: A channel defines a single source of data. Most likely a physical channel on your device (such as analog in). A channel have many configurations, including how to scale the incoming signal). A channel may be used together with one or many plots.

Q: What is a plot?

A: A plot module is a visualization of one or more channels. One channel may be visualized in many plots for better insights.

Q: What is a database module?

A: The end-storage for all your data. This database is used in the Analysis GUI of the Evolved Horizon Client. You may have infinite number of databases, to separate data for easier analysis.

Q: What is a DSP module?

A: DSP – digital signal processing. A module that performs data analysis on a selection of data from a database. (NOT IMPLEMENTED YET. Coming soon!)

Q: How does the module hierarchy look?


Hierarchy of the Evolved Horizon I/O modules.


Q: What is the analysis GUI?

A: It is where the post-I/O analysis and insights are gained. Browse, visualize, export, remove all of your data here, per database.

Q: I’m still having problems. What can I do?

A: Please contact us at support@stardots.se.

Q: I really like your product. May I buy multiple licenses for a reduced price?

A: Please contact info@stardots.se.