Skip to content

KJX Framework 101 - Part 1: Getting started with the Template

Let’s just get this out of the way: Developing software for an instrumentation platform is a large and arduous task. 

Developing a custom instrument is the culmination of a multidisciplinary endeavor that all has to come together in the hands of a software engineer. Hardware and electronics configurations, custom workflows for the chemistry, external and internal marketing requirements, differences between R&D and production use-cases, informatics pipelines, and egress for cloud analysis amongst a host of other considerations need to be planned and designed for at the start.

With these things in mind, it can feel like a daunting task. Since much of the knowledge for developing instrument software comes from practical experience, finding examples and tutorials online are few and far between.

This is especially true, as much of the knowledge for developing instrumentation software comes from practical experiences on an actual device, which in our application-based world, can be few and far between. One may ask, “Can’t we use AI for this?” (Why we don’t think so). Practically speaking – because of the wide-ranging variations of the systems one may encounter – few real-world examples exist for developers beginning their instrumentation journey.

In this series, we will show you how to approach instrumentation software development in a practical way to get your project spun-up fast and reduce your time-to-market.

Part 1: Getting Started

To get started:

  1. Install the following nuget package in a Powershell (Windows) or Terminal (macOS/Linux) window:

    >> dotnet new install <path-to-package>
  2. Open your IDE of choice and create a new solution (naming it whatever you'd like): 

  3. You should now see the following structure in your solution explorer:

The core libraries retain their namespaces. Most application-specific code will live in the Control and Engineering projects.

This project is meant to be used as a template and starting point for your instrumentation project. However, if you would like to see how a fully functioning (albeit simulated) application can be built from this framework, then simply uncheck the ‘AsTemplate’ option under Advanced Options when creating a new solution.

In the upcoming parts of our series we will go over the structure of the solution, how to use the framework, and next steps on developing your own ICS application.


Need more help? Have questions? Reach out to us.