Hardware Requirements

CPU: 1 GHz

RAM: 512 MB

Disk Space: 100 MB

Operating System Requirements

Windows 10 and Windows 11.

Software Requirements

  • VC++ Redistributable 2013, 2015, 2017 and 2019 (This is available from Microsoft and can be downloaded here).
    • This is usually installed by default but can sometimes be missing when the OS has been upgraded from Windows 7/8/8.1 to Windows 10.
  • STM DFU driver
    • This is installed by the zForce Programmer installer. If the driver is incorrectly installed or uninstalled, please look at the STM DFU driver section for driver installation instructions.

Installing zForce Programmer

  1. Download the zForce Programmer installation package from Downloads.
  2. Unpack the .zip file.
  3. Open the unpacked folder, run the installer (.msi file) and follow the instructions.
  4. As a precaution, restart the computer to make sure there are no driver issues.

Update Firmware

  1. Connect a Touch Sensor Module to the PC.
  2. Click "Open Firmware File" and locate the desired firmware that you would like to write to the sensor. Supports ".hex" and ".dfu" firmware files.
  3. Click Write Firmware and wait for the process to complete. During this stage, do NOT disconnect the sensor.
    1. If the sensor would disconnect or the firmware update fails:
      1. Disconnect the sensor.
      2. Press and hold the button on the interface board.
      3. Connect the sensor again while still holding the button.
      4. Make sure the sensor appears in the sensor list and click "Write Firmware" again.

Read and Write Parameters

This functionality is only available from NTSMF 2.0

Read Parameters

  1. Click "Configure Parameters" button or the "Parameters" tab.
  2. Click "Read Parameters"
    1. This should fill the fields in the graphic interface with all the current parameters in the sensor.

Write Parameters

Before writing any parameters, it is recommended to first read the parameters from the sensor. Reading the parameters is also a requirement for the Scanning Range field to be populated.

  1. Set the desired parameters in the input fields. The blank fields will not be written to the sensor.
    1. Any changes to a pair of settings, for example "Min X and Max X" requires both fields of the pair to be filled. If only one field of the pair is filled in, a warning will be presented with a pop up window.
    2. It is also possible to clear all the values in the interface by clicking on the Clear View Parameters button. Note that this does not clear the parameters in the sensor.
  2. Click the Write Parameters button in order to write the parameters to the sensor.

For a description of the parameters, read the Parameter Overview.

Backwards compatibility with older firmware regarding reading and writing parameters

If the firmware currently installed in the active sensor does not support some of the new parameters available in the zForce Programmer graphical interface, these parameters will be grayed out and disabled in the user interface and therefore not available to configure.

This behavior is illustrated in the picture below. Update the sensor firmware to a later version to allow configuring of the disabled parameters.

Saving and Loading Parameters

zForce Programmer also offers the functionality to save/load parameters to/from a .json file.

  1. Write in all the desired parameters, and click "Save To File" and save it at your desired location.
  2. Load parameters from a file by clicking "Load From File" and locate the desired .json file containing the parameters.


To open the visualizer click the "Toggle Visualizer" button on the "Parameters" tab. A new section will be displayed to the right of the parameters area.

The visualizer displays the Touch Active Area in relation to the sensor and it's position, updating automatically as the parameter values are changed. The position of the sensor and its orientation can be changed by using the buttons above the visualizer area.

The visualizer will only display a sensor if one is connected.

CLI - Command Line Interface

The Command Line Interface is mainly intended for advanced users. By default it is automatically added to the PATH environment variable, otherwise it can be found in the chosen installation directory.

Flashing a new firmware using CLI

To flash a new firmware onto the sensor, use the CLI command together with the -f (flash) command and give the path to the firmware as an argument to the -f command. 

If needed, also include the -o (overwrite) parameter to the CLI command to enable overwriting of existing persistent parameters that might already be persisted in the sensor.

Reading sensor parameters and store them in a .json file using CLI

Use the -r CLI parameter to read out all the sensor parameters and store them in json format in a file. Provide a path and filename where to put the json file. If providing just a filename without a path the file will be created in the current directory.

Please note that write/modify access is needed to the path where to create the file. If a file with the same name already exists in the appointed directory it will be updated with current parameter values.

Writing sensor parameters from json file to the sensor using CLI

Use the -w parameter to write parameters in a json file to the sensor. Provide the path to the json file containing the parameter values as an argument to the -w command. No path is needed if the CLI command is executed in the directory of the json file given as argument.

Configuration Mode

When a read or write is performed, the sensor will enter a configuration mode (DFU mode) and will stay in that mode until the Leave Configuration Mode button is clicked or until the program closes. An exception to this is if you flash a new firmware to the sensor, then the sensor will restart as part of the flashing process and the sensor will then leave configuration mode.

While the sensor is in the configuration mode it will not report any touches or have any other functionality enabled. It is not possible for the application to read the firmware version when the sensor is in configuration mode which means that it's not possible to read or write parameters if the sensor was connected in configuration mode. To fix this, either press the Leave Configuration Mode button if the sensor has a working firmware that supports parameters or write a new firmware that supports parameters.

STM DFU Driver

The STM DFU driver is used by the application to read and write to the sensor. The driver is installed by the application installer. There are two generations of DFU drivers from ST, and zForceProgrammer uses the older one for reliability reasons. The old and correct driver is automatically installed. zForceProgrammer will also detect if the wrong driver is installed and active and give you the option to install the correct version from inside zForceProgrammer. 

When zForceProgrammer detects incorrect DFU drivers being used it will display an error message and guide the user in installing correct drivers.

Workbench and zForce Programmer

It is recommended to NOT run zForce Programmer and Neonode Workbench simultaneously as that could interfere with the communication between the sensor and either of the applications.

  • No labels