|Product Performed to Expectations:||7|
|Specifications were sufficient to design with:||4|
|Demo Software was of good quality:||6|
|Product was easy to use:||8|
|Support materials were available:||3|
|The price to performance ratio was good:||7|
|TotalScore:||35 / 60|
First I'd like to thank Element14 for choosing me again. This review is going to take longer to complete than before because I have a lot of ground to cover comparing at least three different modules by three different manufacturers. In addition to the Panasonic module Element14 sent me I have a set of modules from Laird that we are using for a few projects already. Quite unexpectedly Anaren contacted me and informed that their BLE module is also soon going to be available and they graciously sent me one of their BoosterPack kits to test. I have no experience with any of these modules - I did the layout and prototype electronics for the BL600 by Laird but I haven't used any of them in applications myself (we have a developer working on the smartdevice connectivity part). I'm planning on comparing the time it takes to get the simplest example to run, the extra tools/devices needed and the demo application functionality itself first. After the initial review I will try and go a little further by comparing range/power usage/... Another thing that is very important to one of my applications is support for module to module communications. I already have contacted Laird and their software seems to lack this functionality (at least for the moment). The Panasonic and Anaren modules both use TI BLE SOCs and there seem to be examples by TI that seem to suggest this might be possible - though that would mean overwriting the firmware on the modules and losing the simple interfaces (and requires a really expensive compiler).
I will not attach unboxing pictures here as there is already a review describing what comes in the kit and I will just provide a link here for reference: http://www.element14.com/community/roadTestReviews/1618 (post by Gerrit Polder). What I like about this kit is that it really does contain all you need to test the solution. You plug one USB stick into your laptop, the other into your workstation and you can pretty much test most things you would want (range, power levels...). For the other kits you need a BLE master device like a smartphone or an iPad. Luckily I also have the TI BLE dev kit that comes with a lot of functionality to test BLE devices. This kit also contained a BLE USB dongle that can be used to create a master device with a laptop and some TI software. The Anaren kit requires a TI Launchpad kit in addition to a master BLE device and the BL600 requires just the master device (the BL600 kit is probably the most expensive of the three).
All the kits are for evaluating BLE modules but the Panasonic and the Anaren both use the same SOC internally (TI CC2541). The Panasonic kit comes with a firmware stack called nBlue that seems to work ok for the demo but is quite poorly documented and seems to be difficult to adapt for any custom application. The demo software and applications provide an easy way to do a BLE wireless serial cable replacement (something like XBee series 1) but so far that is just about all I've been able to do with them. The firmware is controlled by sending AT commands to the modules through a virtual serial port (USB-CDC via FTDI chips). I presume that using these modules in my own application would be just as easy by replacing the FTDI chip with my own MCU and sending the required AT commands to set up the serial link. The BL600 kit is much more flexible as it contains a programmable MCU ´that the user can program. For some reason Laird though it was a good idea to invent their own programming language for that module but providing you can learn to use that the modules can actually work quite well without a host MCU. The BL600 module uses a Nordic Semiconductor nRF51822 SOC that uses an ARM Cortex M0 core unlike the TI SOCs that use a 8051 based core. This more powerful processor core offers many advantages including the programmable firmware that the BL600 has. I would not be surprised if in the near future TI would also launch something like that with an ARM core even if it means they would have to rewrite their stack (or perhaps use a 8051 core for the BLE stack and include an ARM based application processor in the same SOC).
I still have to test the Anaren kit to give any comments on its software (the stack is developend by emmoco - a third party).
Laird BL600 module on one of our prototypes (first spin, excuse the wires).
Anaren A2541 module on the BoosterPack addon board for the Launchpad series dev kits.
TI Bluetooth 4 development kit. This can be used to sniff all BLE traffic and with the right software can act like any BLE device or host. The kit also contained a USB dongle that can be used to test BLE devices with a regular workstation. I will not compare this to any of the other kits as this is a whole different class of product - much more flexible and expensive.
06.05.2014: I have now tested various BLE devices for a project we shipped to a client and I must say that despite my usual preference for TI this time Nordic has really outdone themselves. The BL600 module is nice and all (Nordic nRF51822 inside) but for some reason Laird wanted to lock all customers in to their SmartBASIC language for this module. So we shipped our first batch and had a working demo going but power usage was way higher than it should have been. Laird refused to give any schematics for the module internals or any help on how to use it without SmartBASIC. We cracked one open and through some poking around and a lot of luck got the thing working with our own software. The really nice thing about Nordic chips is that unlike TI they use an ARM core (Cortex M0). I haven't really looked into the development tools for TI SOC-s lately but they are rather expensive and trying them out before buying (for BLE devices) was impossible (code size limits). Keil has a code size limited version available that can very easily be used with Nordic chips because of the way they implemented the BLE functionality. They have a binary blob - SoftDevice - that can be linked to your application but is downloaded to the device separately so code size stays small. The only problem with this approach is that the blob is closed source (or I haven't found the source). If I recall correctly TI had a compilable API library for BLE for their devices. The main reason why ARM wins - in my opinion is the way code can be shared between projects. With the new ARMs being very code compatible all the libraries we had for STM devices could be easily used on the Nordic SOC. Another reason I liked the Nordic chip was that the core is quite powerful and even when connected to another device it is possible to run a lot of custom application logic. This saved us a lot on BOM and also meant that development was not spread out as much.
The way I see the market right now there are two main providers of BLE SOCs : TI and Nordic. Of these two Nordic has a better offering in terms of flexibility and ease of use at the moment. I have heard rumours TI may be coming out with ARM cored SOCs for BLE too but we'll have to wait and see.
We implemented a central device on the nRF51822 SOC for one on our customers and despite the advertised support for that it was a painful journey. Many features are still missing from the API, the soft device is quite fragile and easy to crash and with 8 devices connected at the same time the SOC is really struggling to keep up. TI apparently has support for central devices too and I would love to hear from someone who has tried implementing something like that (multiple slaves connecting at the same time).
As for all the different modules they are very useful when trying out a new design or idea. We actually used the BL600 USB devboard the most as it was the easiest to develop with. The Panasonic modules were probably meant for something other than development most likely as they had no onboard programmers (BIG oversight) and were generally quite poorly documented/supported. The TI kit was very nice but also quite expensive and we still had trouble getting some of the examples going. Keil IDE with Nordic dev kits was like a dream - everything worked out of the box. Uploading code required no physical interaction and was fast (Segger JTAG). If I had to do it again I would definitely go for Nordic and Keil. The main problem with these Panasonic modules was that it seemed they were meant for one thing only - serial connection. There was little to no material on how to use them in our own application. Also it seems to me that having two USB stick type boards is maybe not the best way to go. Measuring current and range is difficult like that and also having a standalone board (with a builtin battery holder) makes product demos on development hardware so much easier. Having to use a laptop in a demo for a small battery powered device doesn't give the right idea to the customer.
The Panasonic modules are good but only if what you are after is a BLE alternative to a physical cable connection between two USB host devices. For anything else you would be better off with something a little more open and "developmental".