Wireless 6loWPAN mesh "Particle Compound" core

A quick update.

After doing some investigations, the RAM demands of the TLS secure handshaking with the Particle server (RSA key ciphering, in particular) are too much for the 802.15.4 microcontroller I initially selected. I wanted to use Texas Instruments’ latest wireless MCU - CC2630/CC2650 which has excellent low-power specs (from what I’ve seen the best in the industry at the moment) and a very rich feature set. It also now has Contiki stack ported to it. In addition, it provides seamless migration path to sub-GHz radios, using pin- and software-compatible CC1330 device which provides much better radio range (especially useful for industrial or enterprise applications).

However, CC2630 has quite much less RAM and Flash memory compared other devices, only 20KB and 128KB, respectively. While running Contiki and TLS handshaking concurrently, 20kB RAM is just too tight and 128KB Flash is also very tight to store both Contiki and Particle firmware stacks, along with a user’s application code. Potentially, given enough time to hand-craft and optimize the memory usage, it might be possible to fit it all in (I was looking at different software architectures to offload RSA to the Photon gateway using proxy servers, for example), but the time to market is very important.

So, I investigated other alternatives, namely CC2538 (also from TI). It does not have as good radio performance and low-power specs as CC2630, but it does make up for it with abundant memory (RAM is 32KB and Flash as big as 512KB). It also has more mature Contiki support. So, I decided to pick my battles wisely and go with CC2538 instead. It’s architecturally similar to CC2630/CC1330, so future migration won’t be too bad once TI releases configurations with more memory.