0

nRF8001 Bluefruit board as a custom BLE device?
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

nRF8001 Bluefruit board as a custom BLE device?

by Tom_Techyheadz on Fri Sep 26, 2014 5:12 am

Hi

I would like to buy and use the nRF8001 board with a freescale frdm-kl25z board.

Obviously this is likely to work fine via SPI.

Thing is I want to make a midi device with these two chips, so I need to configure it so that it is seen as a "Bluetooth MIDI Device" by iOS8.

iOS8 can automatically detect midi devices via BLE, and I believe this is done using custom UUID / attributes / profile.

Now I know with arduino this nRF8001 board is generally configured as a UART pass-through module.

I would like to prototype a custom device and then make a custom PCB using the 32-bit MKL25Z128VLK4 MCU from Freescale, and the nRF8001 from Nordic.


1) Can you easily turn this into a custom BLE device and adjust the profile / service / characteristic's to make the kind of device you require?

2) Can I prototype using your board and then buy bare nordic chips and put them on the PCB, or have you pre-programmed the nRF8001 in anyway and how will I replicate this if so?

Any advice here will be gratefully received.

Many thanks!

Tom

http://www.techyheadz.com

Tom_Techyheadz
 
Posts: 5
Joined: Fri Sep 26, 2014 5:00 am

Re: nRF8001 Bluefruit board as a custom BLE device?

by Tom_Techyheadz on Fri Sep 26, 2014 5:42 am

Just as a side note. MIDI is actualy UART data anyway, so I will be sending UART information over the link. The main thing here is getting the phone to detect the chip(s) as being a Bluetooth MIDI device.

Tom_Techyheadz
 
Posts: 5
Joined: Fri Sep 26, 2014 5:00 am

Re: nRF8001 Bluefruit board as a custom BLE device?

by Tom_Techyheadz on Sun Sep 28, 2014 4:40 am

Any takers?

Tom_Techyheadz
 
Posts: 5
Joined: Fri Sep 26, 2014 5:00 am

Re: nRF8001 Bluefruit board as a custom BLE device?

by Tom_Techyheadz on Mon Sep 29, 2014 4:04 pm

Can someone please tell me this at least cannot be answered here? Support says to use the forums but it's getting cold out here.

Tom_Techyheadz
 
Posts: 5
Joined: Fri Sep 26, 2014 5:00 am

Re: nRF8001 Bluefruit board as a custom BLE device?

by ktownsend on Mon Sep 29, 2014 10:30 pm

Unfortunately, I don't think anyone except Apple can answer because there is no standard MIDI over BLE service that has been accepted by the Bluetooth SIG and publicly documented. If there is a service from Apple that encapsulates MIDI over BLE in a specific way, it would likely mean having an NDA and license with Apple to get access to those specifications to know if the nRF8001 is appropriate or not. It does have some limitations as a chip (for example it can't do iBeacon because of limitations on the advertising packet size).

I'm afraid you'd have to point us to a specification containing the GATT Service and GATT Characteristics for the MIDI over BLE service or protocol, including the UUIDs, payload size and content, and some information on required refresh rate to comment. The current UART service that we use is a proprietary GATT Services and Characteristics designed by Nordic Semiconductors and documented on their website. All services and characteristics require the use of pre-defined UUIDs (which is how your phone know what it's talking to on the other end). Without that 'contract' there is no way to have a standard conversation that both parties understand.

Without more information and a published standard, the short answer is no you can't do this with the 8001 ... or /any/ BLE chip out there regardless of the capabilities. If you were able to provide documentation or reverse engineer the specific GATT service maybe we could comment, but without that information it's impossible to say.

PS: Ignoring the issues above, the answer to 1 is that, with the proper information, there is a chance the 8001 might work, but it definately wouldn't be easy and developping with the 8001 is non trivial due to the nature of the SDK and tools. It took us a reasonable amount of effort to bring this board up and the reason we provide the UART service is that it's the easiest way for people to transmit data to the phone without requiring custom GATT Services since the development burden is quite heavy the first time around. The answer to number 2 is that if you DID get something that you were able to make work based on the unknown specs, yes you could definitely buy chips direct from Nordic, but with no specs it's hard to say with 100% certainty that there isn't a gotcha in the nRF8001's design that would prevent this chip from working (again taking iBeacon as an example since you can't do iBeacon advertising with this chip).

ktownsend
 
Posts: 1447
Joined: Thu Nov 05, 2009 2:18 am

Re: nRF8001 Bluefruit board as a custom BLE device?

by Tom_Techyheadz on Tue Sep 30, 2014 4:13 am

Hi

Thanks for the extensive reply that was helpful. I was talking to a MIDI product engineer who seems to know the secret sauce. He said they have their own BLE profile with it's attributes, that obviously works with their software. But he also said iOS8 can recognise generic midi devices over BLE and assign them to any music software, same for Mac. Also that it's likely only a matter of time before it's opened up. I couldn't get any specifics from him, but they aparently use a UART service built around some custom UUIDs and a service(s).

I think he talks about this: http://9to5mac.com/2014/06/04/new-for-a ... ures-more/

I have been looking through some of the available code on mBed and found example code and libraries for BLE UART profile when using the nRF51822. In there I found all the UUIDs being defined for the service, as you stated by Nordic.

So I may go ahead and get an nRF51822, wait till some more info comes out on the MIDI BLE profile and see if I can hack it with mBed to be recognised.

Wish me luck!

Thanks again for getting back.

www.techyheadz.com

Tom_Techyheadz
 
Posts: 5
Joined: Fri Sep 26, 2014 5:00 am

Please be positive and constructive with your questions and comments.