You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: bluetooth/apps-and-examples.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@ lang: en
13
13
14
14
Bluetooth applications can run on a variety of devices, including but not limited to smart phones and tablets. You can also run Bluetooth enabled applications on devices such as a Raspberry Pi.
15
15
16
-
Below is a curated list of some Bluetooth applications you might like to read about and try for yourself with your micro:bit. Please contribute to this list if you know of any more. Many listed here are take from the [micro:bit Awesome list](https://github.com/carlosperate/awesome-microbit)
16
+
Below is a curated list of some Bluetooth applications you might like to read about and try for yourself on your micro:bit. Please contribute to this list if you know of any more. Many listed here are taken from the [micro:bit Awesome list](https://github.com/carlosperate/awesome-microbit)
Copy file name to clipboardExpand all lines: bluetooth/index.md
+4-3Lines changed: 4 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -24,13 +24,13 @@ Using Bluetooth, you can connect to other devices and send and receive data from
24
24
25
25
## micro:bit Bluetooth Features
26
26
27
-
Bluetooth features available on the micro:bit are defined in a [Bluetooth profile](/bluetooth/profile). The micro:bit supports one, customdeveloped profile.
27
+
Bluetooth features available on the micro:bit are defined in a [Bluetooth profile](/bluetooth/profile). The micro:bit supports one, custom-developed profile.
28
28
29
29
## Bluetooth and the micro:bit software
30
30
31
-
The [DAL/C++](https://lancaster-university.github.io/microbit-docs/ble/profile/#reference-documentation) lists the adopted and custom features available within the profile. [MakeCode](https://makecode.microbit.org/reference/bluetooth) contains a set of blocks to make use of the various micro:bit services.
31
+
The [DAL/C++ reference documentation](https://lancaster-university.github.io/microbit-docs/ble/profile/#reference-documentation) lists the adopted and custom features available within the profile. [MakeCode](https://makecode.microbit.org/reference/bluetooth) contains a set of blocks to make use of the various micro:bit services.
32
32
33
-
The processor also has a number of non-bluetooth proprietary modes of operation, on which we build the micro:bit radio protocol. This only works between micro:bits and is what is defined as 'Micro:bit Radio' in the DAL and 'radio' in MakeCode and MicroPython, as well as Mbed C++.
33
+
The processor also has several non-bluetooth, proprietary modes of operation upon which the micro:bit radio protocol is based. This protocol works only between micro:bits and is defined as 'Micro:bit Radio' in the DAL and 'radio' in MakeCode, MicroPython, and Mbed C++.
Copy file name to clipboardExpand all lines: bluetooth/profile.md
+14-13Lines changed: 14 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -11,37 +11,36 @@ lang: en
11
11
12
12
## Overview
13
13
14
-
The micro:bit supports Bluetooth via a singleBBC micro:bit profile which was custom developed for the device. This profile allows it to communicate with other BLE capable devices.
14
+
The micro:bit supports Bluetooth via a single, custom-developed, BBC micro:bit profile. This profile allows it to communicate with other BLE capable devices.
15
15
16
16
If you are looking for information about the 'radio' feature, it is a [proprietary protocol from Nordic and Lancaster University](https://lancaster-university.github.io/microbit-docs/ubit/radio/). This is not Bluetooth and the difference is described further in [this article on using the micro:bit wirelessly](https://support.microbit.org/support/solutions/articles/19000083637-using-the-micro-bit-wirelessly-)
17
17
18
18
## BBC micro:bit Bluetooth Profile
19
19
20
20
The BBC micro:bit[Bluetooth profile is defined in the DAL](https://lancaster-university.github.io/microbit-docs/ble/profile/)
21
21
22
-
You can flash a pre-compiled Hex files, to the micro:bit that enables bluetooth services.As Bluetooth is memory intensive, these are supplied as either 'without Magnetometer Service' or 'without DFU Service':
22
+
You can flash one of two pre-compiled Hex files to the micro:bit that enable bluetooth services.As Bluetooth is memory intensive, these are supplied as either 'without Magnetometer Service' or 'without DFU Service':
The DAL contains the [C++ source for the BLE service files](https://github.com/lancaster-university/microbit-samples/blob/master/source/examples/bluetooth-services/main.cpp)
28
28
29
29
There are also some example programs in the [microbit-samples](https://github.com/lancaster-university/microbit-samples) repository:
The micro:bit has a Bluetooth 4.1 stack with Bluetooth Low Energy (BLE) and supports the [GAP Peripheral Role](https://bluetooth-developer.blogspot.com/2016/07/microbit-and-bluetooth-roles.html).
36
38
37
-
As per all Bluetooth, it operates in the ISM (Industrial Scientific Medical) band and this starts at **2.4GHz and ends at 2.41GHz**. BLE divides the frequency band into 50 x 2MHz bands of which 40 are used.
38
-
These are called **channels** and numbered **0 to 39**.
39
-
Channels 37, 38 and 39 are used for “advertising”.
39
+
It operates in the ISM (Industrial Scientific Medical) band, as per all Bluetooth devices. This starts at **2.4GHz and ends at 2.41GHz**. BLE divides the frequency band into 50 x 2MHz bands of which 40 are used. These are called **channels** and numbered **0 to 39**. Channels 37, 38 and 39 are used for "advertising".
40
40
41
-
When devices are connected, they use the other channels in a particular sequence controlled by a feature called **adaptive frequency hopping**.
42
-
This helps reduce the impact of congestion from other radio users.
41
+
When devices are connected, they use the other channels in a particular sequence controlled by a feature called **adaptive frequency hopping**. This helps reduce the impact of congestion from other radio users.
43
42
44
-
Data transfer rates will only be a few 100K per second at best and it very much depends on how your application uses the Bluetooth features; lots of small temperature containing packets would have a lower data transfer rate than using the UART service, as it depends on the proportion of system protocol information vs. application data.
43
+
Data transfer rates will only be a few hundred Kilobytes per second at best, and throughput depends on how your application uses the Bluetooth features. Throughput depends on the proportion of system protocol overheads to application data. Lots of small packets containing - for example - temperature data would have a lower data transfer rate than using the UART service.
45
44
46
45
There are some useful [advanced configuration options in the micro:bit runtime code](https://lancaster-university.github.io/microbit-docs/advanced/#compile-time-options-with-yotta)
47
46
@@ -60,3 +59,5 @@ We are seeking collaborators to help us define the new profile elements that exp
60
59
-[Original micro:bit "Out of the Box" experience](https://support.microbit.org/a/solutions/articles/19000021613), including some of the attributes in the Bluetooth Profile
61
60
62
61
-[Full profile with the display unused](https://lancaster-university.github.io/microbit-docs/resources/microbit-1_4_17_pwr0.zip). If you want to write to the display over bluetooth then you should use this file instead of the 'Out of the Box' hex, which uses the display.
62
+
63
+
-[micro:bit radio API documentation](https://lancaster-university.github.io/microbit-docs/ubit/radio/)
0 commit comments