Showing results for 
Search instead for 
Did you mean: 
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Did you know you can set a signature that will be added to all your posts? Set it here! X

Use the Edge MicroServer (EMS) to Connect to ThingWorx Part 1

No ratings


Remotely administer Windows Edge IoT Devices without coding.




Learn how to download, install, and configure the Edge Microserver (EMS) to create an AlwaysOn (TM) connection between Edge IoT Devices and ThingWorx Foundation.







  • Install the Edge MicroServer (EMS)
  • Configure the EMS
  • Connect the EMS to ThingWorx Foundation


NOTE: The estimated time to complete all parts of this guide is 30 minutes.



Step 1: Description


The Web Socket Edge MicroServer (WSEMS... or just EMS for short) is a pre-compiled application based on the C SDK.


00-mlp-opening-screenshot (1).png


Typically, the EMS is used on devices "smart" enough to have their own operating system, such as a Raspberry Pi or personal computer.


Rather than editing code and compiling into a custom binary (as with the SDKs), the EMS allows you to simply edit some configuration files to point the Edge IoT device towards the appropriate ThingWorx Foundation instance.


In addition, the EMS utilizes the PTC-proprietary AlwaysOn protocol to "phone-home", rather than having Foundation reach out to it. As such, the EMS will typically not require port forwarding/opening, and can easily communicate from a more-secure Edge environment to the Foundation server.



Step 2: Install EMS


In this step, you'll download and extract the EMS onto your personal Windows computer.


Versions of the EMS are available for Linux running on both x86 and ARM processors. Those are outside the scope of this guide, but require only minor modifications versus the instructions presented here.


  1. Download the EMS.
  2. Navigate to the directory where you downloaded the .zip file.



  3. Extract the .zip file and explore into the extracted folder.



  4. Navigate into and Copy all contents inside the \microserver directory.



  5. Navigate to the C:\ root directory.



  6. Create a C:\CDEMO_EMS folder.

    • Note that this directory is not mandatory, but will be used throughout the rest of this guide. 



  7. Paste the contents of the extracted \microserver directory into C:\CDEMO_EMS.




Create Additional Directories


New folders may be added to the \CDEMO_EMS directory for various purposes.


Some of these will be utilized within this guide, while others may be utilized in future guides using the EMS.


Note that these particular names are not mandatory, and are simply the names used within this guide. 


  1. Create a C:\CDEMO_EMS\other directory.

  2. Create a C:\CDEMO_EMS\tw directory.

  3. Create a C:\CDEMO_EMS\updates directory.





Create Test Files


It can also be helpful during testing to have some small files in these folders to further demonstrate connectivity.


As these files were custom-created for the guide, seeing them within ThingWorx Foundation ensures that the connection between Foundation and the EMS is real and current.


  1. In the C:\CDEMO_EMS\tw directory, create a text file named tw_test_01.txt.

  2. In the C:\CDEMO_EMS\other directory, create a text file named other_test_01.txt.




Click here to view Part 2 of this guide.


Until here yes, but the "Click here" link to see Part 2 is not working.


Thank you

@FabioValente Thanks for pointing that out. I've fixed the link.

Version history
Last update:
‎Mar 07, 2023 02:25 PM
Updated by:
Labels (1)