Quick Start Guide – BC-B2 Button iBeacon

The following guide is suitable for this beacon only (BC-B2):

Thanks for ordering one of our products, and welcome to the fascinating world of iBeacons!

Note: If you have any questions about any of the following instructions, please feel free to CONTACT us any time. We are here to answer your questions or help in any way. Almost all emails are answered by senior support staff within hours. If you don’t receive an answer, check your spam folder.

99.3% of the problems that beginners have with beacons are just a simple misunderstanding of one of the concepts. Admittedly, the world of beacons is a bit confusing with all of the TX, interval, broadcast, UUID…technical words. In other words, don’t feel bad at all if you are a little confused at first. We tried to make it as clear as possible in the instructions below, but that requires lots of words, which sometimes can be a bit boring to read when you are excited about a new beacon you just received!

Another note: Before we do anything, it should be noted that you can use your beacon straight out of the box just by turning it on (see “turn ON the beacon” below). There is no absolute requirement to change the configuration settings.

This is very good advice for HomeAssistant users too. For your first beacon setup, just turn the beacon on. That’s it. Don’t try to adjust any settings until you have HA or the ESP working properly. If it’s not working, make adjustments on the HA or ESP first to try to solve the problem. The beacon is very rarely the source of the problem.

If you ever want to confirm that your beacon is working, use our KBeaconPro app to scan for it. If you see it on the scan screen, it’s working. (If you have set it to only broadcast after pushing the button, then you will need to push the beacon button first before using KBeaconPro to scan for it).


Turn ON the beacon

-Turn on the beacon by pressing and holding down the button for 3 seconds until the LED light flashes red once, then release the button. The LED lights located under the housing around the border of the button. The beacon is now ON and broadcasting.

-To turn OFF: By default, the BC-B2 button beacon is set to “Power Always On”. This means that the button can be used to turn the beacon on, BUT once it is on, the beacon can not be turned off using the button. This is done to prevent random users from accidentally turning the beacon off. If you want to turn it off , use the KBeaconPro app to connect to the button beacon, then select “Power Off” from the general settings page, then click OK on the warning pop-up. The beacon will then be OFF.

-But let’s assume you have still left it ON, and it is broadcasting now.

The BC-B2 button beacon is now broadcasting according to its default settings which will do the following:
-The button beacon will broadcast an iBeacon UUID once every 1022.5 milliseconds (1.0225 seconds). The iBeacon UUID which will be broadcast is 426C7565-4368-6172-6D42-6561636F6E73.
-Once you click the beacon button one time, the beacon will change its UUID to 426C7565-4368-6172-6D42-6561636F6E77 (notice the last digit is 7 whereas before it was 3). This will be broadcast every 1022.5 milliseconds for the next 20 seconds.
-After 20 seconds have elapsed, the UUID will change back to the normal UUID ending in 3.

Usage case ideas:
-Without adjusting anything on the beacon’s configuration, you could set your scanner to look for the button-triggered special UUID ending in 7. Once your scanner “sees” that UUID, it will know that someone has single-clicked the button. Your scanner could then trigger any number of automations on your home automation system after “seeing” the button click, such as opening a garage door, sending a message to someone, sending an email, turning on/off the lights in one room, arming your home alarm, etc.

Adjustment Ideas:

-If you don’t need to have the beacon broadcast when the button has NOT been pushed, you will save lots of battery power by changing the “Trigger Only Advertisement” setting to “YES” (see the deep dive page linked below for more details). Now the beacon will only broadcast for x seconds after the button is pressed.
-Once you do that you might change the button trigger broadcast interval to something shorter like 300 milliseconds in order to pound out more broadcasts per second. This will make it easier for your scanner to see the special trigger broadcast and result in a faster reaction time to the button press (of course, a lot of that reaction timing is reliant on your scanner’s settings too).

OK, let’s back up a bit and take a look at the beacon’s default settings:

Here are the actual default settings on the beacon:

Beacon Name: BCPro_(six digit number randomly assigned during production)
Advertising Interval: 1022.5
Advertising Flags: Connectable
TX Power: 0 dBm
Measured Power: -59


SLOT0: iBeacon (see image below)
iBeacon UUID: 426C7565-4368-6172-6D42-6561636F6E73
iBeacon Major ID: 3838
iBeacon Minor ID: 4949
Trigger Only Advertisement: No

SLOT1: Eddystone UID (see image below)
Eddystone Namespace ID: 0x626C7565636861726D31
Eddystone Instance ID: 0x000000000001
Trigger Only Advertisement: Yes (will only broadcast this slot after correct trigger is executed.)
BUT no trigger has been assigned to this slot, therefore it will never broadcast. We did this just so you can see what a UID broadcast config would look like. You can just leave this as is, and it will have no effect on the beacon. Or you can select Adv Type on the screen below then select Disable to disable this slot.

SLOT2: Eddystone URL (see image below)
URL: bluecharmbeacons.com
Trigger Only Advertisement: Yes (will only broadcast this slot after correct trigger is executed.)
BUT no trigger has been assigned to this slot, therefore it will never broadcast. We did this just so you can see what a URL broadcast config would look like. You can just leave this as is, and it will have no effect on the beacon. Or you can select Adv Type on the screen below then select Disable to disable this slot.


All you need to do now is to enter the above settings into your target app, scanner, home automation system, etc.

Reminder: As we described above, for demonstration purposes, we also configured the SLOT1 broadcast on this beacon to Eddystone UID and SLOT2 to Eddystone URL. They are both set to “Trigger only advertisement” which means they won’t broadcast unless triggered. But we have not set a trigger for either of these slots, so in effect, they won’t broadcast.

That’s it! 98.5% of the people using one beacon will not need to do anything else.


A General Overview of the BC-B2 Beacon’s Features

Before we get into the configuration stuff, let’s do a quick review of the features of the BC-B2:

The BC-B2 is capable of broadcasting several different types of broadcasts. The most commonly used type is standard iBeacon.

The BC-B2 has five different “slots” for broadcasting (slots are numbered 0 through 4). Most users will only use one slot, but if you wanted to, you could technically broadcast up to 5 different ID numbers all with different configurations. That gets complicated quickly, plus it uses lots of battery power, so let’s leave that aside for now.

The BC-B2 has a button trigger. You can set this beacon up to only broadcast after specific types of button clicks, or you can configure the beacon to broadcast normally all the time, but then to modify the broadcast UUID for a period of time after sensing the correct button press. Sort of like having one beacon broadcasting during normal times, then a “second” beacon broadcasting after sensing the correct button press. SLOT0 is set this way by default. So the beacon, fresh out of the box, will broadcast regular iBeacon UUID/Major/Minor all the time, then when the specified click is executed (single click at default settings), the beacon will continue broadcasting iBeacon format but with a slightly modified UUID so your scanner can “see” that the button has been pushed properly. More details about this on the “deep dive” webpage linked at the bottom of this page.

The BC-B2 has the typical adjustable broadcast power levels (called “TX” in beaconese), but it also has an additional “super weak” level of -40 and a strong level of +4. You can use these if you want the range of the beacon to be very short or very long. (Keep in mind though that this method for adjusting range is not precise. A much better approach is to adjust your scanner to only react to a beacon with a certain live measured signal strength.)

You can adjust the frequency of the beacon broadcasts that are sent out by the beacon (called “interval” in beaconese). More frequent broadcasts are easier for scanners/smartphones to “see”, but that also use more battery power. The default is one broadcast every 1022.5 milliseconds, i.e. one broadcast every 1.0225 seconds.

How to change the default configuration settings of the beacon

OK, so maybe you need to change one of the settings. For example, if you are using multiple beacons; you need to change the UUID just a little in order to make each beacon’s ID unique from the others in your collection. Follow the steps below to do that.

Step 1: Download the configuration app.

Scan the appropriate QR code below or search for KBeaconPro in the Apple App Store or Google Play Store. Be sure to search for KBeaconPro, NOT our other app which is called KBeacon. This is very important!




Android users should be sure to give the app Location permission AND also be sure that your Android smartphone’s Location Services are enabled. You can find these settings in your phone’s Settings menu, and typically in the Location sub menu (but of course, every brand of Android can be slightly different, so dig around in Settings until you find it).

Here’s a video that mirrors the instructions below; this video uses the BC04P beacon for the demo (not the BC-B2), so a few things are slightly different but mostly they are identical. If you want to just watch the video only, that’s fine, but it would be better if you also read the instructions below to absorb some of the key points.


Step 2: Open the app

Once you have installed the app, open the app on your phone. Tap the SCAN button in the upper right hand corner to begin scanning for beacons:


Two things to remember on this step:
-The scan will last for a certain period of time and then stop after that time has elapsed. The beacons on the screen will not change after that. New beacons will not appear on the screen after that. The restart the scan, press the SCAN button again in the upper right corner of the screen.
-Once the screen has a list of nearby beacons, it may or may not update that list depending on the type of smartphone. To avoid this trap, swipe down on the app screen to refresh the results. If time has already elapsed, you will also need to tap SCAN again. Wait a few moments for the results to be shown.

Summary: Be sure to tap SCAN to restart the scan, and be sure to swipe down the screen to refresh the results. These two reminders will solve 92.3% of your problems if you can not seem to find the beacon on your screen results.

Quick tip: As you can see in the screenshots above, I have used the results filter function. Otherwise, if you have lots of BLE things around you (oddly enough, I do!), your beacon may appear far down the list and be easy to overlook. On the Android version screenshot, I filtered by the MAC address of my target beacon’s MAC: DD340209C887 (you can find your beacon’s MAC printed on your beacon). On the iPhone version screenshot, I filtered by the last six digits of the name of my target beacon: 190446. You can use either method. Your particular beacon’s MAC and name are printed on the sticker attached to the beacon.

RSSI figures: A quick word about RSSI figures: On the scan screen of the KBeaconPro app, you can see the live RSSI signal strength measurement of the beacon as measured by the smartphone. For example, in the iOS screenshot above, the RSSI is measured as -52dBm. A distant beacon will show on the app screen with a “low” (weak) RSSI. Since RSSI figures are all negative numbers, a low RSSI would be -90, for example. A higher RSSI figure would be -27, for example. The further away from zero, in the negative direction, indicates that the signal is weaker, and thus we can infer that the beacon is further away from your phone.

iPhones don’t show UUID: Sharp-eyed readers might notice that the above screenshots have a difference on iPhone vs Android. iPhone’s don’t like to display the UUID for some strange reason. They can “see” it and react to it, but they don’t like to show it on an app scan screen. iPhones will gladly show the Major and Minor, so we can see those two numbers on the iPhone screenshot above (3838 and 4949). The Android screenshot, on the other hand, shows the UUID of the beacon as well as the major and minor. This gets a bit annoying when you have set the button beacon to broadcast all the time (normal UUID) but to slightly change the uuid after the correct button press has been executed. If you are using an iPhone, you won’t be able to see this UUID change on the scan screen of our app or any other iBeacon app. Sorry, this is an Apple restriction that we can not override.

Step 3: Connect to your beacon with the KBeaconPro app and change configuration

Tap on your beacon on the beacon scan screen in order to temporarily connect to it to change the configuration. Here’s what you will see next:


What you see above is the General Information page of the KBeaconPro app.

As a first learning example, let’s imagine we have two beacons, so we need to change the UUID of one of them in order for them to have unique ID numbers (i.e. different from each other).
-Tap on the info page where is shows SLOT0 iBeacon. This will open up the following Beacon Detail sub-menu:


Note: For demonstration purposes, on the BC-B2, we also configured the SLOT1 broadcast on this beacon to Eddystone UID and SLOT2 to Eddystone URL. They are both set to “Trigger only advertisement” which means they won’t broadcast unless triggered. But we have not set a trigger for either of these slots, so in effect, they won’t broadcast.

Now tap on the UUID. This will bring up the sub-menu (the UUID of your beacon will be different from the example screenshots below):

OK, so you could theoretically put a totally new number here, but let’s be lazy and just change the last two digits from F4 to F5.
-Once you have made that change, tap on the SAVE button in the upper right corner.
-This saves the changed UUID to the memory of the app, but it has not yet been uploaded to the beacon. This allows you to make multiple changes and then upload them all at one time. I don’t recommend you doing that until you are very familiar with your beacon, as it can get a bit confusing for new users to change multiple settings at one time.
-So now we have saved this new UUID in the app, let’s tap the BACK button (in the upper left corner of the app screen) to go back to the previous sub-menu. Then on that page, tap UPLOAD to upload the new UUID to the beacon.

-OK, we are done now. But don’t forget to disconnect from the beacon, otherwise it won’t broadcast. You can disconnect by tapping the left pointing arrow on the general info page of the app. You will then jump back to the main scan screen of the app.

-If you have an Android, you will see the beacon on that page, but perhaps the UUID will still show the old F4 version. If so, swipe your finger down the screen to refresh the scan. Then you will see the newly changed F5 version of the UUID.

If you are using an iPhone, you will only see “N/A” next to the UUID on the scan screen. That’s a security restriction of iPhones, but don’t worry; the UUID has been changed. If you want to double check, just connect to the beacon again, and go down the sub-menus to see the UUID. Don’t forget to tap the left pointing arrow when you are done to disconnect from the beacon.

Don’t forget to disconnect: Always be sure to disconnect from your beacon after making any changes to the configuration. As explained above, to disconnect, just tap the left pointing arrow in the upper left corner to be taken back to the main scan screen of the app. I can tell you from experience that quite a few users have skipped this step, remained connected to the beacon, and then got frustrated when the beacon was not broadcasting or triggering automations. The beacon must NOT be connected to your phone in order to broadcast properly.

OK, that’s it! You’ve successfully changed the UUID of your second beacon from the default F4 to a new F5 version. From a beacon scanner’s point of view, these ID numbers (though very similar to you and I) are totally different, and the scanner will consider them as two different beacons.

Next, if you are really interested in digging deeper, we will cover the configuration settings and options one by one. Unless you are trying to do something very specific and customized, you probably don’t need to read any further. Go forth and start using your beacon!

But just in case, here are all the gory default details below. Plus here’s a video showing how to change various settings. It shows how to reconfigure another one of our beacons (BC04P), so it doesn’t show the actual defaults settings of your BC-B2 button beacon, but you get the idea.

Default settings for the General Information app page items:

System Info (these fields is not changeable by the user)
System ID is the unique MAC address of each beacon (it’s also printed on the sticker on the outside of the beacon)
Model is the model number BC-B2
Hardware version
Firmware version

Beacon Name
Default is BCPro_(six digit number randomly assigned during production)
Name must be 17 ASCII characters or less

Measured Power (Calibrated RSSI when beacon is 1 meter away from scanner)
Default: -59 (automatically changes when the TX level is adjusted)
Changeable:
Advanced users only. We recommend that you do NOT make any adjustments to this number.

Power On Always
Default: No
When this is changed to “Yes”, the beacon’s button can no longer be used to turn the beacon off.

Modify Password
Default: 0000000000000000
Changeable: any password ranging from 8-16 ASCII characters
NOTE 1: It is NOT recommended for users to change the password. If you do change the password and forget what you changed it to, there is nothing we can do to help you. The beacon can NOT be reset to factory settings in order to get back to the default password.
NOTE 2: If you still want to change the password, please note that the password is stored in the beacon AND in the app. So when you use the app to connect to another beacon with a different password, you may initially see a “code 2” or “error 2” message indicating an incorrect password. If you do experience this problem, please use the app to change the password on your second beacon to the same password as your first beacon. In other words, if all the passwords are the same, it will be much easier. That said, we still recommend that you do NOT change the password. If you are concerned about security, change the Advertising Flag setting to unconnectable.

Trigger List
Default: Trigger0 = single click; all other triggers set to Null
Changeable: See trigger detailed instructions at the link below

Firmware Update
Click to check if an update is available. “Network error” means no update is available.

Power Off
Turns the beacon off without having to physically touch or access the beacon.

Reset Configuration
Resets the beacon back to its original default settings. This comes in handy when you have made a number of changes to the configuration which result in the beacon not working as you expected.
Note that after you reset the configuration back to default settings, the beacon will automatically turn off. Be sure to turn it back on again before scanning for it.

Click here to dig even deeper into the details of the various configuration settings of the BC-B2 including the motion trigger function.