The nRF9160 is one of the latest product releases from Nordic. I have been having a lot of fun creating user applications with this chip, and wanted to share my experience with this new tool.
A Chip That Packs a Punch
The nRF9160 is a system-in-Package (SiP) that includes an LTE modem with an Arm Cortex-M33 processor for user applications. The modem can support either LTE-M or NB-IoT, but it can also be updated dependent on the application. The processor has 1MB of flash, 256 KB of RAM, and 32 GPIO. The SiP also has a built-in GPS receiver. I think one of the most impressive things about this chip is that its only 16mm X 10mm X 1mm. It’s tiny, but it really packs a punch! I couldn’t wait to get my hands on this development kit.
The nRF9160 Development Kit
Development Environment
Nordic’s documentation for setting up the development environment made it easy to get to the point where I could flash sample programs. The desktop app, called nRF Connect for Desktop, is their suite where they house their apps for nRF devices. The app called Getting Started Assistant walked me through setting up their toolchain, SDK, and development environment.
nRF Connect for Desktop application
The IDE of choice for the nRF modules is SEGGER Embedded Studio (SES). Nordic has their own edition of SES that is used to open their nRF Connect SDK Projects. Installing this edition of SES is covered in the Getting Started Assistant application. You can open one of their SDK projects through File -> Open nRF Connect SDK Project… This will autogenerate some files necessary to open your project through SES, as well as create some configuration files.
Their samples are combinations of solutions that consist of smaller projects that compile to C libraries. You can configure what projects are included in your solution by selecting Project -> Configure nRF Connect SDK Project. This menu is also used to enable the options of Zephyr, the RTOS used with their SDK. This menu then updates a configuration file for Zephyr and other projects in your build directory. The initial values of these configuration files are set through the prj.conf file in your project folder.
nRF Connect SDK configuration menu
Create an Application
To begin creating your own application, you’ll probably want to start with one of the sample projects. You can use the project named libapp.a to store your application files. You can open your applications CMakeList by right-clicking your project and choosing Open CMakeLists.txt in Editor. This lets you choose all include directories and source files needed by your application. When you are ready to test, you can go to Build -> Build and Run or Build -> Build and Debug.
I hope this helps you have as much fun creating user applications with this chip as I did! One thing to note is that, since this chip is still fairly new, there are some kinks to be worked out in the SDK. Luckily, Nordic has been very responsive to issues in their forums and are continuously releasing bug fixes and features to their SDK. Stay tuned for the some of the amazing applications that will come out of this chip!
Learn more about DMC's embedded development expertise.