Berkeley’s OpenWSN


OpenWSN is a project I started in 2010 while at UC Berkeley to have an open-source implementation of Time Synchronized Channel Hopping (TSCH) as an experimentation platform. Its scope has since changed to be the reference implementation of the 6TiSCH protocol stack, and has made it much simpler for companies to adopt 6TiSCH.

Technically, OpenWSN is implementation of the protocol stack and an application framework, which runs on 11 hardware platforms, from decade-old MSP430-based motes to state-of-the-art Cortex-M multi-radio boards. It comes with an emulator, so development/testing can be done on a computer. The toolchains used are IAR EW430, IAR EWARM, MSPGCC, GCC and ARMGCC. The protocol stack portion of OpenWSN has been ported to the uC/OS-II, FreeRTOS and OpenOS kernels. As lead developer at the start of the project, I architected the entire project and implemented the vast majority of it, from low-level drivers to the Python-based management application and the emulation engine. The project is now co-lead by myself, Open University of Catalunya (UOC) and UC Berkeley.

OpenWSN has been chosen as reference 6TiSCH implementation by ETSI, used as “Golden Image” for 6TiSCH plugtests.

OpenMote is the hardware spin-off company of OpenWSN, founded by Xavi Vilajosana after he spent 2 years with me at UC Berkeley. OpenMote builds and sells the board we designed in the OpenWSN team; thousands of these boards have been sold. We recently introduced the OpenMote B.