Skip to content

Module Catalog

The NSX registry ships a curated set of built-in, first-class modules that cover SDK integration, platform plumbing, peripherals, profiling, and common runtime helpers. Every module listed here is discoverable through the CLI and eligible for normal nsx module add workflows.

# List the full catalog from your terminal
nsx module list --registry-only

Need a module that isn't listed here?

NSX supports custom and third-party modules alongside the built-in catalog. You can register a local directory or any git repo as a module for your app — no changes to the upstream registry required.

See Custom Modules for registration commands, scaffolding, and end-to-end authoring guidance.

What First-Class Means

In NSX, a first-class module is a module that is:

  1. present in the packaged registry
  2. discoverable through the CLI
  3. eligible for normal nsx module add workflows
  4. part of the supported, documented NSX module model

That is separate from how an app builds it. Apps still build from vendored copies in app/modules/ after resolution.

Useful commands:

nsx module list --registry-only
nsx module list --app-dir <app-dir>

All Modules

Use the built-in search field above the table to filter modules, then adjust the page size selector as needed.

Module Category Description SoC Support
nsx-core Runtime Core runtime initialization and baseline support for most NSX apps. All
nsx-harness Runtime Harness-side helpers for logging, smoke tests, and instrumentation-friendly app output. All
nsx-utils Runtime Shared utility helpers for common runtime tasks. All
nsx-portable-api Runtime Thin convenience wrappers for migration-friendly app development. All
nsx-tooling Tooling CLI-generated app CMake/tooling integration. All
nsx-soc-hal Platform Shared SoC-level HAL integration layer for NSX targets. All
nsx-cmsis-startup Platform CMSIS startup integration — vector tables, startup code, early boot wiring. All
nsx-ambiqsuite-r3 SDK AmbiqSuite r3 SDK provider for Apollo3 / Apollo3P targets. Apollo3, 3P
nsx-ambiqsuite-r4 SDK AmbiqSuite r4 SDK provider for Apollo4L / Apollo4P targets. Apollo4L, 4P
nsx-ambiqsuite-r5 SDK AmbiqSuite r5 SDK provider for Apollo5 / Apollo510 / Apollo330P targets. Apollo5B, 510, 510B, 330P
nsx-ambiq-hal-r3 SDK Curated HAL wrapper surface for AmbiqSuite r3 targets. Apollo3, 3P
nsx-ambiq-hal-r4 SDK Curated HAL wrapper surface for AmbiqSuite r4 targets. Apollo4L, 4P
nsx-ambiq-hal-r5 SDK Curated HAL wrapper surface for AmbiqSuite r5 targets. Apollo5B, 510, 510B, 330P
nsx-ambiq-bsp-r3 SDK Curated BSP wrapper for board-support on AmbiqSuite r3 targets. Apollo3, 3P
nsx-ambiq-bsp-r4 SDK Curated BSP wrapper for board-support on AmbiqSuite r4 targets. Apollo4L, 4P
nsx-ambiq-bsp-r5 SDK Curated BSP wrapper for board-support on AmbiqSuite r5 targets. Apollo5B, 510, 510B, 330P
nsx-peripherals Peripheral Common peripheral-access helpers for board devices and attached hardware. All
nsx-power Peripheral Power-management helpers — sleep policy, shutdown control, low-power workflows. All
nsx-uart Peripheral UART wrapper for serial communication, console I/O, and host-device links. All
nsx-i2c Peripheral I2C wrapper for integrating sensors and peripherals over the I2C bus. All
nsx-spi Peripheral SPI wrapper for talking to SPI-attached devices and peripherals. All
nsx-audio Peripheral PDM audio capture driver with DMA-backed sampling and callback delivery. Apollo5B, 510, 510B
nsx-usb Peripheral USB CDC serial driver using TinyUSB with proper error handling. Apollo5B, 510, 510B, 4P
nsx-nanopb Library Vendored nanopb — zero-dynamic-memory Protocol Buffers in ANSI C. All
nsx-perf Profiling Generic performance measurement helpers for timing and lightweight profiling. All
nsx-pmu-armv8m Profiling Armv8-M PMU helpers for hardware counter configuration, capture, and transport. Apollo5B, 510, 510B, 330P

Module Families

The catalog is easier to navigate if you read it by role rather than by raw module name.

SDK Provider Modules

These define the upstream SDK family and revision used by the rest of the dependency graph.

Module family What it provides Typical use More info
nsx-ambiqsuite-r3, nsx-ambiqsuite-r4, nsx-ambiqsuite-r5 Curated AmbiqSuite provider selection by release family. Select the SDK baseline for a target and downstream wrapper stack. r3, r4, r5

SDK Wrapper and Platform Integration Modules

These adapt raw SDK content into the NSX build and target model.

Module family What it provides Typical use More info
nsx-ambiq-hal-r3, nsx-ambiq-hal-r4, nsx-ambiq-hal-r5 Curated HAL wrapper surface for each AmbiqSuite release family. Pull in supported HAL utilities without wiring raw SDK files by hand. r3, r4, r5
nsx-ambiq-bsp-r3, nsx-ambiq-bsp-r4, nsx-ambiq-bsp-r5 Curated BSP wrapper surface for each AmbiqSuite release family. Board-support wiring layered on top of the chosen SDK release family. r3, r4, r5
nsx-soc-hal Shared SoC-level integration across targets. Common SoC policy and low-level platform integration. GitHub
nsx-cmsis-startup CMSIS and startup integration for NSX targets. Startup files, vector-table wiring, and common boot integration. GitHub

Board Modules

Board modules are selected automatically when you create an app for a specific target. They capture board-level wiring and pin configuration.

This table has its own search and pagination controls.

Board Module SoC Family
nsx-board-apollo3-evb Apollo3
nsx-board-apollo3-evb-cygnus Apollo3
nsx-board-apollo3p-evb Apollo3P
nsx-board-apollo3p-evb-cygnus Apollo3P
nsx-board-apollo330mp-evb Apollo330P
nsx-board-apollo4l-evb Apollo4L
nsx-board-apollo4l-blue-evb Apollo4L
nsx-board-apollo4p-evb Apollo4P
nsx-board-apollo4p-blue-kbr-evb Apollo4P
nsx-board-apollo4p-blue-kxr-evb Apollo4P
nsx-board-apollo510-evb Apollo510
nsx-board-apollo510b-evb Apollo510B
nsx-board-apollo5b-evb Apollo5B

Board modules are first-class because they are packaged and registry-backed, but they are usually selected indirectly through app creation or target configuration rather than being added manually.

Runtime and Helper Modules

These make up the common reusable runtime layer for NSX apps.

Module What it provides Typical use More info
nsx-core Common runtime initialization and baseline app support. Almost every NSX app uses this directly or indirectly. GitHub
nsx-harness Debug-print, low-power print, and harness-side helpers. Bring-up, smoke tests, and instrumentation-friendly apps. GitHub
nsx-utils Small common helpers that do not deserve their own specialized module. Light utility needs broader than one board or app. GitHub
nsx-portable-api Thin migration-friendly convenience wrappers. Ease migration from older code or reduce direct SDK coupling in simple apps. GitHub
nsx-tooling Generated app CMake and tooling integration packaged from neuralspotx. Internal CLI-generated app support and helper wiring. GitHub

Profiling and Instrumentation Modules

These are the current first-class path for performance instrumentation.

Module What it provides Typical use More info
nsx-perf Generic performance capture helpers such as DWT or related profiling support. Perf bring-up, benchmarking, and runtime instrumentation. GitHub
nsx-pmu-armv8m Armv8-M PMU configuration, presets, capture, and transport support. Function-, layer-, and model-level PMU workflows on supported cores. GitHub

Peripheral and Bus Modules

These expose common device and board-access surfaces without forcing those helpers into the baseline runtime core.

Module What it provides Typical use More info
nsx-peripherals Common board-peripheral helpers such as NVM or PSRAM-facing support. Generic board peripheral access for smoke tests and small apps. GitHub
nsx-power Power-policy and sleep-oriented helpers. Low-power behavior, block shutdown control, and power-state utilities. GitHub
nsx-i2c I2C wrapper and related helpers. Sensor and peripheral bring-up over I2C. GitHub
nsx-spi SPI wrapper and related helpers. SPI device bring-up and integration. GitHub
nsx-uart UART wrapper and related helpers. Serial communication, console, or bridge workflows. GitHub

What Is Not First-Class Yet

Some module candidates are not part of the packaged catalog yet. That usually means they are still app-local custom registrations, local development modules, or future migration targets from legacy neuralSPOT.


Working with Modules

Add a module to your app

nsx module add nsx-peripherals --app-dir my-app

NSX resolves the full dependency closure, validates board/SoC compatibility, and vendors the module into my-app/modules/.

Inspect a module

nsx module describe nsx-audio

Search by keyword

nsx module search "uart serial"

Remove a module

nsx module remove nsx-peripherals --app-dir my-app