Skip to content

Rewording, spelling corrections, word mark corrections and more. WIP #170

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 21 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/ISSUE_TEMPLATE/bug.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@ about: Create a github issue to fix an error in the docs
---

## Description

A clear and concise description of what the error is.

## Expected Behaviour

## Expected behavior
A clear and concise description of what you expected to see/read

## Screenshots

If applicable, add screenshots to help explain the issue
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/labs.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@ about: Create a github issue to add your research or project to tech.microbit.or

---

Edit as neccessary
Edit as necessary

### Example Project

![Image](https://images.unsplash.com/photo-1552581234-26160f608093?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1050&q=80){:style="max-width: 50%;"}

**Project abstract:** A brief summary of the project to help people reading this to understand it.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Microbit Developer Community Docs

These docs form the content that is rendered into the [micro:bit Developer Commmunity site](http://tech.microbit.org)
These docs form the content that is rendered into the [micro:bit Developer Community site](http://tech.microbit.org)

## Using these docs

Expand Down
18 changes: 8 additions & 10 deletions accessories/making-accessories.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,25 +22,23 @@ to plug in and remove the board.
There are limitations to the current that can be drawn from the micro:bit, and accessories must be designed carefully to ensure they do not damage the micro:bit, or that the micro:bit cannot damage them.

### V2 revision
The edge connector on the <span class="V2">V2</span> board revision is backwards compatible with the <span class="v1">v1</span> edge connector, but has additional dedicated pins.

The edge connector on the <span class="V2">V2</span> board revision is backwards compatible with the <span class="v1">v1</span> edge connector, but includes additional dedicated pins.

* Details of the [edge connector and pinout](/hardware/edgeconnector)
* Details about [powering things from the board](/hardware/powersupply)

## Battery Pads

There are two lozenge shaped pads on the back of the micro:bit. These allow you to connect a battery holder via a mechanism other than the JST connector.

There are two rounded-rectangle pads on the back of the micro:bit. These allow you to connect a battery holder directly, instead of via the JST connector.

![Picture of the two lozenges](/docs/accessories/assets/making-accessories-d7c25.png)
![Picture of the two rounded-rectangle pads](/docs/accessories/assets/making-accessories-d7c25.png)

### V2 revision
In the <span class="v2">V2</span> board revision, the 3V lozenge is connected to the 3V ring on the edge connector.

- If you make an accessory that uses the lozenges, it must be protected from reverse charging
when the board is powered by USB, battery or edge connector.
- You can now source power from the lozenges if you are making an accessory, as they are consistent with the power architecture of the edge connector.

Due to the addition of a speaker, current accessories that use the lozenges to power the micro:bit will no longer fit.
In the <span class="v2">V2</span> board revision, the 3V lozenge is connected to the 3V ring on the edge connector.

- If you make an accessory that uses the rounded-rectangle pads, it must be protected from reverse charging when the board is powered by USB, battery or edge connector.
- You can now source power from the rounded-rectangle pads if you are making an accessory. They are consistent with the power architecture of the edge connector.

Due to the addition of a speaker, current accessories that use the rounded-rectangle pads to power the micro:bit will no longer fit.
10 changes: 4 additions & 6 deletions bluetooth/apps-and-examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,9 @@ 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)


## Applications, tools and examples


[Android App](https://play.google.com/store/apps/details?id=com.samsung.microbit) faciliates [pairing and flashing programs to the micro:bit](https://support.microbit.org/en/support/solutions/articles/19000051025-pairing-and-flashing-code-via-bluetooth)
[Android App](https://play.google.com/store/apps/details?id=com.samsung.microbit) facilitates [pairing and flashing programs to the micro:bit](https://support.microbit.org/en/support/solutions/articles/19000051025-pairing-and-flashing-code-via-bluetooth)

[iOS App](https://apps.apple.com/gb/app/micro-bit/id1092687276)faciliates [pairing and flashing programs to the micro:bit](https://support.microbit.org/en/support/solutions/articles/19000051025-pairing-and-flashing-code-via-bluetooth)

Expand All @@ -33,15 +31,15 @@ if you know of any more. Many listed here are take from the [micro:bit Awesome l

[micro:bit Blue App for Android](https://github.com/microbit-foundation/microbit-blue)

[droidscript microbit](http://www.microbit-js.org/controlling-microbit-with-droidscript/)
[droidscript micro:bit](http://www.microbit-js.org/controlling-microbit-with-droidscript/)

[droidscript plugin](http://www.microbit-js.org/installing-the-microbit-plugin-for-droidscript/)

[Kitronik Move](https://play.google.com/store/apps/details?id=com.kitronik.blemove) - Android app that presents a D-Pad interface to control a micro:bit over Bluetooth LE.

[Workbench](https://edu.workbencheducation.com/partners/microbit) is amulti-device coding canvas for block-based programming that connects with BLE devices via Chrome Web Bluetooth.
[Workbench](https://edu.workbencheducation.com/partners/microbit) is a multi-device coding canvas for block-based programming that connects with BLE devices via Chrome Web Bluetooth.

[microBit.js](https://github.com/antefact/microBit.js) - JavaScript library to interact with BBC micro:bit using web bluetooth API.
[microBit.js](https://github.com/antefact/microBit.js) - JavaScript library to interact with BBC micro:bit using web Bluetooth API.

[microbit-web-bluetooth](https://github.com/thegecko/microbit-web-bluetooth) - Web Bluetooth library implementing the micro:bit Bluetooth Profile.

Expand Down
28 changes: 12 additions & 16 deletions bluetooth/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,44 +8,40 @@ permalink: /bluetooth/
ref: bluetooth
lang: en
---

# Overview
The micro:bit processor has an on board
[Bluetooth](http://blog.bluetooth.com/a-developers-guide-to-bluetooth/) transceiver. This is combined with a PCB trace aerial and other minor components alongside a software stack that gives
the micro:bit a certified and credible Bluetooth capability.

The micro:bit processor has an on board [Bluetooth](http://blog.bluetooth.com/a-developers-guide-to-bluetooth/) transceiver. This is combined with a PCB trace aerial and other minor components alongside a software stack that gives the micro:bit a certified and credible Bluetooth capability.

## Bluetooth software stack

<span class="v1">v1</span> Nordic Semiconductor [Soft Device S110](https://www.nordicsemi.com/Software-and-Tools/Software/S110)
<span class="v2">V2</span> Nordic Semiconductor [Soft Device S140](https://www.nordicsemi.com/Software-and-tools/Software/S140) . We may switch to [S113](https://www.nordicsemi.com/Software-and-tools/Software/S113) and [S122](https://www.nordicsemi.com/Software-and-tools/Software/S122) at compile time to save flash memory (if this affects anything you are working on please [contact micro:bit support](https://support.microbit.org/en/support/tickets/new)).


Using Bluetooth, you can connect to other devices and send and receive
data from and to the micro:bit.
Using Bluetooth, you can connect to other devices and send and receive data from and to the micro:bit.

## micro:bit Bluetooth Features

Bluetooth features available on the micro:bit are defined in a
[Bluetooth profile](/bluetooth/profile). The micro:bit supports one, custom developed profile.
Bluetooth features available on the micro:bit are defined in a [Bluetooth profile](/bluetooth/profile). The micro:bit supports one, custom-developed, profile.

## Bluetooth and the micro:bit software

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.
[MakeCode](https://makecode.microbit.org/reference/bluetooth) contains a set of blocks to make use of the various micro:bit services.

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++.
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++.

## Apps

[Android App](https://play.google.com/store/apps/details?id=com.samsung.microbit) faciliates [pairing and flashing programs to the micro:bit](https://support.microbit.org/en/support/solutions/articles/19000051025-pairing-and-flashing-code-via-bluetooth)
[Android App](https://play.google.com/store/apps/details?id=com.samsung.microbit) facilitates [pairing and flashing programs to the micro:bit](https://support.microbit.org/en/support/solutions/articles/19000051025-pairing-and-flashing-code-via-bluetooth)

[iOS App](https://apps.apple.com/gb/app/micro-bit/id1092687276)faciliates [pairing and flashing programs to the micro:bit](https://support.microbit.org/en/support/solutions/articles/19000051025-pairing-and-flashing-code-via-bluetooth)

[Swift Playgrounds](https://github.com/microbit-foundation/microbit-swift-playgrounds) contains a Playground Book available in the Swift app and a micro:bit Swift API to develop further resources

Scratch.

## Links

[Bluetooth Specification](https://www.bluetooth.com/specifications/adopted-specifications)


32 changes: 8 additions & 24 deletions bluetooth/profile.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,9 @@ lang: en

## Overview

The micro:bit supports Bluetooth via a single BBC micro:bit profile
which was custom developed for the device. This profile
allows it to communicate with other BLE capable devices.

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-)
The micro:bit supports Bluetooth via a single BBC micro:bit profile, which was custom developed for the device. This profile allows it to communicate with other BLE capable devices.

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-)

## BBC micro:bit Bluetooth Profile

Expand All @@ -36,36 +32,24 @@ There are also some example programs in the [microbit-samples](https://github.co
[bluetooth-eddystone-url]https://github.com/lancaster-university/microbit-samples/tree/master/source/examples/bluetooth-eddystone-url
[bluetooth-uart]https://github.com/lancaster-university/microbit-samples/tree/master/source/examples/bluetooth-uart

The micro:bit has a Bluetooth 4.1 stack with Bluetooth Low Energy (BLE) and supports
the [GAP Perhipheral Role](https://bluetooth-developer.blogspot.com/2016/07/microbit-and-bluetooth-roles.html).
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).

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.
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.
These are called **channels** and numbered **0 to 39**.
Channels 37, 38 and 39 are used for advertising.
Channels 37, 38 and 39 are used for "advertising".

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.
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.

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.
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.

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)


## Challenge

It would be possible for anyone with the appropriate knowledge to define and
implement other Bluetooth profiles. You would need to use the Mbed C/C++ environment
to do this.
It would be possible for anyone with the appropriate knowledge to define and implement other Bluetooth profiles. You would need to use the Mbed C/C++ environment to do this.

We are seeking collaborators to help us define the new profile elements that expose some of the <span class="v2">V2</span> features.


## Further information

[Martin Woolley's Bluetooth Blog](https://bluetooth-developer.blogspot.com/) has a range of information on using Bluetooth with micro:bit
Expand Down
19 changes: 7 additions & 12 deletions community/slack.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,7 @@ ref: community
lang: en
---

The micro:bit community is already spread across the world, building cool things
with micro:bits and building the software that runs on them. Many micro:bit hardware and software resources are openly licensed, and we want to encourage and support
contributions from anyone interested.
The micro:bit community is already spread across the world, building cool things with micro:bits and building the software that runs on them. Many micro:bit hardware and software resources are openly licensed, and we want to encourage and support contributions from anyone interested.

If you'd like to be part of the world-wide micro:bit developer community, then there are a couple of ways you can do this.

Expand Down Expand Up @@ -41,12 +39,9 @@ If you'd like to join the slack channel, please fill in the form below. This for
</iframe>

## Other channels and communities
In addition to the Foundation's own channels of communication, there are many other online communities of support.

- [MakeCode micro:bit forum](https://forum.makecode.com/c/microbit/11)
Connect with the MakeCode team for more technical details regarding developing micro:bit extensions
or working on the MakeCode editor.
- [Mu Gitter](https://gitter.im/mu-editor)
Gitter chat is similar to Slack and aimed at developers using [Mu](https://codewith.mu/)
- [/r/microbit](https://www.reddit.com/r/microbit)
A reddit discussion on micro:bit

In addition to the Foundation's own channels of communication, there are many other online support communities.

- [MakeCode micro:bit forum](https://forum.makecode.com/c/microbit/11) Connect with the MakeCode team for more technical details regarding developing micro:bit extensions or working on the MakeCode editor.
- [Mu Gitter](https://gitter.im/mu-editor) Gitter chat is similar to Slack and aimed at developers using [Mu](https://codewith.mu/)
- [/r/microbit](https://www.reddit.com/r/microbit) A reddit discussion on micro:bit
Loading