Remote storage

The EYE+ Controller comes equipped with a finite and non-expandable amount of internal storage, and may store your recipes until its capacity is exhausted. The exact number that can be stored depends on their complexity. With only single-part recipes (20 images, backlight only, classification enabled), you can expect up to 350 of them to fit. More complex recipes will fill the memory faster though.

Should you require more storage space, EYE+ introduced support for FTP servers in version 4.1.0.


The requirements for this feature are the following:

  • an FTP server accessible through an IP address, with port 21 open (used for the command channel)

  • an FTP user that has READ, WRITE, DELETE and RENAME permissions in their home directory

  • use the EYE+ Controller communication or configuration port to connect to your FTP server

Since the FTP client on EYE+ operates in passive mode, your server will need to allocate a random port for the data channel. If your server is equipped with a firewall, make sure its administrator opens up a selection of ports to satisfy passive mode configurations.


EYE+ supports TLS 1.0 connections to FTP servers (explicit FTPS), however without certificate verification. By default, a non-TLS connection is assumed; if you want to make use of this feature, you need to enable the corresponding advanced option when setting up the remote storage in the configuration tab.

Managing recipes

When the internal storage reaches 90% of its capacity used, you will be prompted to either remove some recipes or enable the remote storage feature. Once the remote storage is setup and connected, you’ll be able to off-load new and imported recipes to it as long as your user has available space in their assigned home directory. You can perform the same operations on a remote recipe as on a local recipe (see here)


At startup, the EYE+ Controller will automatically connect to your FTP server. Once the connection is established, it will look for all recipes contained in its assigned directory. This can impact boot times, so make sure your FTP server can reply to the NLST and CWD commands swiftly enough.

A single FTP server can accommodate several EYE+ Controller on it, but they will not be able to share recipes between each other. Once a EYE+ Controller connects to your user’s home directory, it will create a new directory named after the EYE+ CPU Serial Number into which recipes will be put for this particular EYE+ Controller.


Please do not try and modify the files within the aforementioned directory, copy files manually to it or to another EYE+ directory on the server as this will prevent proper operation of the system and may result in data loss.

The set of internal and remote storage is considered as unified by EYE+ when it comes down to recipes identifiers and names. This means you cannot have 2 recipes with the same name on an EYE+ system, either on the same storage location or cross-locations, i.e., one on local and one on remote storage. For example, if you try to import a recipe locally but it is already present on the connected FTP server, EYE+ will detect a conflict and prompt you to resolve it as usual (rename, overwrite, cancel).

There is an exception to this though: if you are editing a remote recipe and the FTP server becomes unavailable, you will have the option of saving the recipe locally if space permits so you don’t lose your changes. Once the server is available again, the system will have two versions of the same recipe but only the local one will be usable in production. Delete the remote one and move the local version to the FTP to return to the expected state of things.

If the remote storage becomes unavailable, the recipe list page will also be refreshed so as not to show unreachable remote recipes. If you start a production with a remote recipe, losing connection to the FTP server will have no impact on it so long as you don’t send a stop production command. If you do, the system will not be able to find the recipe until the connection is restored.


There are a few things you may need to pay attention to if you cannot get your EYE+ Controller to connect to your FTP server.

  • Make sure to use FTPS if your server requires it. Do not enable it if your server does not support it. The connection will not succeed if this is not set properly.

  • Make sure both the EYE+ Controller port and your FTP server are on the same IP subnet.

  • Make sure your server is able to allocate a random port for the data channel within a preconfigured range (check your firewall settings).

  • Make sure your FTP server supports passive mode.

  • Check your user exists, that you typed in the correct credentials, home directory and that this user has the required permissions.