JSConfig is a program supplied by JoeScan that finds JS-20 or JS-25 scan heads on a local network. 

Use Cases

Use JSConfig to: 

  • assign IP addresses, Cable Ids, and network address modes (IP Setup modes)
  • establish a link between serial numbers and IP addresses
  • verify firmware (Build) numbers

JSConfig is used to establish a mapping from physical location to Cable ID (and, therefore, IP address) so your application can address individual heads without having to rely on serial numbers.

The latest JSConfig can always be downloaded from the Downloads section.

Scan Head Factory Settings
In the factory setting, all scan heads initially have an IP address of Duplicate IP addresses on a network segment will lead to conflicts, so all devices must have a unique IP address.

However, as our configuration tool (JSConfig) does not rely on addressing scanners by IP, it is acceptable to hook up all your scanners at once to configure them. All other software, including JSDiag, requires that the IP addresses are unique.

Obtaining and Installing JSConfig

JSConfig is a Java™ application, meaning that it needs to be executed by the Java Virtual Machine. JSConfig is delivered as a JAR file and cannot be run simply as an executable. However, we have packaged up JSConfig with an installer that verifies all the necessary components are installed on your machine. See below for your platform. 

Microsoft Windows

The installer from the Downloads section will install JSConfig on your computer. A prerequisite for the installer to succeed is that you have a version of the Java™ Runtime (JRE) installed. Both 32-bit and 64-bit Java installs are supported. If you don't have the JRE installed, the installer will notify you and fail. Before you can proceed, you must download a JRE from Oracle.

If successful, the installer will create:
  • Folder C:\Program files (x86)\JoeScan
  • Startup Menu Folder "JSConfig"
  • Desktop Shortcut

Windows Firewall

An active Windows Firewall can prevent JSConfig from finding scanners on your network. The discovery process relies on broadcast UDP packets to which all scanners will respond with their identification. An active firewall will discard the incoming packets quietly. To avoid this and to enable JSConfig to find scanners, you can either turn off the Firewall temporarily, or add an exception rule to the firewall. Because JSConfig is delivered as a "jar" file, the exception must be added to the "javaw.exe" executable.

The installer can create this exception for you. When prompted, acknowledge that an exception will be added. If you'd rather not add the exception, you can simply decline and turn off the firewall only for the time JSConfig is needed.  

Linux and Unix

JoeScan does not distribute an installer for Linux and Unix-based systems. Instead, we recommend that you download the Windows installer, install it on a Windows-based machine and extract the file "JSConfig.jar" from  C:\Program Files (x86)\JoeScan and copy it to your machine. 

If you have a JRE installed on your machine, you can run JSConfig by typing: 

java -jar JSConfig.jar

Setting Up Scan Heads with JSConfig 

User Interface

The JSConfig UI is extremely simple. For each head, an entry is displayed. To modify the settings for a single head, select the relevant line and click Configure. The "Configure Scanhead Dialog" is shown.

Screen shot of JSConfig

Configure Scanhead Dialog (Windows)

IP Setup Modes

There are two different modes by which a scan head can obtain an IP address: 

  • Static IP –  lets you set the IP address directly
  • BaseIP + ID – the effective IP address is computed by adding the ID to the Base IP address

In either mode, all scan heads must have a unique effective IP address on the network.

Which IP Setup mode should I use?

In almost all cases, it is preferable to use BaseIP + ID. In installations with multiple scan heads, each head will need to "know" its ID so it can apply the relevant sections in a parameter file. By using BaseIP + ID, you can structure your parameter file (param.dat) in a way that easily groups heads into zones, allows for staggering and lets you re-use fixture definitions.

More Background

The concept of BaseIP + ID doesn't really exist in TCP/IP networking. From a networking perspective, each head responds to its effective IP address, and the base IP address is meaningless. To check if a particular head is online, you can use the 'ping' tool on the effective IP address.

The developer toolkits for C/C++ and .NET/C# provide calls to connect to heads based on a Base IP address and Cable IDs; however, the underlying code operates on effective IP addresses. The Cable ID is a piece of information the scan head itself is aware of and uses to determine its timing settings for staggered scanning setup, which calibration fixture to use and what parameters to apply.


In the screenshot above, the the IP Setup selected is "Base IP + ID". The Base IP Address is and "Current ID" is 20; therefore, the Final (Effective) IP Address of the scanner highlighted in blue is

If it was necessary to make the Cable ID 21:

  • then the check box "Save New ID" and
  • set "Current ID" to 21.

 Saving these settings will produce the final IP address

  • No labels