Menu
  • Use Cases
  • Stacks
  • Stackbuilder
  • MyStacks
  • Support
  • About Us
  • Contact
  • Use Cases
  • Stacks
  • Stackbuilder
  • MyStacks
  • Support
  • About Us
  • Contact
  • View Cart

Update stack software (firmware)

If there is new software (firmware) available for the Base hardware block in your stack, you will see an alert message in the top right of Stackbuilder.

Clicking the “x” will close the alert message.

When you want to update the software (firmware) in your Base, under the “Utilities” pull down menu, select “Update Base Firmware”.

The console display in the bottom rail will display progress. Downloading the update to your stack can take around 5 minutes. Make sure you do not disconnect the power or USB cable during the update.

After completion, you will need to unplug the power and USB cable from your stack, then re-connect them.

Firmware for other hardware modules can also be updated if recommended by Interstacks support. Just the module to be updated is placed above the Base module, then under the “Utilities” pull down menu, select “Update Module Firmware”.

Refer to documentation on many other topics at interstacks.com/knowledge-base.
Please email info@interstacks.com with any questions.

Read More

Install Windows USB driver

To download your project blueprints developed in Stackbuilder to your stack, you connect the included USB cable from your stack to your PC.

The USB drivers for connecting your stack to Windows PCs makes use of Microsoft’s WinUSB driver resources. Depending on your Windows Update settings, those drivers may already be present ( Windows 8.1 onwards) or downloaded as needed. If the drivers do not get installed automatically, follow the screenshots below to manually install them (with the driver files provided as part of the Stackbuilder installation).

Upon plugging the Stack for the first time into a USB port, Windows will automatically try to look for the drivers. This may take several minutes depending on Windows Update settings, network configuration and IT policies of your enterprise. You may see two cases at this point:

1) A failure message popup near the system tray. If you see this message proceed to the “Manual Install of Interstacks Drivers” section of this page for instructions.

2) Or windows continues to search for drivers (click on the system tray to reveal the searching for driver icon and double click on it to see details as shown below).

At any point, you can skip the automatic update and try the manual install. Click on the “Skip obtaining driver software from Window Update link” which will bring up the following message:

Click “Yes” to proceed to this message which indicates the failure to find appropriate drivers automatically.

Close the dialog box and proceed with the”Manual Install of Interstacks Drivers” section of this page

Manual Install of Interstacks USB Driver
Follow these steps to install the USB device driver for Interstacks.

Go to Control Panel ( if not sure where to find Control Panel, follow instructions from Microsoft at https://support.microsoft.com/en-us/help/13764/windows-where-is-control-panel ).

Click on Device Manager (NOT “Devices and Printers”). The connected Stack will be found under “Other Devices” labeled as “ISXBase” as shown in the image below. Right Click on ISXBase and click on “Properties” and proceed to the next step.

In the “Properties” window of ISXBase click on “Update Driver”.

Click on “Browse my computer for driver software” on this dialog.

Click on “Browse” to locate the driver location which by default would be in this path (unless changed by the user during Stackbuilder installation): C:\Program Files (x86)\Stackbuilder Then Click “Next” to proceed.


A dialog window indicates the installation of the USB driver for interfacing with Interstacks modules was successful. You can now run Stackbuilder and download your project blueprints to your stack.

Read More

Stack Environment Properties

When a blueprint is used in multiple Stacks, it is often useful to have a number of stack customization properties whose values can be easily edited and used in the blueprint.

Every Blueprint in Stackbuilder provides a Property mechanism to configure and control the behavior of that Blueprint. In a modular, hierarchical building blocks architecture as seen in Stackbuilder, these Property namespaces of individual Blueprint blocks can be organized in a flexible way to allow the parent namespace to affect the underlying child blocks when the child block’s Properties are “exposed” up to the parent. Recall that each row in the Property table of a blueprint has three columns where the third column exposes (and renames if different) the property name (first column) to its parent. The property editor is always in the bottom right of Stackbuilder. Selecting the background of the blueprint or an individual block, causes the property editor to display its contents for the selection.

Ultimately, this hierarchical Property namespace tops out at the Stack level as the Stack Environment for each individual Stack, wherein the specified properties and their values are global to that entire Stack. To access the Stack Environment of any given stack, connect the stack via USB to Stackbuilder and click on the “Stack Info” tab at the bottom of the screen.

On the tab view for “Stack Info”, with the Base selected( default) on the left panel, the right panel has a table labeled “Properties of Stack Environment” that provides a way to add, edit and remove properties and their values similar to that of the Properties section on the bottom right for Blueprints.

Why Use the Stack Environment?
Other than the already mentioned value of a “global” property space to be used by underlying blocks for ease of use, the Stack Environment provides provides three important management functions.

Independent data store of sensitive information
Rather then revealing sensitive information such as account names, passwords, cloud credential information and other protected data directly in the code (which is highly discouraged) Or as properties of Blocks (say the WiFi block’s network router SSID and password), such information should be made available in the Stack Environment. This approach allows for building Blueprints that are “pure” code that is easily transportable across multiple stacks doing the same or similar function and avoids the security aspects of leaking user credentials when the blueprints are shared with non-vetted users.

Device management information
When deploying multiple stacks that are functionally the same save for certain identifying attributes such as device id, tag name(s), device location and other identifiers that match up with their digital twins in the cloud, Stack Environment provides the mechanism to keep the functional Blueprints generic and common to all the stacks and to apply the device specific information for each stack via the Stack Environment. This reduces the developer’s need to manage multiple Blueprints, one for each stack, thereby improving usability and reducing potential conflicts.

In field property update
Its likely that some properties of the Stack may not be available at the time of creating the Blueprints for the stack and even if so, there may be a need to update them at a later point in time. For example, the Wifi SSID and password will need to be updated when either the router information is changed or if the stack is moved to a different location with different router access information. In such cases, updating the Stack Environment properties at run time is vastly more convenient than updating the Blueprints with the new information.

Example Use case

In this Project Blueprint “Stack Environment Example” we have an I/O module sending two sensor data values to the cloud via HTTP API using Wifi.

In this Blueprint, instead of setting the WiFi Block’s ‘network_name’ and ‘password’ property directly on the block, let’s expose (and rename) them to be made available to the parent as shown below

Clicking on the Wifi Block to display its properties in the properties area on the bottom right and update as shown above so that
‘network_name’ is exposed as “network.name”,
“password” is exposed as “network.password”
and there are no default values set here, therefore the Blueprint does not contain sensitive information.

To make these two properties of the WiFi Block inherit from the Stack Environment, they need to be exposed on all intermediate parent blocks. In this example, that would include the Project Blueprint “Stack Environment Example” [Note: At each level, the parent’s property space includes the exposed properties of ALL of its child blocks]. We follow the same procedure to expose the two properties (with the same name mapping this time) for the Project Blueprint.

such that
“network.name” is exposed as “network.name” [ no default value] “network.password” is exposed as “network.password” [ no default value]

Note to Advanced Users: There is a handy shortcut for exposing ALL the properties of a given block up one level, which is done by defining the “*…” property and exposing it as “*…”. Although convenient, one should use caution in using this in situations where properties of other blocks which also share the same property namespace can cause unintended consequences to the underlying blocks making use of this shortcut.

Here’s an example of this shortcut being used on the Project Blueprint.

At this point, the Wifi block’s two properties are exposed all the way to the top of the stack. Now, to set the values in the Stack Environment, connect the stack via USB and then click on Stack Info and fill out the two properties and their values to be used by this specific stack as shown below

With this set, clicking on “send to stack” button will load the “pure” blueprint and the specific Stack Environment of this stack to the connected stack. If, you were to connect a different stack and then click on the Stack Info tab, the Stack Environment for this new stack will be different (or empty if never set before) from the one we just set even if we were to re-use the same blueprint on the second stack.

To extend the example, lets say we want to include device specific information as part of the HTTP data sent to the cloud. The “Send device sensor data to the cloud” block has a property named “device.id” which identifies a particular device, say by a unique string. If we were to deploy the same Blueprint on multiple stacks, it is obvious that we should not be setting this value directly on this block and should instead be using the Stack Environment for managing the device identity. Following the similar steps as the Wifi Block, we can expose the “device.id” property on the “Send device sensor data to the cloud” block and the parent Project Blueprint and finally update the Stack Environment of the connected stack to include the specific device id as shown below.

We have demonstrated the use of Stack Environment to deal with device specific information and to securing sensitive data from being exposed in general purpose blueprints.

Refer to documentation on many other topics at interstacks.com/knowledge-base.
Please email info@interstacks.com with any questions.

Read More

Make a software block in “My Blocks”


Make sure you are running the current version of Stackbuilder by downloading it from interstacks.com/stackbuilder.

To make your own software block to use in Interstacks blueprints, select “New My Blocks Software” from the “Blocks” pull down menu in the Application’s menu bar. You will see a new entry in the “My Blocks” palette labeled “Untitled Script”. Click on that text and rename your block. Double click on the new entry to open a new tab in the Stackbuilder interface with the editor for software blocks.

Interstacks software blocks are made using the Python scripting language. Every Interstacks block has input terminals that receive messages and output terminals that send messages. You can add an input terminal, and its associated input message handler, by clicking on the “+” icon in the top right, then selecting New Message Handler from the pop up menu that appears. You can add an output terminal by clicking on any of the “+” icons on the right side of any handler. The output terminals are not bound to any message handler in any way i.e. any message handler can send a message out of any output terminal. The “X” icons will delete a respective message handler or output terminal. You can rename any input or output terminal by clicking on the text and editing.

The message received by an input terminal’s message handler is in the variable “message”.

You send a message out of an output terminal by using I.sendmessage.
For example: I.sendmessage(2, ‘hello world’) sends the message ‘hello world’ out of terminal 2.
I.sendmessage(4, mylist[3] ) sends the fourth entry of the list “mylist” out of terminal 4.

Using I.debug, will display its arguments on the console trace. This is useful for testing your software block.
For example: I.debug(“Put this on the console trace”, mylist[3] )

There is another type of handler, called Startup Handler that can also be added to a software block. Its contents are run once, before any other handlers, when the block receives its first message.

When you want to put your new software block in a blueprint, drag and drop its entry from the “My Blocks” palette into the blueprint. You must click in the area to the right of the text name but inside its bounding rectangle.

Refer to other support documents for more information on Python programming and Interstacks.

Refer to documentation on many other topics at interstacks.com/knowledge-base.
Please email info@interstacks.com with any questions.

Read More

Use the console trace to test your blueprint


When you are ready to test your blueprint, make sure your stack is powered via the AC power adapter, and the USB cable is connected between the Base of your stack and your computer.

Then click on the Send to Stack button in the top middle of the blueprint area. It will take some time to transfer the blueprint to the stack. Your stack will reset itself and start running the blueprint you sent to it.

You will see a trace of messages running in the stack in the console trace area in the bottom rail. The bottom rail will automatically expand when you send a blueprint to the stack. You can collapse it by clicking anywhere in the white area to the right of the bottom rail tabs. You can expand it by clicking on the bottom tab labeled “Console”.

Each line in the trace indicates the block (in blue) and output terminal (in green) a message was sent from. To see only the messages from one block, click on the blue area in the trace for that block. To go back to seeing all messages, click in the text box at the top of the trace and delete all of the text. That text filters the trace i.e. only trace entries that match a portion of that text will be listed. Selecting other buttons at the top of the trace will cause only certain types of entries to be listed. By checking the Pause Log box, the trace will stop displaying new messages. The Clear button will clear the trace. You can use your computer’s normal scroll methods to scroll forward and back in the trace.

If any software blocks contain the Python statement I.debug, its text will be printed in the console trace when it runs.
For example: I.debug(“this will print in the trace”, variable_name)

By using the console trace to see messages flowing in your stack, and optionally the use of I.debug in software blocks, you can test and debug your blueprint.

In addition, if you hover your mouse cursor over an output terminal in your blueprint, a tooltip will appear that will display the last message sent from that terminal.

Once your blueprint is working properly, you can disconnect your stack from your computer. Subsequently, every time your stack is powered on, it will load the blueprint you sent to it. The computer is only needed to develop the blueprint and send it to the stack, not to operate the stack.

Refer to documentation on many other topics at interstacks.com/knowledge-base.
Please email info@interstacks.com with any questions.

Read More

Make your first project


Make sure you are running the current version of Stackbuilder by downloading it from interstacks.com/stackbuilder.

To start a new project with a blank blueprint, select “New Project” from the “Blocks” pull down menu in the Application’s menu bar.

You will see a new entry in the “Projects” palette called “Unnamed Project”. To rename it, click in the text area and edit the name. To open the new project, double click in the rectangular box containing its name.

Refer to other support documents e.g. “Stackbuilder overview” to learn more about making an Interstacks project. You can drag and drop hardware, software (Library), and “My Blocks” components from the right rail into the blueprint area. Then draw lines between the input and output terminals of blocks to define the message flow. All project edits are immediately saved to your local storage and to your Interstacks cloud account if syncing is on in your Stackbuilder preferences.

When you are ready to test your blueprint, make sure your stack is powered via the AC power adapter, and the USB cable is connected between the Base of your stack and your computer.

Then click on the Send to Stack button in the top middle of the blueprint area. It will take some time to transfer the blueprint to the stack. When completed, the stack will initialize and run the blueprint you sent to it. You will see a trace of messages running in the stack in the console trace area in the bottom rail. Please see the console trace support document for more information.

If Stackbuilder indicates that your blueprint is not being sent to the stack properly, unplug the USB cable connected to your computer and plug it back in. This will initialize your stack.

Once your blueprint is working properly, you can disconnect it from your computer. Subsequently, every time your stack is powered on, it will load the blueprint you sent to it. The computer is only needed to develop the blueprint and send it to the stack, not to operate the stack.

Refer to documentation on many other topics at interstacks.com/knowledge-base.
Please email info@interstacks.com with any questions.

Read More

Stackbuilder overview


The Stackbuilder authoring tool allows you to create a stack blueprint (“program a stack”) by simply dragging and dropping hardware and software blocks into the blueprint area, and then drawing lines (channels) between the input and output terminals of those blocks. Each block has input and output terminals that send or receive messages. Messages can be numbers, characters, strings, binary data, or other data structures like lists (e.g. [ 2, 4, 6, 8] ) and Python dictionaries. The channels you draw define where messages sent from output terminals are delivered. You can draw as many channels in to, or out of, a terminal as you want. In this way, you are defining the asynchronous message flow that will run inside your stack. By allowing multiple stacks to communicate with each other and/or the internet, you can build sophisticated, large scale distributed systems.

You can mix hardware and software blocks in your blueprint. The hardware blocks correspond to the Interstacks hardware modules you purchased. Software blocks can be found in the built-in “Library” tab in Stackbuilder or you can create your own, in the “My Blocks” tab of Stackbuilder, by typing text using the Python programming language.

The Stackbuilder interface has four primary areas:
Blueprint: Main authoring area that displays message flows or the software block editor.
Right rail: To get blocks to drag and drop into the blueprint.
Property Editor: To edit properties for a selected component.
Bottom rail: For context sensitive documentation, the Console trace for message flow debugging, and other functions.

All of these areas have tabs and can be expanded or closed to manage your workspace.

All project edits are immediately saved to your local storage and to your Interstacks cloud account if syncing is enabled in your Stackbuilder preferences.

Blueprint Area

The blueprint area is the largest authoring area and displays the channels (lines) that define the message flow between blocks. It also can display tabs that contain the software block editor. As projects or other blocks are opened, they appear in tabs in the blueprint area. Simply select the tab to display its content or click the “X” in the tab to close that tab.

In the top right of the blueprint area, there are icons for zooming in and out, and to auto-zoom to fit. You can use your computer’s scroll methods to pan left-right and up-down in a larger blueprint.

To drag and drop a “Hardware”, Software (under “Library”), or “My Blocks” block to the blueprint, select the appropriate tab in the right rail. For the item you want to drag, click and hold on the area in the innermost rectangle, but to the right of the text name, then drag onto the blueprint area, then release the mouse button.

To draw a channel from an output terminal to an input terminal, hover over the output terminal and click and hold. Drag to the input terminal you want, and release the mouse button. To delete channels, hover over the channel and select the red “X” icon. By experimenting with the placement of your blocks in the blueprint, you can get the channel layout to behave differently. The icons in the top right of the blueprint area provide for toggling between different channel layout displays.

You can draw as many channels in to, or out of, a terminal as you want.

In the top middle of the blueprint area are buttons Send to Stack and Run Stack. When you want to test your blueprint in your stack, press the “Send to Stack” button. The Console trace area will expand from the bottom rail. After the blueprint has been saved to the stack, it will reset and start running. A trace of the messages sent will be displayed in the Console area.

Right Rail

The right rail is where you use the following tabs:
Projects: Add and select Projects.
Hardware: Find hardware blocks to drag and drop into the blueprint.
Library: Find built-in software blocks to drag and drop into the blueprint.
My Blocks: Add and find components you made (like software blocks you wrote).
My Data: Get/send data from/to your stack.

The right rail can be expanded and contracted by clicking on the narrow white area between the right rail and the blueprint. Your computer’s normal scroll methods allow you to scroll the contents of the tabs up and down.

Categories in the “Hardware” tab can be opened and closed by clicking on the category name once.

A set of actions are selectable under the ”Blocks” pull down menu. Actions include: “New Project”, “New MyBlocks Software”, “New MyBlocks Dataflow”, “New Collection”, “Duplicate”, “Remove Selected”, “Open”, and “Import”. These actions are also available via the “+” icon in the top right of the right rail palette.

“New Collection” allows you to create a one level hierarchy for items in your “Projects” and “My Blocks” tabs. When you select “New Collection”, a new item in that tab will be created. You can then click on the rightmost area of item entries (the area with the stacked horizontal lines icon), and then drag them onto the newly created hierarchical category. You open and close that category by clicking on its entry once.

To open an existing “Project” or “My Blocks”, you can double click on it and it will appear in a tab in the blueprint area.
Alternatively, you can select it with one click, then select “Open” from the “Blocks” pull down menu.

To drag and drop a “Hardware”, Software (in “Library”), or “My Blocks” to the blueprint, click and hold on the area in the innermost rectangle, but to the right of the text name, then drag onto the blueprint area, then release the mouse button.

To rename an item in a right rail palette, click on the text for the name and use the delete key and text keys to rename. You cannot rename items in the built-in “Hardware” and “Library” tabs.

Bottom Rail

The bottom rail expands when you click on one of the tabs, and contracts when you click on the white area to the right of the tabs. It contains an area for help documentation, an area for the Console trace which shows the message flow for your connected stack when it is running, Stack Info which shows information about your connected stack, and Sync which can show data stored inside your stack’s non-volatile storage.

Property Editor

The property editor allows you to edit the properties for a component that is selected in your blueprint. Properties are unique for each block and the details are found in the documentation for each block. Properties might be things like settings specific to a hardware block or parameters that customize the behavior of a software block. You click on the “Initial Value” column for the property you want to edit (if the value is a character string you must use quotes e.g. ‘the quick fox’).

Refer to documentation on many other topics at interstacks.com/knowledge-base.
Please email info@interstacks.com with any questions.

Read More

Interstacks Overview

Interstacks is a system of snap-together, modular electronic blocks and visual authoring tool (Stackbuilder), that enables anyone to rapidly build new electronic devices. First choose the electronic hardware blocks you want to use for a project. Snap them together into a stack. Download and install the Stackbuilder authoring tool. Connect the included USB cable between your stack and computer. Then use the Stackbuilder software to create a stack blueprint that tells your stack what you want it to do. Press the “Send to Stack” button in Stackbuilder to send your blueprint to your connected stack and save it. After your blueprint is working correctly, you can disconnect the stack from your computer. Every time your stack is connected to power, it will load the blueprint you sent to it.

The Stackbuilder authoring tool allows you to create a stack blueprint (“program a stack”) by simply dragging and dropping hardware and software blocks into the blueprint area, and then drawing lines (channels) between the input and output terminals of those blocks. Each block has input and output terminals that send or receive messages. Messages can be numbers, characters, strings, binary data, or other data structures like lists (e.g. [ 2, 4, 6, 8] ) and Python dictionaries. The channels you draw define where messages sent from output terminals are delivered. You can draw as many channels in to, or out of, a terminal as you want. In this way, you are defining the asynchronous message flow that will run inside your stack. By allowing multiple stacks to communicate with each other and/or the internet, you can build sophisticated, large scale distributed systems.

You can mix hardware and software blocks in your blueprint. The hardware blocks correspond to the Interstacks hardware modules you purchased. Software blocks can be found in the built-in “Library” tab in Stackbuilder or you can create your own, in the “My Blocks” tab of Stackbuilder, by typing text using the Python programming language.

Refer to documentation on many other topics at interstacks.com/knowledge-base.
Please email info@interstacks.com with any questions.

Read More

Download and install Stackbuilder

Interstacks monitors machines and sensors so you can increase productivity and reduce maintenance costs. It does this by using snap-together, modular electronic blocks – Stacks, and an optional integrated IoT cloud platform – MyStacks.

Need some help with your machine monitoring or other IoT projects? Contact us now. Email info@interstacks.com

Stackbuilder is the visual authoring tool that allows you to tell your stack what to do by making stack “blueprints” and sending them to your stack via a USB cable connection.

You need to download Stackbuilder for your Mac or PC by going to interstacks.com/stackbuilder and clicking on the appropriate download button for your computer. Please follow the standard installation instructions for your Mac or PC. Once installed on a Mac, you may have to hold down the “control” key while clicking on the Stackbuilder icon, then select “Open” from the pop up menu.

When you launch Stackbuilder for the first time, you will need to create an Interstacks account by entering your email address and a password. Your work can then be optionally stored in the cloud for access from any computer using your login.

You will be sent a confirmation email from interstacks.com with the subject “Verify your Interstacks Account”. You will need to click on the “CLICK HERE” link to verify your email address before your Interstacks account becomes valid.

After you launch Stackbuilder and login to your account, your projects are typically synced to your cloud account so that you have the option of developing on more than one computer and have your work backed up. If this is not desired, go to the “Preferences” panel under the “Stackbuilder” app menu and turn off all syncing .

After syncing your projects, the Stackbuilder interface will be displayed.

For Windows users: Windows USB Driver: The first time a stack is connected via USB cable to a Windows device, it is sometimes necessary to manually assign a USB driver. After this is done the first time, it will not be necessary to do again. You will know you need to do this if the “Send to Stack” button does not appear in the Stack builder interface. Upon connecting a stack via USB, the System Tray will indicate searching for the USB driver. If it indicates it couldn’t find the driver, click on the selection it presents. The driver is assigned via the Control Panel -> Device Manager -> USB Devices. In the tree list, find isxusb, right click and select “update driver”. Then select “Auto Update”. If that doesn’t assign a driver, select your own via “Universal Serial Bus” and select “Win USB”.

This Interstacks support document (“Install Windows USB driver”) has more information on installing the Windows USB driver for Windows 7 users. interstacks.com/knowledge-base/install-windows-usb-driver/

Refer to documentation on many other topics at interstacks.com/knowledge-base.
Please email info@interstacks.com with any questions.

Read More

Quick Start

  • Download the Stackbuilder visual authoring tool from interstacks.com/stackbuilder.
  • Launch Stackbuilder
    You will need to create an Interstacks account when launching Stackbuilder for the first time and confirm your email address by clicking through a confirmation email.
  • Plug in power for your stack using the included AC power adapter.
  • Connect the included USB cable between your stack and computer.
  • Some example projects are in the “Demo Projects” category in the “Projects” tab in the right side palette.

Refer to further documentation at interstacks.com/knowledge-base.

Please email info@interstacks.com with any questions.

Thank you for purchasing from Interstacks.

Read More

Popular Articles

  • MyStacks Cloud Dashboard
  • Internet communication with HTTP block
  • Download and install Stackbuilder

Contact Us

Contact us with any questions or help with deploying your IoT projects.

CONTACT US

Connect

  • Facebook
  • Twitter
  • LinkedIn
  • Email

Sign up for the latest Interstacks news.

Join Our Newsletter
  Thank you for Signing Up
  Please correct the marked field(s) below.
1,false,1,First Name,2
Email:
1,true,6,Subscriber Email,2
Name:
1,false,1,Last Name,2

Copyright © 2023 Interstacks. All rights reserved. Privacy Policy | Terms and Conditions

Site by Imagebox