User Tools

Site Tools


Pro BLE/BT 4.0 Shield Kit Tutorial

Product Description:

ble1.jpg ble4.jpg

This is an unassembled kit and requires basic soldering. This is designed for use with the Digispark development board, which is not included.


Part Quantity Identification
Bluetooth/BLE Combo Shield PCB1
6 pin 0.1“ Right Angle Female Socket 1
HM-10 BLE Breakout Module 1
1x40pin male 0.1” pitch header 21 pins worth

Resistor Values: For more information on how to identify the value of the resistors we recommend these sites: A nice simple resistor calculator: A comprehensive article on identification:

Soldering: If you are new to soldering we recommend the following tutorials: Soldering Basics ( and Soldering Crash Course from the folks at Sparkfun ( How to solder from the Curious Inventor:

Adafruit has this excellent guide that starts with the tools needed and then shows detailed pictures, including some of the common problems that beginners experience (

We assume for these assembly instructions that you know the basics of thru-hole soldering. If you don't check out the links above, these boards are very easy to solder - we promise!


Empty kit bag (or if using a raw PCB, acquire parts) and verify contents.


Insert 6 pin right angle socket into top of PCB - insert it into the set of 6 holes that say “BLE BT4” below them - this is the second set from the right edge of the board. Solder socket pins on the bottom of the board


Cut two lengths of male headers each 9 pins long and one 3 pins long. Insert into corresponding positions (on the bottom of the board) and solder each pin on the top.

Tip: Inserting the headers into a breadboard and then placing the board on top can make this process easier.

Note: If you are using stackable headers, use them here instead of the standard male headers.


Insert the HM-10 BLE breakout module into the 6 pin socket as shown.



For advanced AT commands (for changing name, etc) see the datasheet for the HM-10 module that is used on this shield: bluetooth40_en.pdf

For ANCS (Apple Notification Center Service) instructions see here (Note: Please use the forums for all ANCS support - we cannot support it directly as we do not have experience with it): digispark:tutorials:hm10ancs

Mobile app examples for Android and iOS (iOS development requires iOS dev setup or jailbroken phone)(phonegap/cordova based): (these can be edited with only a working knowledge of Javascript and HTML - see for more about how it all works)

Mobile Robot App for iOS - in ObjC - by Miirek:

Example changing DigiLED over BLE

Example has a bug. parseInt(); not included in Digispark loader.- Fixed in Digistump IDE Release 1.0+

Requires NeoPixel Library - see DigiLED tutorial

Android code to use with this:
iOS coming soon


#include <Adafruit_NeoPixel.h>

int red,green,blue;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(1, 1, NEO_RGB + NEO_KHZ800);

void setup() {
  strip.begin();; // Initialize all pixels to 'off'

  // initialize serial:
  Serial.begin(9600);//open connection to serial module


void loop() {
  // if there's any serial available, read it:
  while (Serial.available() > 0) {

    // look for the next valid integer in the incoming serial stream:
    int red = Serial.parseInt(); 
    // do it again:
    int green = Serial.parseInt(); 
    // do it again:
    int blue = Serial.parseInt(); 

    // look for the newline. That's the end of your
    // sentence:
    if ( == '\n') {
      // sends confirmation
      // constrain the values to 0 - 255
      red = constrain(red, 0, 255);
      green = constrain(green, 0, 255);
      blue = constrain(blue, 0, 255);
      // fill strip
      colorSet(strip.Color(red, green, blue), 0); 

// Fill strip with a color
void colorSet(uint32_t c, uint8_t wait) {
  for(uint16_t i=0; i<strip.numPixels(); i++) {
      strip.setPixelColor(i, c);
digispark/tutorials/ble.txt · Last modified: 2016/06/09 12:03 (external edit)