Zephyr

Configuration:

framework = zephyr

The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

For more detailed information please visit vendor site.

Configuration

Project Structure

Zephyr framework requires an unusual project structure because most of the framework configuration is performed by the native for Zephyr build system called CMake.

Note

Since PlatformIO is able to generate CMake-based projects for certain IDEs, Zephyr-related files are moved to a separate folder in order to avoid conflicts between project files. That requires users to specify relative paths to source files in CMakeLists.txt.

A typical PlatformIO project for Zephyr framework must have the following structure:

project_dir
├── include
├── src
│    └── main.c
├── zephyr
│    ├── prj.conf
│    └── CMakeLists.txt
└── platformio.ini

Besides files related to PlatformIO project, there is an additional folder zephyr that contains Zephyr-specific files CMakeLists.txt and prj.conf:

CMakeLists.txt file enables features supported by Zephyr’s build system, e.g. board-specific kernel configuration files. A typical CMakeLists.txt file has the following content:

# Boilerplate code, which pulls in the Zephyr build system.
cmake_minimum_required(VERSION 3.13.1)
include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE)
project(my_zephyr_app)

# Add your source file to the "app" target. This must come after the boilerplate
# code, which defines the target. Note relative path to source file
target_sources(app PRIVATE ../src/main.c)

The files specified in target_sources are used ONLY for generating build configurations, but it’s highly recommended to specify all application source files in order to keep the project compatible with the usual Zephyr workflow.

Due to the current limitations of CMake file-based API, there is no way to generate build configuration for source files written in various programming languages if they are not specified in target_sources command. If your project contains libraries written in languages that differ from the language used for the main application you need to create an empty file with desired extension (e.g. *.cpp for C++) in order to force CMake generate build configuration for this language.

Note

Build configuration generated for source files specified in target_sources is also used as the base build environment for project sources (including libraries).

prj.conf file sets application-specific values for one or more kernel configuration options. These application settings are merged with board-specific settings to produce a kernel configuration.

Embedding files at compile time

In case your CMakeLists.txt relies on using generate_inc_* functions that are used for generating and compressing individual files (for example certificates for secure connections) you need to configure your PlatformIO project accordingly using the following structure:

[env:myenv]
platform = ...
board = ...
framework = zephyr
board_build.embed_files =
    # files to be embedded
    src/apps-cert.der
    src/apps-key.der

Where apps-cert.der and apps-key.der are the files you want to embed to your project at the compile time.

Zephyr modules

Note

PlatformIO automatically installs several default modules used with Zephyr framework including modules that implement silicon vendor Hardware Abstraction Layers (HALs).

Zephyr modules are externally maintained packages that allow using well-established and mature code created by third party developers.

These modules contain either a single module.yml file or CMakeLists.txt and Kconfig files that describe how to build and configure them. You can specify paths to additional directories with source code, Kconfig, etc. using ZEPHYR_EXTRA_MODULES at the top of your project’s CMakeLists.txt file, for example:

# Additional modules
set(ZEPHYR_EXTRA_MODULES "path/to-zephyr-custom-module"  [...])

# Boilerplate code, which pulls in the Zephyr build system.
cmake_minimum_required(VERSION 3.13.1)
include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE)
project(my_zephyr_app)

# Add your source file to the "app" target. This must come after
# the boilerplate code, which defines the target.
target_sources(app PRIVATE ../src/main.c)

Since the build may not work correctly if the full path to sources is greater than 250 characters (see CMAKE_OBJECT_PATH_MAX) it might be a good idea to keep modules close to the project configuration files (e.g. in zephyr folder) in form of a git submodule.

Warning

Make sure the ZEPHYR_EXTRA_MODULES variable is set before including the boilerplate file, as shown above.

Limitations

At the moment several limitations are present:

  • The minimum supported version of Python is 3.4

  • No whitespace characters allowed in project paths.

  • OpenThread module is not supported

Debugging

PIO Unified Debugger - “1-click” solution for debugging with a zero configuration.

Tools & Debug Probes

Supported debugging tools are listed in “Debug” column. For more detailed information, please scroll table by horizontal. You can switch between debugging Tools & Debug Probes using debug_tool option in “platformio.ini” (Project Configuration File).

Warning

You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.

Name

Platform

MCU

Frequency

Flash

RAM

32F412GDISCOVERY

ST STM32

STM32F412ZGT6

100MHz

1MB

256KB

32F723EDISCOVERY

ST STM32

STM32F723IEK6

216MHz

512KB

192KB

96Boards B96B-F446VE

ST STM32

STM32F446VET6

168MHz

512KB

128KB

Arduino Zero (Programming/Debug Port)

Atmel SAM

SAMD21G18A

48MHz

256KB

32KB

BBC micro:bit

Nordic nRF51

NRF51822

16MHz

256KB

16KB

BL652 Development Kit

Nordic nRF52

NRF52832

64MHz

512KB

64KB

BL654 Development Kit

Nordic nRF52

NRF52840

64MHz

1MB

256KB

EFM32WG-STK3800 Wonder Gecko

Silicon Labs EFM32

EFM32WG990F256

48MHz

256KB

32KB

Freescale Kinetis FRDM-K64F

Freescale Kinetis

MK64FN1M0VLL12

120MHz

1MB

256KB

Freescale Kinetis FRDM-KL25Z

Freescale Kinetis

MKL25Z128VLK4

48MHz

128KB

16KB

Freescale Kinetis FRDM-KW41Z

Freescale Kinetis

MKW41Z512VHT4

48MHz

512KB

128KB

HiFive1

SiFive

FE310

320MHz

16MB

16KB

HiFive1 Rev B

SiFive

FE310

320MHz

16MB

16KB

Makerdiary nRF52832-MDK

Nordic nRF52

NRF52832

64MHz

512KB

64KB

Makerdiary nRF52840-MDK

Nordic nRF52

NRF52840

64MHz

1MB

256KB

NXP LPCXpresso54114

NXP LPC

LPC54114J256BD64

100MHz

256KB

192KB

Nordic nRF51 Dongle (PCA10031)

Nordic nRF51

NRF51822

32MHz

256KB

32KB

Nordic nRF51X22 Development Kit(PCA1000X)

Nordic nRF51

NRF51822

32MHz

256KB

32KB

Nordic nRF52-DK

Nordic nRF52

NRF52832

64MHz

512KB

64KB

Nordic nRF52840-DK

Nordic nRF52

NRF52840

64MHz

1MB

256KB

RedBearLab BLE Nano 1.5

Nordic nRF51

NRF51822

16MHz

256KB

32KB

RedBearLab BLE Nano 2

Nordic nRF52

NRF52832

64MHz

512KB

64KB

SLSTK3400A USB-enabled Happy Gecko

Silicon Labs EFM32

EFM32HG322F64

25MHz

64KB

8KB

ST 32F411EDISCOVERY

ST STM32

STM32F411VET6

100MHz

512KB

128KB

ST 32F429IDISCOVERY

ST STM32

STM32F429ZIT6

180MHz

2MB

256KB

ST 32F469IDISCOVERY

ST STM32

STM32F469NIH6

180MHz

1MB

384KB

ST 32F746GDISCOVERY

ST STM32

STM32F746NGH6

216MHz

1MB

320KB

ST 32F769IDISCOVERY

ST STM32

STM32F769NIH6

216MHz

1MB

512KB

ST 32L476GDISCOVERY

ST STM32

STM32L476VGT6

80MHz

1MB

128KB

ST 32L496GDISCOVERY

ST STM32

STM32L496AGI6

80MHz

1MB

320KB

ST DISCO-L072CZ-LRWAN1

ST STM32

STM32L072CZ

32MHz

192KB

20KB

ST DISCO-L475VG-IOT01A

ST STM32

STM32L475VGT6

80MHz

1MB

128KB

ST Discovery F072RB

ST STM32

STM32F072RBT6

48MHz

128KB

16KB

ST Nucleo F030R8

ST STM32

STM32F030R8T6

48MHz

64KB

8KB

ST Nucleo F070RB

ST STM32

STM32F070RBT6

48MHz

128KB

16KB

ST Nucleo F091RC

ST STM32

STM32F091RCT6

48MHz

256KB

32KB

ST Nucleo F103RB

ST STM32

STM32F103RBT6

72MHz

128KB

20KB

ST Nucleo F207ZG

ST STM32

STM32F207ZGT6

120MHz

1MB

128KB

ST Nucleo F302R8

ST STM32

STM32F302R8T6

72MHz

64KB

16KB

ST Nucleo F334R8

ST STM32

STM32F334R8T6

72MHz

64KB

16KB

ST Nucleo F401RE

ST STM32

STM32F401RET6

84MHz

512KB

96KB

ST Nucleo F411RE

ST STM32

STM32F411RET6

100MHz

512KB

128KB

ST Nucleo F412ZG

ST STM32

STM32F412ZGT6

100MHz

1MB

256KB

ST Nucleo F413ZH

ST STM32

STM32F413ZHT6

100MHz

512KB

128KB

ST Nucleo F429ZI

ST STM32

STM32F429ZIT6

180MHz

2MB

256KB

ST Nucleo F746ZG

ST STM32

STM32F746ZGT6

216MHz

1MB

320KB

ST Nucleo F756ZG

ST STM32

STM32F756ZG

216MHz

1MB

320KB

ST Nucleo L053R8

ST STM32

STM32L053R8T6

32MHz

64KB

8KB

ST Nucleo L073RZ

ST STM32

STM32L073RZ

32MHz

192KB

20KB

ST Nucleo L432KC

ST STM32

STM32L432KCU6

80MHz

256KB

64KB

ST Nucleo L476RG

ST STM32

STM32L476RGT6

80MHz

1MB

128KB

ST Nucleo L4R5ZI

ST STM32

STM32L4R5ZIT6

120MHz

2MB

640KB

ST STM32F0DISCOVERY

ST STM32

STM32F051R8T6

48MHz

64KB

8KB

ST STM32F3DISCOVERY

ST STM32

STM32F303VCT6

72MHz

256KB

48KB

ST STM32F4DISCOVERY

ST STM32

STM32F407VGT6

168MHz

1MB

128KB

STM32H747I-DISCO

ST STM32

STM32H747XIH6

400MHz

2MB

512KB

SparkFun RED-V RedBoard

SiFive

FE310

320MHz

16MB

16KB

SparkFun RED-V Thing Plus

SiFive

FE310

320MHz

16MB

16KB

VNG VBLUNO51

Nordic nRF51

NRF51822

16MHz

128KB

32KB

VNG VBLUno52

Nordic nRF52

NRF52832

64MHz

512KB

64KB

External Debug Tools

Boards listed below are compatible with PIO Unified Debugger but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.

Name

Platform

MCU

Frequency

Flash

RAM

96Boards Nitrogen

Nordic nRF52

NRF52832

64MHz

512KB

64KB

Adafruit Bluefruit nRF52832 Feather

Nordic nRF52

NRF52832

64MHz

512KB

64KB

Adafruit Feather M0

Atmel SAM

SAMD21G18A

48MHz

256KB

32KB

Adafruit Trinket M0

Atmel SAM

SAMD21E18A

48MHz

256KB

32KB

Arduino Due (Programming Port)

Atmel SAM

AT91SAM3X8E

84MHz

512KB

96KB

BlackPill F103C8

ST STM32

STM32F103C8T6

72MHz

64KB

20KB

BlackPill F103C8 (128k)

ST STM32

STM32F103C8T6

72MHz

128KB

20KB

BluePill F103C8

ST STM32

STM32F103C8T6

72MHz

64KB

20KB

BluePill F103C8 (128k)

ST STM32

STM32F103C8T6

72MHz

128KB

20KB

ElectronutLabs Blip

Nordic nRF52

NRF52840

64MHz

1MB

256KB

ElectronutLabs Papyr

Nordic nRF52

NRF52840

64MHz

1MB

256KB

Freescale Kinetis FRDM-KW24D512

Freescale Kinetis

MKW24D512

50MHz

512KB

64KB

Hexiwear

Freescale Kinetis

MK64FN1M0VDC12

120MHz

1MB

256KB

Holyiot YJ-16019

Nordic nRF52

NRF52832

64MHz

512KB

64KB

Nordic Thingy:52 (nRF52-PCA20020)

Nordic nRF52

NRF52832

64MHz

512KB

64KB

Nucleo G071RB

ST STM32

STM32G071RBT6

64MHz

128KB

36KB

OLIMEXINO-STM32

ST STM32

STM32F103RBT6

72MHz

128KB

20KB

Olimex STM32-P405

ST STM32

STM32F405RGT6

168MHz

1MB

192KB

Particle Argon

Nordic nRF52

NRF52840

64MHz

796KB

243KB

Particle Boron

Nordic nRF52

NRF52840

64MHz

796KB

243KB

Particle Xenon

Nordic nRF52

NRF52840

64MHz

796KB

243KB

STM32-E407

ST STM32

STM32F407ZGT6

168MHz

1MB

128KB

STM32-H407

ST STM32

STM32F407ZGT6

168MHz

1MB

128KB

STM3210C-EVAL

ST STM32

STM32F107VCT6

72MHz

256KB

64KB

STM32373C-EVAL

ST STM32

STM32F373VCT6

72MHz

256KB

32KB

STM32F072-EVAL

ST STM32

STM32F072VBT6

48MHz

128KB

16KB

Waveshare BLE400

Nordic nRF51

NRF51822

32MHz

256KB

32KB

Examples

Platforms

Name

Description

Atmel SAM

Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.

Freescale Kinetis

Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.

Nordic nRF51

The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.

Nordic nRF52

The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.

NXP LPC

The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.

SiFive

SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.

Silicon Labs EFM32

Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.

ST STM32

The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.

Boards

Note

96Boards

Name

Platform

Debug

MCU

Frequency

Flash

RAM

96Boards B96B-F446VE

ST STM32

On-board

STM32F446VET6

168MHz

512KB

128KB

96Boards Nitrogen

Nordic nRF52

External

NRF52832

64MHz

512KB

64KB

Adafruit

Name

Platform

Debug

MCU

Frequency

Flash

RAM

Adafruit Bluefruit nRF52832 Feather

Nordic nRF52

External

NRF52832

64MHz

512KB

64KB

Adafruit Feather M0

Atmel SAM

External

SAMD21G18A

48MHz

256KB

32KB

Adafruit Trinket M0

Atmel SAM

External

SAMD21E18A

48MHz

256KB

32KB

Arduino

Name

Platform

Debug

MCU

Frequency

Flash

RAM

Arduino Due (Programming Port)

Atmel SAM

External

AT91SAM3X8E

84MHz

512KB

96KB

Arduino Zero (Programming/Debug Port)

Atmel SAM

On-board

SAMD21G18A

48MHz

256KB

32KB

BBC

Name

Platform

Debug

MCU

Frequency

Flash

RAM

BBC micro:bit

Nordic nRF51

On-board

NRF51822

16MHz

256KB

16KB

ElectronutLabs

Name

Platform

Debug

MCU

Frequency

Flash

RAM

ElectronutLabs Blip

Nordic nRF52

External

NRF52840

64MHz

1MB

256KB

ElectronutLabs Papyr

Nordic nRF52

External

NRF52840

64MHz

1MB

256KB

Freescale

Name

Platform

Debug

MCU

Frequency

Flash

RAM

Freescale Kinetis FRDM-K64F

Freescale Kinetis

On-board

MK64FN1M0VLL12

120MHz

1MB

256KB

Freescale Kinetis FRDM-KL25Z

Freescale Kinetis

On-board

MKL25Z128VLK4

48MHz

128KB

16KB

Freescale Kinetis FRDM-KW24D512

Freescale Kinetis

External

MKW24D512

50MHz

512KB

64KB

Freescale Kinetis FRDM-KW41Z

Freescale Kinetis

On-board

MKW41Z512VHT4

48MHz

512KB

128KB

Generic

Name

Platform

Debug

MCU

Frequency

Flash

RAM

BlackPill F103C8

ST STM32

External

STM32F103C8T6

72MHz

64KB

20KB

BlackPill F103C8 (128k)

ST STM32

External

STM32F103C8T6

72MHz

128KB

20KB

BluePill F103C8

ST STM32

External

STM32F103C8T6

72MHz

64KB

20KB

BluePill F103C8 (128k)

ST STM32

External

STM32F103C8T6

72MHz

128KB

20KB

Holyiot

Name

Platform

Debug

MCU

Frequency

Flash

RAM

Holyiot YJ-16019

Nordic nRF52

External

NRF52832

64MHz

512KB

64KB

Laird Connectivity

Name

Platform

Debug

MCU

Frequency

Flash

RAM

BL652 Development Kit

Nordic nRF52

On-board

NRF52832

64MHz

512KB

64KB

BL654 Development Kit

Nordic nRF52

On-board

NRF52840

64MHz

1MB

256KB

Makerdiary

Name

Platform

Debug

MCU

Frequency

Flash

RAM

Makerdiary nRF52832-MDK

Nordic nRF52

On-board

NRF52832

64MHz

512KB

64KB

Makerdiary nRF52840-MDK

Nordic nRF52

On-board

NRF52840

64MHz

1MB

256KB

MikroElektronika

Name

Platform

Debug

MCU

Frequency

Flash

RAM

Hexiwear

Freescale Kinetis

External

MK64FN1M0VDC12

120MHz

1MB

256KB

NXP

Name

Platform

Debug

MCU

Frequency

Flash

RAM

NXP LPCXpresso54114

NXP LPC

On-board

LPC54114J256BD64

100MHz

256KB

192KB

Nordic

Name

Platform

Debug

MCU

Frequency

Flash

RAM

Nordic Thingy:52 (nRF52-PCA20020)

Nordic nRF52

External

NRF52832

64MHz

512KB

64KB

Nordic nRF51 Dongle (PCA10031)

Nordic nRF51

On-board

NRF51822

32MHz

256KB

32KB

Nordic nRF51X22 Development Kit(PCA1000X)

Nordic nRF51

On-board

NRF51822

32MHz

256KB

32KB

Nordic nRF52-DK

Nordic nRF52

On-board

NRF52832

64MHz

512KB

64KB

Nordic nRF52840-DK

Nordic nRF52

On-board

NRF52840

64MHz

1MB

256KB

Olimex

Name

Platform

Debug

MCU

Frequency

Flash

RAM

OLIMEXINO-STM32

ST STM32

External

STM32F103RBT6

72MHz

128KB

20KB

Olimex STM32-P405

ST STM32

External

STM32F405RGT6

168MHz

1MB

192KB

STM32-E407

ST STM32

External

STM32F407ZGT6

168MHz

1MB

128KB

STM32-H407

ST STM32

External

STM32F407ZGT6

168MHz

1MB

128KB

Particle

Name

Platform

Debug

MCU

Frequency

Flash

RAM

Particle Argon

Nordic nRF52

External

NRF52840

64MHz

796KB

243KB

Particle Boron

Nordic nRF52

External

NRF52840

64MHz

796KB

243KB

Particle Xenon

Nordic nRF52

External

NRF52840

64MHz

796KB

243KB

RedBearLab

Name

Platform

Debug

MCU

Frequency

Flash

RAM

RedBearLab BLE Nano 1.5

Nordic nRF51

On-board

NRF51822

16MHz

256KB

32KB

RedBearLab BLE Nano 2

Nordic nRF52

On-board

NRF52832

64MHz

512KB

64KB

ST

Name

Platform

Debug

MCU

Frequency

Flash

RAM

32F412GDISCOVERY

ST STM32

On-board

STM32F412ZGT6

100MHz

1MB

256KB

32F723EDISCOVERY

ST STM32

On-board

STM32F723IEK6

216MHz

512KB

192KB

Nucleo G071RB

ST STM32

External

STM32G071RBT6

64MHz

128KB

36KB

ST 32F411EDISCOVERY

ST STM32

On-board

STM32F411VET6

100MHz

512KB

128KB

ST 32F429IDISCOVERY

ST STM32

On-board

STM32F429ZIT6

180MHz

2MB

256KB

ST 32F469IDISCOVERY

ST STM32

On-board

STM32F469NIH6

180MHz

1MB

384KB

ST 32F746GDISCOVERY

ST STM32

On-board

STM32F746NGH6

216MHz

1MB

320KB

ST 32F769IDISCOVERY

ST STM32

On-board

STM32F769NIH6

216MHz

1MB

512KB

ST 32L476GDISCOVERY

ST STM32

On-board

STM32L476VGT6

80MHz

1MB

128KB

ST 32L496GDISCOVERY

ST STM32

On-board

STM32L496AGI6

80MHz

1MB

320KB

ST DISCO-L072CZ-LRWAN1

ST STM32

On-board

STM32L072CZ

32MHz

192KB

20KB

ST DISCO-L475VG-IOT01A

ST STM32

On-board

STM32L475VGT6

80MHz

1MB

128KB

ST Discovery F072RB

ST STM32

On-board

STM32F072RBT6

48MHz

128KB

16KB

ST Nucleo F030R8

ST STM32

On-board

STM32F030R8T6

48MHz

64KB

8KB

ST Nucleo F070RB

ST STM32

On-board

STM32F070RBT6

48MHz

128KB

16KB

ST Nucleo F091RC

ST STM32

On-board

STM32F091RCT6

48MHz

256KB

32KB

ST Nucleo F103RB

ST STM32

On-board

STM32F103RBT6

72MHz

128KB

20KB

ST Nucleo F207ZG

ST STM32

On-board

STM32F207ZGT6

120MHz

1MB

128KB

ST Nucleo F302R8

ST STM32

On-board

STM32F302R8T6

72MHz

64KB

16KB

ST Nucleo F334R8

ST STM32

On-board

STM32F334R8T6

72MHz

64KB

16KB

ST Nucleo F401RE

ST STM32

On-board

STM32F401RET6

84MHz

512KB

96KB

ST Nucleo F411RE

ST STM32

On-board

STM32F411RET6

100MHz

512KB

128KB

ST Nucleo F412ZG

ST STM32

On-board

STM32F412ZGT6

100MHz

1MB

256KB

ST Nucleo F413ZH

ST STM32

On-board

STM32F413ZHT6

100MHz

512KB

128KB

ST Nucleo F429ZI

ST STM32

On-board

STM32F429ZIT6

180MHz

2MB

256KB

ST Nucleo F746ZG

ST STM32

On-board

STM32F746ZGT6

216MHz

1MB

320KB

ST Nucleo F756ZG

ST STM32

On-board

STM32F756ZG

216MHz

1MB

320KB

ST Nucleo L053R8

ST STM32

On-board

STM32L053R8T6

32MHz

64KB

8KB

ST Nucleo L073RZ

ST STM32

On-board

STM32L073RZ

32MHz

192KB

20KB

ST Nucleo L432KC

ST STM32

On-board

STM32L432KCU6

80MHz

256KB

64KB

ST Nucleo L476RG

ST STM32

On-board

STM32L476RGT6

80MHz

1MB

128KB

ST Nucleo L4R5ZI

ST STM32

On-board

STM32L4R5ZIT6

120MHz

2MB

640KB

ST STM32F0DISCOVERY

ST STM32

On-board

STM32F051R8T6

48MHz

64KB

8KB

ST STM32F3DISCOVERY

ST STM32

On-board

STM32F303VCT6

72MHz

256KB

48KB

ST STM32F4DISCOVERY

ST STM32

On-board

STM32F407VGT6

168MHz

1MB

128KB

STM3210C-EVAL

ST STM32

External

STM32F107VCT6

72MHz

256KB

64KB

STM32373C-EVAL

ST STM32

External

STM32F373VCT6

72MHz

256KB

32KB

STM32F072-EVAL

ST STM32

External

STM32F072VBT6

48MHz

128KB

16KB

STM32H747I-DISCO

ST STM32

On-board

STM32H747XIH6

400MHz

2MB

512KB

SiFive

Name

Platform

Debug

MCU

Frequency

Flash

RAM

HiFive1

SiFive

On-board

FE310

320MHz

16MB

16KB

HiFive1 Rev B

SiFive

On-board

FE310

320MHz

16MB

16KB

Silicon Labs

Name

Platform

Debug

MCU

Frequency

Flash

RAM

EFM32WG-STK3800 Wonder Gecko

Silicon Labs EFM32

On-board

EFM32WG990F256

48MHz

256KB

32KB

SLSTK3400A USB-enabled Happy Gecko

Silicon Labs EFM32

On-board

EFM32HG322F64

25MHz

64KB

8KB

SparkFun

Name

Platform

Debug

MCU

Frequency

Flash

RAM

SparkFun RED-V RedBoard

SiFive

On-board

FE310

320MHz

16MB

16KB

SparkFun RED-V Thing Plus

SiFive

On-board

FE310

320MHz

16MB

16KB

VNG

Name

Platform

Debug

MCU

Frequency

Flash

RAM

VNG VBLUNO51

Nordic nRF51

On-board

NRF51822

16MHz

128KB

32KB

VNG VBLUno52

Nordic nRF52

On-board

NRF52832

64MHz

512KB

64KB

Waveshare

Name

Platform

Debug

MCU

Frequency

Flash

RAM

Waveshare BLE400

Nordic nRF51

External

NRF51822

32MHz

256KB

32KB