This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down list at the bottom of the left panel and select the desired version.

SparkFun MicroMod board Processor

Overview

MicroMod is a solderless, modular interface ecosystem that uses the M.2 standard to mix and match your choice of processor with specific Function Boards or stand-alone Carrier Boards. A MicroMod processor board is approximately 22x22 mm, and can insert into any MicroMod carrier board. More information can be found in the Micromod specification website [1].

All Micromod board targets support the following hardware features:

  • USB host mode compliant to 2.0 specification

  • GPIO

  • 2 UART

  • 2 I2C

  • 2 SPI

  • 2 ADC

  • 2 PWM

  • Watchdog Timer (WDT)

Sparkfun Micromod board

Sparkfun Micromod board (Credit: https://www.sparkfun.com)

Zephyr currently supports the following SoCs:

  • micromod/nrf52840

SparkFun MicroMod nRF52840 board Processor

Overview

The micromod/nrf52840 board target features the nRF52840 SoC from Nordic Semiconductor, the SparkFun MicroMod nRF52840 Processor offers a powerful combination of ARM Cortex-M4 CPU and 2.4 GHz Bluetooth transceiver in the MicroMod form-factor. More information can be found in the Micromod nRF52840 guide [2].

Hardware

The micromod/nrf52840 board target supports the following hardware features:

  • ARM Cortex-M4 CPU with floating point unit (FPU)

    • 1MB internal Flash

    • 256kB internal RAM

  • Integrated 2.4GHz radio with support for Bluetooth Low Energy (BLE) and ieee802154

  • USB 2.0 full speed (12 Mbps) controller

  • QSPI with 128Mb flash memory

  • ARM TrustZone Cryptocell 310 security subsystem

  • USB host mode compliant to 2.0 specification

  • GPIO

  • 2 UART

  • 2 I2C

  • 2 SPI

  • 2 ADC

  • 2 PWM

  • Watchdog Timer (WDT)

Supported Features

The Zephyr micromod/nrf52840 board target supports the following hardware features:

Interface

Controller

Driver/Component

NVIC

on-chip

nested vector interrupt controller

SYSTICK

on-chip

system clock

RADIO

on-chip

Bluetooth, ieee802154

UART

on-chip

serial port

GPIO

on-chip

gpio

PINMUX

on-chip

pinmux

FLASH

on-chip

flash

SPI

on-chip

spi

I2C

on-chip

i2c

USB

on-chip

usb

QSPI

on-chip

nordic,nrf-qspi

Connections and IOs

LED

  • Led0 (blue) = P0.13

Micromod header

  • micromod_1_uart = uart0

  • micromod_2_uart = uart1

  • micromod_0_i2c = i2c0

  • micromod_1_i2c = i2c1

  • micromod_0_spi = spi2

  • micromod_header compatible with sparkfun,micromod-gpio

Programming and Debugging

Applications for the micromod/nrf52840 board target can be built, flashed, and debugged in the usual way. See Building an Application and Run an Application for more details on building and running.

Flashing

Follow the instructions in the Nordic nRF5x Segger J-Link page to install and configure all the necessary software. Further information can be found in Flashing. Then build and flash applications as usual (see Building an Application and Run an Application for more details).

The flashing tool will depend on the carrier used along with the board. In the case of Sparkfun asset tracking carrier, it is possible to use the SWD interface along with a J-Link.

Here is an example for the Hello World application.

First, run your favorite terminal program to listen for output.

$ minicom -D <tty_device> -b 115200

Replace <tty_device> with the port where the board nRF52840 DK can be found. For example, under Linux, /dev/ttyACM0.

Then build and flash the application in the usual way.

# From the root of the zephyr repository
west build -b micromod/nrf52840 samples/hello_world
west flash

Debugging

Refer to the Nordic nRF5x Segger J-Link page to learn about debugging Nordic boards with a Segger IC.

In case of using a Nordic Segger Jlink, it is possible to configure the app to use Segger Real Time Transfer (RTT) for debugging. In this case, build your app with the RTT snippet.

Testing the on-board LED

There is a sample that allow you to test the LED on the board is working properly with Zephyr:

You can build and flash the example to make sure Zephyr is running correctly on your board. The button and LED definitions can be found in boards/sparkfun/micromod/micromod_nrf52840.dts.

Testing the 128Mb qspi memory flash

The micromod/nrf52840 board target has a built-in NOR flash memory connected to the qspi interface. It can be tested with the samples/drivers/jesd216 app.

# From the root of the zephyr repository
west build -b micromod/nrf52840 samples/drivers/jesd216
west flash

References