Tuesday, August 27, 2013

Internet of Things with help of ARM

Today, ARM Ltd announced they have acquired Sensinode Oy, a Finnish company providing software technology for Internet of Things (IoT). In the press release, ARM says they will make the technology available to developers through the ARM mbed project, to enable easy creation of IoT applications.

Sensinode is most known for the Nanostack implementation of the 6LoWPAN standard. They are also known for their active contribution to standardization at IoT scheme. At Espotel, I have been involved as the project manager in a customer product development project where Nanostack was applied in a wireless sensor network for industrial automation application. 

The mbed development platform is intended for fast creation of products based on ARM microcontrollers. It consists of software and hardware development tools (SDK, HDK), online IDE and support of the community. At the moment, there are 11 COTS MCU boards readily available from different vendors, ranging from Cortex-M0 to M4 core.

The mbed Compiler is a C/C++ IDE provided as a web app, thus most operating systems and browsers are supported as the host environment. Unlike with the BeagleBone C9, your mbed projects are stored in the cloud, not in the development platform itself. The IDE provides version control by default, but also rises some security concerns. For hobbyist and experimentation, that's maybe not a problem, if the code is intended to be published anyway.

Try it by yourself


I did some quick exercise with the mbed and a Freescale Freedom board KL25Z with Cortex-M0 core. In less time than what it takes to write this posting, I got my first code up and running in the target. There are just a few steps to follow, according to the instructions.
  1. Connect the board via USB cable meanwhile pressing the reset button. The device gets mounted as a USB mass storage in bootloader update mode.
  2. Update bootloader by drag-and-drop the image, then reset the device
  3. Open the IDE by clicking mbed icon at the device flash
  4. Write your code, compile, and save the binary to the device flash 
  5. Reset the device, and you're running you new code !
Steps 1 and 2 needs to be done only once, to enable mbed on your target.

FRDM-KL25Z blinking blue and green LED.
After my experiment, I'm really fascinated by the concept of mbed. Together with the proven wireless internet connectivity provided by Sensinode, I believe what ARM promises, the IoT is one step closer.

1 comment:

  1. About the security concern I mentioned. There is always possibility to export your project to a third-party off-line IDE, like IAR, CodeRed or gcc.

    Here are the instructions: