Add Bluetooth Low Energy (BLE) to Spark Core

Hello I am really new in hardware development and I would like to know if it possible to add bluetooth low energy to the spark core. Do I need to buy a Shield Shield in order to transform the spark core in arduino? Or can I do this directly?

Thanks in advance.

1 Like

You can definitely interface a bluetooth module with the :spark: Core. Any module with an I2C, SPI or UART interface (operating at 3.3V can be directly connected) The shield shield makes it easy to interface already existing bluetooth shields made for arduino (that operate at 5V).

For example:

Something like this: can be directly interfaced (untested)

Something like this: will require a Shield Shield

Hope this helps.

1 Like

is there demand for a miniaturized version of the BLE-Shield or an even bigger BLEbee which is pin compatible with the Spark Core, it would be worth thinking to create such a thing. Not a big deal.

Any futher feature demands for such a BLE board?



I guess obvious use would be as a gateway BLE<–> internet.
Such a power consumption mismatch though. Could BLE power up the Spark Core as required? Not too practical I guess.
Hmmm, how else could the two technologies compliment each other? iBeacon/ANCS? iBeacon, Hmmmm!

Also Dr. Michael, a “feature demand” might be for you to get “type acceptance” from MFi for iBeacon usage of any hardware under the new rules (as of yesterday). It’s free I think. :-} But probably impossible.

First of it thanks for the quick answers of all of you.
I am really new in hardware development. And I am trying to understand how it work.
My goal is to produce an hardware based on the spark core that can connect with smarthphones using BLE.

@mkroll Is the BLEbee can be directly using with the Spark Core?

@mohit The module you mentioned from Sparkfun is up to Bluetooth 2.1, but is not BLE

Yes, bad choice for an example. The point I was trying to make was that if you were to use a BLE module that can run at 3.3V, then one can directly interface it to the :spark: Core without the need for a Shield Shield.

Thanks for the correction!

Where can I found a tutorial or a course to learn how interface external part with the spark core ?

If you have the spark shield then you may be able to use the BLEshield from RedBearLabs. It is a implementation of Bluetooth 4.0 (BLE).

Do you mean the shield shield ? If yes I don’t have it. And would like to interface BLE directly to the spark core.

If you have little experience developing on embedded platforms or electronics in general, I would suggest undertaking some simpler projects before jumping on to BLE, etc.

Sparkfun has excellent set of tutorials:

These tutorials go from basics to advanced in a nice progression. You can jump to wherever you want. It also has a nice section on bluetooth and interfacing.

Hope this helps.

We have integrated the Nordic Semiconductor nRF8001 module with the spark core and have provided a simple UART over BLE interface to connect the Spark core to a phone. The BLE can be used to get WiFi credentials and also to return debug information for issues the Spark have when connecting to WiFi.
So this is useful for troubleshooting and is an easier method to set WiFi credentials.

This is now available as a library (NRF8001-BLE-UART-SPARK-IO) so you can play with it.

You can use the Adafruit BLE module or the Rebearlab shield to or the Jaycon nRF8001 breakout board to connect to the Spark core.
More documentation is on our github repo for the NRF8001-BLE-UART-SPARK-IO library.

You can use the nRF UART apps in the Apple app store and Google play to communicate over BLE to the Spark Core.

Please remember that in today’s spark configuration, the Core checks WiFi before it runs the BLE module, so getting WiFi credentials over BLE would require that the BLE library is run before checking the WiFi.


Wow @daviddedwin,

great job! Just wondering if you can share more information on why you are integrating them? :wink:

I have a BLE shield on my TO-DO list and would be great to hear your experience!

Like, aren’t you worried about co-existence for Wifi and BLE?


In this integration, we will use the Phone to push WiFi credentials to the Spark at that point. WiFi interference is not a problem when the Phone is connected to the same WiFi access point or can see the access point the Spark is going to get connected to. During this time the phone will manage the BLE and keep it clear of the WiFi channels automatically.

During troubleshooting of WiFi the BLE can send status information of the WiFi to the end user’s phone so this provides a better interface, than just the LED.


It sounds like i finally can open my RFduino parcel? :stuck_out_tongue:

I have the RFduino and Bean but the 1st time experience is kind of a turn off you know :wink:

Awesome! Thanks for sharing! Very excited to see what comes from this! :slight_smile:

This is a wonderful project @daviddedwin!. I can’t wait to get Adafruit BLE BOB and use it.

My son has a disability and constantly misplaces his binder around school. I’ve 3D printed a three-ring binder case for the spark and battery. I was hoping to use the school’s wifi/routers to pinpoint where the binder is (closest IP address). That proved to be impossible with the school’s network and/or my programming fu.

I purchased six ibeacons hoping I could place them in the ceiling at various locations throughout the school and somehow get the spark (plus BLE) to send to the cloud the closest ibeacon id (I’m using estimotes). Would this (nRF8001 + library) possibly help me do this without a shield (trying to keep the whole package thin so it can fit inside the 3" binder rings)?

1 Like

Perhaps you could put a small piezo buzzer inside so you could go on sounds for the exact location, after you guesstimated it using the beacons. Just an idea though.