08/08/2014 at 16:37 •
I don't really have anywhere else to put this stuff, so in the spirit of this being my living notebook, heres some links I've come across:
A BLE library for the nrf51822 (Arduino?): http://hg.cmason.com/nrf/wiki/Home
Cheap NRF51822 Debugger (McHack) https://www.evernote.com/shard/s13/sh/2557f123-e1fd-4d04-b053-0adac1945c74/6343ffac964a01863d817690f27bbfb5
The Laird BL-600 looks like a pretty good candidate for the module. About 8 quid from mouser and is an NRF51822 with all the trimmings on a certified module. The module can be programmed like any other nrf51822 chip but also contains a stack called smartBASIC which is probably as horrific as the name implies (If you find BASIC horrifc, which I do!).
Breakout Board: https://github.com/lukeweston/BluetoothModule
The Laird dev kit is £100, so quite an investment. They have a programming Jig which looks like a great idea for bulk programming these modules, but it costs over £300, perhaps I'll need to hack together something like that (fire up SCAD!).
I also remeber reading something about bringing pin20 (or another similar pin) high to turn on the antenna, so better remember that If I use these modules.
Do I need to sign off these logs?
07/25/2014 at 09:19 •
I've got my nrf8001 module from olimex. I would've rather have got the adafruit one but it cost a bit more after factoring in UK shipping or buying from a UK reseller. I'm leaning towards using the nrf51822 for this so it'll probably end up in the parts bin anyway!
I don't get access to the windows software required to create configurations for the BLE module without purchasing a proper dev kit, but have run the module from an arduino with nordics arduino lib. The lib contains instructions for porting to other microcontrollers which doesn't look like much work so I'll probably give it a go.
If that's not very useful I'll see if I can borrow a license to the nrf8001 software or use someone's copy to create a config.
In the mean time I've been playing with the zero gecko dev board, the real time power monitor is fantastic. If I go for nrf8001 I'll probably get one of the gecko dev boards with a beefier chip since they come with a power profiler, so you can link power use to lines of code which is just too cool! Though I pretty much know where the power will go (turning on the BLE radio), most of the rest of the time will be spent in sleep mode.
My final time went into looking at certified modules with antennas that I'd put on a fabbed PCB, most of them look like a 'contact sales' kind of deal though some claim samples are available. I'll keep browsing component sites to see if there's anything I can just order!
07/05/2014 at 23:07 •
So far I have an nrf51822 cheapy module. It was about £5 on ebay and has two lots of 18 anoying 1.27mm spaced DIL pins. I've read about people programming these with mbed generated code (https://mbed.org/forum/platform-39-Nordic-nRF51822-community/topic/4982/) and using the programmer built into STM boards (Sorry, Can't find link ATM) so I'm going to try that with one of the mbed demos once I get the headers figured out - both the pinouts and how the hell to connect them up, 1.27mm IDC plugs are like £7 each!
As for the ARM chip, I'm already almost certain about using Energy Micros ARM EFM32 series. They have great hobbiest support, a nice free eclipse based IDE (at least for windows) and support GCC. I haven't settled on a chip yet but I do have the Zero Gecko development board (pictured) with the Sharp memory LCD. It should be useful for its real time power use monitoring / profiling tools and for evaluating the sharp memory LCD. The Zero Gecko doesn't have native USB which I would like the option of (for firmware updating, loading configurations).
The only thing in the negatives column for Energy Micros is no mbed support. I would like to use mbed if possible. I really like the Freescale boards (its my go-to arduino replacement) and the dev boards are SO cheap so freescale are still a contender, I need to check the power use though.
07/05/2014 at 22:55 •
I want anyone to be able to build and contribute to this for free. Whether they run OpenBSD or FreeDOS, a 3970X or BCM2835. The problem being that the BLE stacks are not very maker friendly. Since I don't want to go through the headache of getting certifications, I've looked at what certified modules are about.
It boils down to three manufacturers really. The TI CC2541 Chip, The CSR1001/CSR1011 or the Nordic nrf51822 / nrf8001.
The TI chip doesn't have an embedded ARM, it has an 8051 based MCU. The problem is the bluetooth stack required comes with the £2k+ IAR software. The free kickstart version has a limit on binary size which is smaller than the BLE stack on its own.
There are some other stacks written for the TI chips / modules such as Bluegiga, but the quality, module availablilty and closed source nature of these third party stacks worrys me.
The CSR chips seem to sit behind sales representitives and I've even seen mentions of NDAs. Its a shame as they look like good chips. But they're out. Looks like CSR only want to play with the big boys. The dev kit is also quite expencive.
That leaves the Nordic chips. The nrf8001 is made to be configured by an external microcontroller using a serial based interface. The nrf51822 has its own low power ARM Cortex processor. Both look great. The tool downloads (including the BLE stack) sit behind a 'product key' on the site, but you get a key with the relatively cheap dev kits. These seem like the right choice here to me.
I've yet to find out if the nrf8001 interface can be developed without using their windows tool. But it should be a case of people not able to use the tool being able to do feature development and only requiring use of the tool if the BLE interface needs changing.
The nrf51822 has mbed support, including a high-level BLE interface. So I'm going to use that, at least until I find it has limitations or is not suitable.
So I'm going to prototype two systems:
1) nrf8001 + Low power ARM chip
And see which one holds up best for low power use, open-ness of the build system and price. In that order!