Hardware Development Pt. 2

A project log for Polymorphic Hardware

Applying polymorphism to hardware enables users to do more with their devices while avoiding IoT pitfalls.

Trey GermanTrey German 05/17/2016 at 17:080 Comments

After posting all that info on the enclosures, it occurred to me that I owe you an update on hardware. Previously, I've covered the development of the little green board, but since then I've posted a bunch of pictures of a red version without any explanation!

I was able to successfully bring up the first version of the board (the green one) and retrieve data from each of the sensors over bluetooth using the SDK I've been developing. Everything was going great until I started trying to update the firmware over bluetooth. Clearly I didn't RTFM enough because as I quickly found out, firmware updates require an external memory in order to buffer the application image.

It was this shortcoming that led to the redesign of the board. I added the SPI flash to enable over the air firmware download (OAD), as well as a TMP007 IR temperature sensor. Finally, the CC2650 module I'm using comes in two flavors: internal and external antenna. Because the range wasn't the best with the internal antenna, I decided to design the board such that it could be populated with either variant of this module. I've highlighted these changes in the following graphic:

I've had these new boards for a few weeks now and they are working fabulously. Only minor changes were needed in order to get the firmware running on these new boards. I've also settled on a name for these. Meet the Polymorphic●Move (pol-e-morf-ic dot moov).