Going into this project I knew two things. I wanted a radio, and I wanted the PCB to be full of parts. I decided to make something with a BTLE (Bluetooth 4.0) radio so I could control it with my phone. After looking at a few BTLE chips, I decided on the Nordic Semiconductor’s nrf51822. The Ti CC2540 was a close contender, but the more powerful processor (ARM M0 vs an 8051 in the TI) and the ability to map any of the GPIO pins I chose the Nordic. So how did I end up with two radios? I only expected 100ft range (probably generous) out of the BTLE radio and that didnt seem like enough. What I really wanted was a wifi connection, but wifi IC’s can cost more than $20 a piece (although I did just get a cc3000 sample to play with, thanks TI). Sub 1Ghz ISM radios on the other hand can get quite a bit of range for not much money. I would love to get 3000 feet out of this, but it will probably be a little less. The data sheet claims 16dBm, and I get to attach any antenna I want using an sma connector (I’m thinking YAGI pointed at my central hub). The claimed 1Mbps transfer rate isn’t too shabby either, but probably wont work well at range.
This board is more of a personal development board than a finished product. I gave myself a few buttons, SPI radio interface, and 2 GPIO’s configured as i2c. Once I get a mesh network set up with a few of these, I can build a daughter board with i2c controlled relays and interact with the real world. One of the coolest applications here is that I can trigger events when the BTLE radio sees a phone. Imagine a node placed at the end of a long driveway, which lets a node in the house you are coming home. Lights and heat could be activated just by your arrival. Also imagine walking around the house and having a home automation system know who is in what room. Oh yeah, while triangulating location to an exact point probably wont work, I intend to have three of these devices spread out, and program ‘Signal Strength Location Profiles’. Even though an exact location may not be accurate due to physical surroundings, it stands to reason that the single strength of each node will create a unique profile. It remains to be seen how these will handle 3 or more BTLE connections at once, in which case I may have to rely on a 900mhz connection for location services.
I ordered the PCBs from oshpark.com , stencil from oshstencils.com (no affiliation), and parts from a myriad of distributors. Parts show up this week, PCBs not until March. Thank you Sparkfun, adafruit, and whoever took the time to layout TI’s inverted F antenna for some great eagle libraries.
Rev1_BTLE_CC1200 (Eagle Files, untested PCB)