I have also been playing around with BLE, and decided to go with the Nordic nRF8001 chip because it looked easier to work with and didn’t require expensive IAR tools. nRF8001 is slightly cheaper than the CC2540 part in BLE112, but it is slave-only.
I bought Nordic’s nRF8001 development kit for $99, which includes nRF8001 samples and several nRF8001 boards (one with a trace antenna and one with an SMA connector) with standard 0.1" header for easy interfacing with your microcontroller development board. The documentation assumes that you have the $399 nRFgo development board and want to use the included nRF8200 microcontroller. I didn’t, so instead I wired an nRF8001 board directly to an Arduino.
You speak SPI to nRF8001, but basically with 2 different slave select-like pins. One pin (REQN) is a traditional slave select which is brought low to indicate that the master (you) want to send a message. The other pin (RDYN) is for the slave (nRF8001) to indicate that it received something over RF that it wants to send to the master, or that it is ready to receive a command from master. Master then brings REQN low and starts receiving.
The protocol is very concise and well documented (in the Product Specification PDF provided by Nordic) and I wrote an Arduino sketch to setup the nRF8001 and have it talking to my iPhone 4S in an afternoon. The format is basically one length byte, one command byte, and then optional command-specific arguments.
You will need Nordic’s nRFgo Studio software to create a configuration specifying the services your device will support; it will then include a services.h file containing the setup messages you need to send to nRF8001. I finally managed to emulate a heart rate monitor and display numbers in Nordic’s iOS demo app.
One big benefit of nRF8001 compared to BLE112 is that, apart from the proprietary setup messages generated by nRFgo Studio, you only deal with a well documented serial protocol. No firmware upgrades! It’s very cool that the CC2540 has an on-board 8051 microcontroller, but you’ll either need to pay thousands of dollars for the IAR tools or deal with the limitations and annoyances of BlueGiga’s software stack. A raw CC2540 is cheaper than nRF8001 plus a microcontroller, but BlueGiga’s boards are not cheap.
(There is a UART on the nRF8001 that is brought out on the boards included in the development kit, but it’s only for Bluetooth’s Direct Test Mode and isn’t ordinarily used.)
Best Answer
I haven't worked with this Bluetooth Bee, but I'll attempt to provide some insight.
In regards to HID:
It's unlikely you'll be able to support HID onto the BT Bee; in your datasheet, the Bee supports version 2.0 with Enhanced Data Rate (EDR), whereas according to the HID Spec, HID conforms to 2.1 + EDR or better. Also, HID is supported by L2CAP, so you would have to go low level to support it yourself (which is a great feat in itself). If you are dedicated to HID, find a module that supports it natively.
This RN-42 from Sparkfun for instance: https://www.sparkfun.com/products/10823
If you're interested in the HID Spec...
In regards to connecting issues:
I suspect that the issue may be occurring because you may have your module configured to be a master device and you're trying to initiate the connection from your computer. The device initiating connection is always the master device. Your datasheet for the module mentions that you can configure your module to be a Slave.
In regards to SDP:
The datasheet doesn't say anything about the Service Discovery Protocol (SDP), which is a convenient Bluetooth feature in which a random 6 digit number is generated and compared by two devices. In this case, your module supports something known as Legacy pairing, where a 4 digit PIN in chosen and/or entered by the user.
Your computer very likely supports SDP, however when it attempts to pair with a device that does not support SDP, the computer should utilize Legacy pairing to conform to your module. In short, you don't have to worry about SDP.