Skip to content
Spinel Specification: a general management protocol for enabling a host device to communicate with and manage a Network Control Processor (NCP).
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
core core: Updates to 'RETHINK IPv6 Properties' section Nov 11, 2017
gpio Sync from OpenThread and general reorganization. Oct 25, 2017
hbo core: Octets->Bytes, OS->AP Nov 1, 2017
jam-detect core: Octets->Bytes, OS->AP Nov 1, 2017
network-save core: Octets->Bytes, OS->AP Nov 1, 2017
output Render documents via 'make update' Nov 11, 2017
registry core: Added CMD_ECHO Nov 10, 2017
thread core: Small misc. changes Nov 1, 2017
trng Sync from OpenThread and general reorganization. Oct 25, 2017
Makefile Make sure version is appended to the I.D name Oct 26, 2017 Sync from OpenThread and general reorganization. Oct 25, 2017

Spinel NCP Protocol Specification

This repository contains the raw, mmark-formatted sources for the documentation of the Spinel protocol (otherwise known just as "Spinel").

Spinel facilitates the control and management of IPv6 network interfaces on devices where general purpose application processors offload network functions at their interfaces to network co-processors (NCP) connected by simple communication links like serial data channels. Spinel was initially designed for use with Thread(R) network co-processors, but its core is general purpose and intended to be easily adapted to other types of IPv6 network interfaces.

The specific specifications currently being developed here are:

  • draft-rquattle-spinel-core: Spinel protocol core specification (in the core subdirectory)
  • draft-rquattle-spinel-network-save: Network-save functionality (in the network-save subdirectory)
  • draft-rquattle-spinel-thread: Support for Thread(R) (in the thread subdirectory)
  • draft-rquattle-spinel-gpio: Support for GPIO observation and manipulation (in the gpio subdirectory)
  • draft-rquattle-spinel-hbo: Support for host-buffer-offload (in the hbo subdirectory)
  • draft-rquattle-spinel-jam-detect: Support for jamming-detection (in the jam-detect subdirectory)
  • draft-rquattle-spinel-trng: Support for true random number generation (in the trng subdirectory)

These specifications are all intended to eventually become IETF standards-track, but are currently at varrying stages of completeness.


If you would like to build the Spinel documentation from these sources, the easiest way to do so is to use Docker and the included makefiles.

After Docker is set up properly on your machine, using make from the root will build all documentation targets. Using make from the individual directories will only build the documentation for that specific directory. The first time you run make, some extra time may be required while Docker fetches the appropriate container.

Temporary Registry

A temporary authoritative registry of all commands, properties, and capabilities is currently located in the registery directory. See the related README for more information.

You can’t perform that action at this time.