Posts: 11
Registered: ‎08-15-2015
Accepted Solution

Preferred environment for EM35X ZigBee / Thread NCP development

I have the EM35X NCP add on kit: to go with my dev kit.  I upload my application to a Beaglebone, and communicate via USB.


But, I noticed on DigiKey that the status of this kit is 'obsolete' :


Is there a more 'current' solution to NCP development that I should be looking at?


I see a lot of promotion about the 'Gecko' product line.  Is there a 'Gecko' product that runs a Linux image that also accepts a EM35X chip?

Posts: 202
Registered: ‎02-05-2014

Re: Preferred environment for EM35X ZigBee / Thread NCP development



Great question.  You're correct that the EM35x NCP Add-on Kit that you mentioned is now obsolete (no longer being produced for new stocking through distribution), and this was done for a few reasons:

* Very few of those kits were ever sold.

* Most customers doing NCP development end up using UART connections to the NCP, which can just as easily be done with the standard EM35x Breakout Board (PCB #710-0680-000) through the TTL serial header, RS232 DB-9 port, or USB-to-serial port (via the onboard FTDI converter).

* Those customers that do use SPI for NCP comms don't necessarily use the STM32 host MCU, nor are we very enthusiastic about promoting the STM32 as a host, given that Silicon Labs has our EFM32 MCU line now.


Regarding that last point, there's been discussion of building an EFM32 + EM35x NCP combo board for awhile, but there's not been a heavy emphasis on releasing a formal EZSP SPI driver for EFM32 because the vast majority of customers have used UART for NCP communication, and even those starting to use SPI now are doing so within a Linux/POSIX framework (RasPi, for example), so having a bare-metal OS approach isn't that useful for the general population.  (Getting EZSP-SPI drivers ported to a bare-metal or FreeRTOS EFM32 host isn't too bad, but there's no integration with Studio / AppBuilder, so translating the IAR EWARM project for STM32 SPI host, which is what AppBuilder puts out, into something that works on your architecture/toolchain becomes the hard part.)


Your best bet for ZigBee or Thread NCP development is to use the standard EM35x Breakout Board or WSTK (for EFR32) and connect via the USB-to-serial port on these respective boards to get a UART NCP connection to some third-party host board, such as a BeagleBone or Raspberry Pi.   (We use a lot of RasPi2's internally for prototyping, support, and QA.)   Ideally, you want something with a POSIX-compliant OS (Linux or some such) so that you can use the Makefile that comes out of AppBuilder and build the resulting project with GCC.  In recent EmberZNet and Silicon Labs Thread releases, there is also POSIX SPI host support, so you can build a SPI host executable via Makefile/GCC for something like a Raspberry Pi, but that's a bit more difficult and less portable because SPI drivers and connections vary across OSes and host platforms.


If you have other questions about how to proceed with the above approaches, feel free to ask.



The views represented in this post are the independent views of the author and don't necessarily represent the official views of Silicon Labs.