Re: OpenThread development guide

Lubos, Robert

Hi Arun,


I’m afraid I’m not in the position to make any statements about OpenThread integration roadmap at this point.





From: Benjamin Lindqvist [mailto:benjamin.lindqvist@...]
Sent: Friday, September 6, 2019 08:46
To: Arun Kumar <arun.ece.nitp@...>
Cc: Lubos, Robert <Robert.Lubos@...>; devel@...
Subject: Re: [Zephyr-devel] OpenThread development guide


Hi Arun,


The NCP should probably not be high in the list of priorities - I doubt it makes a huge difference for the infrastructure that the NCP was compiled from some Nordic SDK or whatever.


This is just the opinion from a Thread non-expert but what I feel should be prioritized is making sure there's plenty of clean samples and good documentation. It would be nice with an actual Zephyr control interface as well, possibly utilizing the IFUP/IFDOWN signaling mechanisms, options for delaying Thread initialization until credentials are added and of course an API for altering the credentials.


On Fri, Sep 6, 2019 at 8:37 AM Arun Kumar <arun.ece.nitp@...> wrote:

Hi Robert,


Do we have clear road map for openthread integration in zephyr (I mean integration of NCP like things we are lacking so far) ?


with regards,


On Mon, Sep 2, 2019 at 4:21 PM Lubos, Robert <robert.lubos@...> wrote:

Hi Benjamin,


Sorry for late reply, I’ve just came back from holiday. See my responses inline.





From: devel@... [mailto:devel@...] On Behalf Of Benjamin Lindqvist via Lists.Zephyrproject.Org
Sent: Tuesday, August 27, 2019 13:31
To: devel@...
Cc: devel@...
Subject: [Zephyr-devel] OpenThread development guide




I've verified basic OT functionality using the echo_client/server samples with the openthread overlays. That's nice, but it's not obvious to me how I proceed after this. A few things that had me confused:


- how do I configure my Zephyr device as a sleepy end device?


It is not possible to configure Sleepy End Device on current master, there is a PR that adds this functionality though ( It’s been open for some time now, feel free to comment in there if it’s a desired feature for you.


- can I setup my west.yml to clone openthread + dependencies as a module to prevent cmake from doing it at build every time?


This has already been done recently, make sure to check out the current master. West will now download OpenThread for you as a Zephyr module, and use it during OT samples builds.


- can I modify the network credentials at run-time? Or in other words, does Zephyr support anything but hardcoded OT commissioning?


Zephyr supports two ways of obtaining network credentials (commissioning):

  1. Use a preconfigured, hardcoded defaults, specified by Kconfig (good for samples, not really for real applications),
  2. Or perform a commissioning procedure defined by Thread specification during startup (see CONFIG_OPENTHREAD_JOINER_AUTOSTART option).


Both methods will configure your device during initial startup, and store network parameters in the flash. If, for whatever reason, you’d want to modify the network credentials afterwards, you’d need to call OpenThread API directly, there’s no support in Zephyr for that. See for available API functions. Just note, that in order to use OT API directly, you’d need to obtain OT context first from the OT network interface.


- can I build NCP firmware for a border router using Zephyr?


No, Zephyr cannot be configured as a NCP. For a NCP application, check the OpenThread repository.


etc. Right now I get the impression that the openthread integration is in a sort of proof-of-concept stage. Is this the case? If not, it would be nice with some more documentation, perhaps even a sample app...


Well, for sure I’d not call it a proof-of-concept at this point, yet indeed there’s still work to do. Lack of time/resources to push it forward is the only answer I can provide for now.



Arun kumar

Bachelor of Technology

Electronics & Communication Engineering

Nit Patna

Contact: +91-8877229320

Email: arun.ece.nitp@...


Join to automatically receive all group messages.