Programming
nano EDGE ENGINE Libraries
nano EDGE ENGINE enables real-time device programming using components from libraries installed on the device. Application programming on the controller is done in the Applications container. The nano EDGE ENGINE controller can run multiple applications in different time cycles, running simultaneously.
To learn more about the Applications, please refer to the nano EDGE ENGINE Programming user manual.
To start programming, make sure that the required libraries are installed on the device.
To learn more about the nano EDGE ENGINE libraries and components, please refer to the nano EDGE ENGINE Programming user manual.
Installing Libraries
Software Manager is the tool designed to manage (install, uninstall, upgrade, downgrade) nano EDGE ENGINE OS and libraries. To start programming applications, first, go to the Software Manager and make sure that the OS is installed in the required version and all required libraries are installed in relevant versions.
Programming
Programming of the nano EDGE ENGINE devices is typically carried out by dragging and dropping components from the installed libraries (either directly from the nE2 Link module or from the Libraries folder in the device tree, see sections below) to the Applications container. It is possible to drop the components directly to the device tree or onto the wire sheet (in this case, the wire sheet must be opened for the Application or Equipment component).

Example locations to drop a component
Basic components (Data Points, schedules, calendar, and folder-type components) can be added by right-clicking on the Application/Equipment or directly on the wire sheet.

Context menu for adding basic components in the device tree

Context menu for adding basic components on the wire sheet
Note
All the Data Points required for the application programming are stored in the Library.Core. To learn more about the Core library and its components, please refer to the nano EDGE ENGINE Programming user manual.
Application Structure
The nanoEDGE Engine organizes the application structure using a clear, hierarchical model designed for scalable, logical, and intuitive system configuration. The architecture follows the pattern:
Applications container
Application component (top-level component required to build any logic in the engine; multiple applications can run independently in different time cycles and contain one or more Equipment objects and Data Points)
Equipment component (optional but recommended to represent real-world systems such as AHUs, VAVs, meters, etc.; can contain Data Points, logic blocks, and sub-equipment components)
Data Point(s) (represent all the core system data such as sensors, setpoints, or commands, essential for exposing data to the Niagara Framework and external protocols, and for enabling features like trending, alarming, and tagging)
other components
Equipment component
Data Point(s)
other components
etc.
To learn more about the Application and Equipment component, Data Points, and other components available for programming, please refer to to the nano EDGE ENGINE Programming user manual.
This structure is not just for the naming convention. It serves a purpose as a data modeling best practice that simplifies engineering and prepares the system for future analytics integration.

Recommended application structure
Programming with Libraries in nE2 Link Module
From the V1.7 and up, the nE2 Link module provides nano EDGE ENGINE libraries to install on the device (using the Software Manager).
Important - compatible versions
In order to use libraries available directly in the nE2 Link module, it is required to make sure that the controller is upgraded to the latest version supported by the nE2 Link. To check it, go to the Software Manager and see if the OS or any library is marked as outdated or available to install. If so, perform an upgrade and/or installation of required elements.
If - for any reason - the OS/library versions are not the same as the nE2 Link version and they cannot be upgraded because of any system requirements, it is recommended to use the components coming from the device tree (see the Programming from Device Libraries section below).
In the Palette of the nE2Link module there is the Libraries folder with all nano EDGE ENGINE libraries available to install on the device:

Libraries available in the palette
Programming of the nano EDGE ENGINE applications is typically carried out by dragging and dropping components in the Applications container, under the Application component.
Components can be dragged and dropped directly from the Palette folder.
Important
When adding components from the Palette window, all libraries and components will be visible on the list, but only components from the libraries installed on the device can be effectively added to the application.
Programming with Device Libraries
The user can program the nano EDGE ENGINE device using installed libraries and components found in the Libraries folder.
The libraries on the device act as a palette of components that can be dropped into the device logic. If the user does not have a dedicated module with nano EDGE ENGINE libraries, it is possible to use those installed on the device.
Libraries installed on the device are accessible in the device tree:

Libraries available in the device tree
The libraries on the device act as a palette of components that can be dropped into the device logic. To enhance the user experience, it is recommended to open an additional nav view for the Libraries view:
in Workbench, go to Window → Sidebar → Nav. Select Nav.
A new Nav view will appear on the left bottom side of the Workbench view. Navigate to the nE2DeviceExt, right-click on the Libraries folder, and select Go Into.

An on-device libraries list will appear.
