nRF Connect for Desktop

Developer documentation





NordicSemiconductor/pc-nrfconnect-docs on GitHub

Getting started


nRF Connect is based on Electron, React, and Redux. Some familiarity with React and Redux is recommended in order to create apps. You should at least understand concepts like JSX, props, actions, reducers, and immutable state.

Install development tools

You should have a basic setup and little familiarity with these:

Install nRF Connect

If you only want to develop (existing or new) apps, it is sufficient to have nRF Connect for Desktop installed as a binary. If you do not have it installed already, just follow the instructions on how to install nRF Connect for Desktop.

Also create the ~/.nrfconnect-apps/local directory if it does not already exist:

Architecture of nRF Connect for Desktop

Before starting, you should know the basic structure of nRF Connect for Desktop with its two main blocks, the core and the apps:

The core

The core resides in the two projects:

pc-nrfconnect-launcher contains

pc-nrfconnect-shared contains the common code for all apps: UI elements and code to give lower level access hardware.

A bit unusual: The common code is not only provided during development and then bundled into the apps. Instead the launcher also provides these libraries during runtime, so that the individual apps do not have to include the shared code themselves.

Providing the common libraries through the launcher at runtime has two advantages for the apps: The apps can be a lot smaller and they are usually platform independent, as the only platform specific parts are in the core.

Conversely, this means that the core is platform dependent and a platform-specific variant must be downloaded or compiled.

Besides common code pc-nrfconnect-shared also provides common package dependencies, scripts and configurations for all official applications and the core. E.g. it includes configurations for webpack, ESLint and Jest as well as scripts to run them.

The apps

Nordic Semiconductors provides several apps to work with the development kits or dongles from Nordic Semiconductor. They are all installed and run through the launcher provided by the core.

Besides using the officially distributed apps, you are also able to run your own apps. This is described later, when we describe how to develop your own apps.

The rest

There are some more projects that aid the development of apps for nRF Connect for Desktop:

Next steps

You are now set up to develop a new app, work on an existing app or work on the core of nRF Connect for Desktop.