1. Overview

This documents provides brief description of board configuration and Zephyr demo applications for SOM-NRF9151.

2. Customized nRF Connect SDK

The Zephyr BSP for SOM-NRF9151 is based on Nordic Semiconductor nRF Connect SDK.

Emcraft maintains forks of the nRF Connect SDK, Zephyr OS and MCUboot on GitHub, where additional improvements are made for the nRF91xx and nRF5340 devices:

https://github.com/EmcraftSystems/sdk-nrf

https://github.com/EmcraftSystems/sdk-zephyr

https://github.com/EmcraftSystems/sdk-mcuboot

The actual supported version of nRF Connect SDK can be found in the up-to-date Release Notes document:

https://voxelbotics.atlassian.net/wiki/spaces/SOMnRF9151/folder/708673580

The SDK can be installed as described in https://voxelbotics.atlassian.net/wiki/spaces/SOMnRF9151/pages/709296170/Building+SOM-NRF9151+Software#2.1.-Installing-the-nRF-Connect-SDK.

3. Zephyr BSP for SOM-NRF9151

The Zephyr BSP is available at https://github.com/EmcraftSystems/som-nrf9151-app.

The repository consists of the following directories:

All the applications included in the current BSP can be built as described inhttps://voxelbotics.atlassian.net/wiki/spaces/SOMnRF9151/pages/709296170/Building+SOM-NRF9151+Software#3.-Building-Zephyr-Software.

3.1. SOM-NRF9151 Board Configuration

Emcraft supports a custom out-of-tree board configuration for SOM-NRF9151:

https://github.com/EmcraftSystems/som-nrf9151-app/tree/main/boards/emcraft/nrf9151som

The board configuration includes the following files:

3.2. Demo Applications for SOM-NRF9151

3.2.1. Customized Asset Tracker v2 Application

The customized Asset Tracker v2 application is based on Nordic Asset Tracker v2, which has been modified to support SOM-NRF9151 hardware. For details refer to “Understanding Customised Asset Tracker v2 Application” (Coming soon).

3.2.2. “Hello World“ Application

A sample Zephyr application that simply prints a “Hello World!“ greeting to the serial console. The console device should be enabled and selected in the device tree:

...
	chosen {
		zephyr,console = &uart0;
		zephyr,shell-uart = &uart0;
		zephyr,uart-mcumgr = &uart0;
	};
...
&uart0 {
	status = "okay";
	current-speed = <115200>;
	pinctrl-0 = <&uart0_default>;
	pinctrl-1 = <&uart0_sleep>;
	pinctrl-names = "default", "sleep";
};

3.2.3. “Hello MCUboot“ Application

A sample Zephyr application that simply prints a “Hello World!“ greeting to the serial console. This application also includes the following subdirectories, which are used to enable the external SPI Flash and configure the MCUboot bootloader in addition to the serial console: