Skip to content

Commit

Permalink
Squashed 'docs/' changes from ae437c7..cd87b61 (#100)
Browse files Browse the repository at this point in the history
cd87b61 Merge branch 'master' of https://github.com/microbit-foundation/dev-docs
3229f78 update feature availibility
9cf9964 Update latest-revision-main.md (#209)
a7eb1ae Update edgeconnector.md: Fix badly rendered "V2" (#208)
6afa1e6 Correct spelling mistake (#210)
1af07f4 update CODAL info
c72e636 Brand tidy up: v1 v2 > V1 V2
3f33b0f add audio expression api
8ac53a3 update BLE profile roles
38464b4 Update Soft Device SD140 > SD113 (#198)
0f1b15d add new brand guidelines info
3d3c6ed fix links
8260131 fix links
504c6df remove link to uhex spec as it 404s
bee772f remove link to python mailing list
ce75bb4 remove duplicate MakeCode
21c6a16 update table 200mA > 190mA
9cffab0 Update info on MakeCode blocks
cc01c0f Latest updates for MakeCode and DAPLink (#193)
18ff8f7 Update hex-format.md: add missing space (#190)
af73c3c Update apps-and-examples.md: add missing space (#189)
1f7d600 Spelling mistake (#186)
b24c88f Re-phrasing bluetooth section (#181)
4007b76 Rephrase "lozenge" to "rounded rectangular" (#180)
f8ca9aa Merge pull request #179 from Gadgetoid/spelling
afe3441 Spelling and consistency tweaks
7b0e132 Merge pull request #175 from Gadgetoid/doc-consistency
ac8b131 Consistent use of whitespace and Markdown formatting
670d1f1 Remove hard linebreaks and trailing whitespace (#174)
6be457a update iOS beta instructions (#173)
1b2f2ec Update DAPLink error message (#171)
955cf1a spelling

git-subtree-dir: docs
git-subtree-split: cd87b61
  • Loading branch information
microbit-mark authored Nov 11, 2020
1 parent 83287af commit db55b4e
Show file tree
Hide file tree
Showing 18 changed files with 64 additions and 62 deletions.
2 changes: 1 addition & 1 deletion accessories/making-accessories.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ There are limitations to the current that can be drawn from the micro:bit, and a

### 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 has additional dedicated pins.

- Details of the [edge connector and pinout](/hardware/edgeconnector)
- Details about [powering things from the board](/hardware/powersupply)
Expand Down
2 changes: 1 addition & 1 deletion bluetooth/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ The micro:bit processor has an on-board [Bluetooth](http://blog.bluetooth.com/a-

## Bluetooth software stack

<span class="v1">v1</span> Nordic Semiconductor [Soft Device S110](https://www.nordicsemi.com/Software-and-Tools/Software/S110)
<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 S113](https://www.nordicsemi.com/Software-and-tools/Software/S113)

Using Bluetooth, you can connect to other devices and send and receive data from and to the micro:bit.
Expand Down
2 changes: 1 addition & 1 deletion bluetooth/profile.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ There are also some example programs in the [microbit-samples](https://github.co

- [bluetooth-uart](https://github.com/lancaster-university/microbit-samples/tree/master/source/examples/bluetooth-uart)

The micro:bit has a <span class="v2">v2</span>Bluetooth 5.0/<span class="v1">v1</span>Bluetooth 4.1 stack with Bluetooth Low Energy (BLE) and supports the <span class="v1">v1</span>[GAP Peripheral Role](https://bluetooth-developer.blogspot.com/2016/07/microbit-and-bluetooth-roles.html) and <span class="v2">v2</span> GAP Peripheral and Central device roles.
The micro:bit has a <span class="v2">V2</span>Bluetooth 5.0/<span class="v1">V1</span>Bluetooth 4.1 stack with Bluetooth Low Energy (BLE) and supports the <span class="v1">V1</span>[GAP Peripheral Role](https://bluetooth-developer.blogspot.com/2016/07/microbit-and-bluetooth-roles.html) and <span class="v2">V2</span> GAP Peripheral and Central device roles.

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

Expand Down
2 changes: 1 addition & 1 deletion hardware/1-5-revision.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ A software algorithm in the standard runtime uses the on-board accelerometer to
The compass must be calibrated before use, and the calibration process is automatically initiated by the runtime software.
This device is connected to the application processor via the I2C bus.

The v1.5 micro:bit has a footprint for two different motion sensors: one made by ST (the LSM303AGR) and one by NXP (FXOS8700CQ). The micro:bit DAL supports both of these sensors, detecting them at runtime. To date, all v1.5 boards have been manufactured with the LSM303AGR. If we were to move to the NXP part, a round of testing would be required and we would notify the [DAL and Devices mailing list.](http://eepurl.com/dyRx-v)
The V1.5 micro:bit has a footprint for two different motion sensors: one made by ST (the LSM303AGR) and one by NXP (FXOS8700CQ). The micro:bit DAL supports both of these sensors, detecting them at runtime. To date, all V1.5 boards have been manufactured with the LSM303AGR. If we were to move to the NXP part, a round of testing would be required and we would notify the [DAL and Devices mailing list.](http://eepurl.com/dyRx-v)

| item | details
| --- | ---
Expand Down
6 changes: 3 additions & 3 deletions hardware/edgeconnector.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Only the pins on the front are connected to signals. The back rings are connecte
The diagrams below show the assignation of the micro:bit pins. On the <span class="v2">V2</span> board revision
Pin 9 is no longer jointly shared with the LED display, but Pin 8 and Pin 9 can be configured for NFC (though this is disabled by default).

| V2 | v1
| V2 | V1
| ---- | ----
| ![edge connector V2](/docs/hardware/assets/edge-connector-2.svg) | ![edge connector v1](/docs/hardware/assets/edge_connector.svg)

Expand All @@ -40,7 +40,7 @@ Pin 9 is no longer jointly shared with the LED display, but Pin 8 and Pin 9 can

### Pins and Signals

[V2](#pins-and-signals){: #V2-button .btn.sm-btn .variation} [v1](#pins-and-signals){: #v1-button .btn.sm-btn}
[V2](#pins-and-signals){: #V2-button .btn.sm-btn .variation} [V1](#pins-and-signals){: #v1-button .btn.sm-btn}

This table shows various data about each of the pins on the micro:bit edge connector.

Expand Down Expand Up @@ -219,7 +219,7 @@ NOTE 2: A common way that the maximum pin voltages can be exceeded, is to attach

NOTE 3: The pin marked 'ACCESSIBILITY' is used to enable/disable an on-board accessibility mode, and should not be used for anything else (even though it can be used as a GPIO for testing). Future versions of the official micro:bit editors may remove the ability to write to this pin.

NOTE 4: The BBC suggest in the safety guide, that the maximum current you can draw from the whole edge connector at any one time is <span class="v1">v1</span>90mA. This is set based on the 30mA budget for on-board peripherals, and the fact that the on-board regulator of the KL26 when powered from USB is rated at a maximum of 120mA. On the latest board revision the maximum current is <span class="V2">V2</span>270mA, though it is possible that the on-board mic and speaker can draw more current, so this value is TBC.
NOTE 4: The BBC suggest in the safety guide, that the maximum current you can draw from the whole edge connector at any one time is <span class="v1">V1</span>90mA. This is set based on the 30mA budget for on-board peripherals, and the fact that the on-board regulator of the KL26 when powered from USB is rated at a maximum of 120mA. On the latest board revision the maximum current is <span class="v2">V2</span>270mA, though it is possible that the on-board mic and speaker can draw more current, so this value is TBC.

### NRF52

Expand Down
8 changes: 4 additions & 4 deletions hardware/i2c-shared.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ lang: en

The motion sensors on the board are on the same I2C bus as the edge connector I2C pins. This means that if you have an accessory that uses I2C on this bus, you need to check it won’t clash with any of the possible on-board sensors. The [latest board revision does not share the I2C bus](../i2c/).

The v1.5 micro:bit has a footprint for two different motion sensors: one made by ST (the LSM303AGR) and one by NXP (FXOS8700CQ). The micro:bit DAL supports both of these sensors, detecting them at runtime. To date, all v1.5 boards have been manufactured with the LSM303AGR, however we may switch to the NXP part. Before doing so we will perform a round of testing and notify the [DAL and Devices mailing list.](http://eepurl.com/dyRx-v)
The V1.5 micro:bit has a footprint for two different motion sensors: one made by ST (the LSM303AGR) and one by NXP (FXOS8700CQ). The micro:bit DAL supports both of these sensors, detecting them at runtime. To date, all V1.5 boards have been manufactured with the LSM303AGR, however we may switch to the NXP part. Before doing so we will perform a round of testing and notify the [DAL and Devices mailing list.](http://eepurl.com/dyRx-v)

### I2C block diagram

Expand All @@ -23,9 +23,9 @@ The v1.5 micro:bit has a footprint for two different motion sensors: one made by

| | accelerometer | magnetometer (compass) |
|---------------------|------------------|------------------------|
| micro:bit v1.3 (MMA8653+MAG3110) | 0x1D (0x3A/0x3B) | 0x0E (0x1C/0x1D) |
| micro:bit v1.5 variant 1 (LSM303AGR) | 0x19 (0x32/0x33) | 0x1E (0x3C/0x3D) |
| micro:bit v1.5 variant 2 (FXOS8700CQ) | 0x1F (0x3E/0x3F) | 0x1F (0x3E/0x3F) |
| micro:bit V1.3 (MMA8653+MAG3110) | 0x1D (0x3A/0x3B) | 0x0E (0x1C/0x1D) |
| micro:bit V1.5 variant 1 (LSM303AGR) | 0x19 (0x32/0x33) | 0x1E (0x3C/0x3D) |
| micro:bit V1.5 variant 2 (FXOS8700CQ) | 0x1F (0x3E/0x3F) | 0x1F (0x3E/0x3F) |

Overall, this means 0x1D, 0x0E (from v1.3), 0x1F and 0x19 (for the revision) are reserved for on-board use.

Expand Down
4 changes: 2 additions & 2 deletions hardware/power-consumption.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ lang: en

## Power modes

The micro:bit v2 <span class="v2">V2</span> board revision has a range of modes that enable us to conserve power, for example when the board is not being used or when it is powered by battery pack.
The micro:bit V2 <span class="v2">V2</span> board revision has a range of modes that enable us to conserve power, for example when the board is not being used or when it is powered by battery pack.

### Awake

Expand All @@ -35,6 +35,6 @@ Inserting a USB power lead will also wake the device.

## LED display

The LED display on the <span class="v2">V2</span> board revision is also brighter than previous revisions, so when using at full brightness you will notice faster battery drain than an equivalent program on a <span class="v1">v1</span> board.
The LED display on the <span class="v2">V2</span> board revision is also brighter than previous revisions, so when using at full brightness you will notice faster battery drain than an equivalent program on a <span class="v1">V1</span> board.

See our tips on [prolonging battery life](https://support.microbit.org/en/support/solutions/articles/19000087231-prolonging-battery-life)
12 changes: 6 additions & 6 deletions hardware/powersupply.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ Power from the micro:bit can be provided by the 3V and GND pins to small externa

It's is important to stay within the design parameters of the board:

- When powered from USB, the on-board interface chip (KL26<span class="v1">v1</span>/KL27<span class="v2">V2</span>) uses its on-chip regulator to provide power, and this chip is rated at a maximum of 120mA.
- When powered from USB, the on-board interface chip (KL26<span class="v1">V1</span>/KL27<span class="v2">V2</span>) uses its on-chip regulator to provide power, and this chip is rated at a maximum of 120mA.

- The on-board current budget will vary depending on the use of the display, the Bluetooth, microphone, speaker and other peripherals. You should allow a worst case budget of 30mA for when all on-board peripherals are in use, leaving <span class="v1">v1</span>90mA/<span class="v2">V2</span>270mA for circuits plugged into the edge connector.
- The on-board current budget will vary depending on the use of the display, the Bluetooth, microphone, speaker and other peripherals. You should allow a worst case budget of 30mA for when all on-board peripherals are in use, leaving <span class="v1">V1</span>90mA/<span class="v2">V2</span>270mA for circuits plugged into the edge connector.

- When powered from a battery, the KL chip is not powered up and the USB Indicator LED will not light up.

Expand All @@ -34,7 +34,7 @@ It's is important to stay within the design parameters of the board:

As taken from each of the chip datasheets, it can be seen that different devices have slightly different operating voltage ranges and absolute maximum voltages. Manufacturers state the operating voltage range as well as the absolute maximum tolerable by the device. You should never exceed the operating voltage range of any of the devices.

### v1 revision
### V1 revision

| Device | min | max | absolutemax
|------------|-------|------|------------
Expand Down Expand Up @@ -62,9 +62,9 @@ This table implies an operating voltage range of the micro:bit device as a whole

<!-- TODO: Update these paragraphs to detail that 270mA is TBC budget for V2 -->

When powered from USB, the KL26 <span class="v1">v1</span> interface chip's on-board regulator is used to provide 3.3V to the rest of the board. The latest revision <span class="v2">V2</span> has a seperate regulator on the board.
When powered from USB, the KL26 <span class="v1">V1</span> interface chip's on-board regulator is used to provide 3.3V to the rest of the board. The latest revision <span class="v2">V2</span> has a seperate regulator on the board.

The [KL26 datasheet](http://www.nxp.com/docs/pcn_attachments/16440_KL26P64M48SF5_Rev.4.pdf)<span class="v1">v1</span> section 3.8.2, Table 30. "USB VREG electrical specifications" indicates the maximum current from the regulated supply is 120mA. Some of this current is required to run on-board devices, such as the KL26 itself, the nRF application processor, the motion sensor, and the LED display. When Bluetooth is enabled, the current consumption of the nRF increases slightly. You should budget your current requirements for anything you attach to the micro:bit <span class="v1">v1</span> to not exceed about
The [KL26 datasheet](http://www.nxp.com/docs/pcn_attachments/16440_KL26P64M48SF5_Rev.4.pdf)<span class="v1">V1</span> section 3.8.2, Table 30. "USB VREG electrical specifications" indicates the maximum current from the regulated supply is 120mA. Some of this current is required to run on-board devices, such as the KL26 itself, the nRF application processor, the motion sensor, and the LED display. When Bluetooth is enabled, the current consumption of the nRF increases slightly. You should budget your current requirements for anything you attach to the micro:bit <span class="v1">V1</span> to not exceed about
90mA to give enough safe headroom for worst case with all on-board peripherals in use.

This means that if you require more than 90mA from the edge connector, (e.g. driving lots of NeoPixels or a small motor) these should have power supplied to them externally. You can back-power the micro:bit via its 3V pad, but please be sure to use a properly regulated supply and a protection diode, as explained below, so that your micro:bit always has a supply within the operating range of all the on-board peripherals and the supplies are not able to power each other.
Expand Down Expand Up @@ -95,7 +95,7 @@ When powering from the 3V ring or the rounded rectangular pads on the PCB, you s

2. If powered from a voltage source that could generate a voltage higher than the maximum operating voltage of the micro:bit, fit some form of over voltage protection, or proper regulation.

### Power Supply Architecture v1
### Power Supply Architecture V1

The [schematic](/hardware/schematic/) shows the architecture of the power supply.
Key points to note are that there are two BAT60A diodes, one from the 3.3V supply from the KL26/27 interface chip, and one from the external battery connector.
Expand Down
12 changes: 6 additions & 6 deletions hardware/schematic.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ If you're looking to make something of your own based on the micro:bit, you migh

## Schematics

- [v1.3](https://github.com/bbcmicrobit/hardware/blob/master/V1.3B/SCH_BBC-Microbit_V1.3B.pdf)
- [v1.5](https://github.com/bbcmicrobit/hardware/blob/master/V1.5/SCH_BBC-Microbit_V1.5.PDF)
- [V1.3](https://github.com/bbcmicrobit/hardware/blob/master/V1.3B/SCH_BBC-Microbit_V1.3B.pdf)
- [V1.5](https://github.com/bbcmicrobit/hardware/blob/master/V1.5/SCH_BBC-Microbit_V1.5.PDF)
- [V2 TBC](#)

## V2 pinmap
Expand Down Expand Up @@ -70,27 +70,27 @@ Below, we've extracted some useful details about the hardware that anyone implem

### LEDS

The LED matrix is physically laid out as a 5x5. On the <span class="v2">V2</span> board this is implemented as a 5x5 matrix, but in the <span class="v1">v1</span>, this is implemented as a scanned matrix of 9x3 (i.e. 9 columns by 3 rows). Row 2 Col 8, and Row 2 Col 9 are not used.
The LED matrix is physically laid out as a 5x5. On the <span class="v2">V2</span> board this is implemented as a 5x5 matrix, but in the <span class="v1">V1</span>, this is implemented as a scanned matrix of 9x3 (i.e. 9 columns by 3 rows). Row 2 Col 8, and Row 2 Col 9 are not used.

The LED matrix is driven via a high-speed multiplex generated by application processor software.
This software also uses the LED Row and Col pins to implement the light sensing feature, as such you may see a difference in sensitivity between board revisions.
Some of the Columns appear on the edge connector, so if you want to use extra GPIO pins, you have to disable the display in software.

### Interface

The Interface sheet shows the KL26/<span class="v1">v1</span>KL27<span class="v2">v2</span> processor, which is an NXP microcontroller with an Arm processor, that implements the USB protocol for the USB connector. This provides a method for loading code onto the application processor, using a drag and drop interface.
The Interface sheet shows the KL26/<span class="v1">V1</span>KL27<span class="v2">V2</span> processor, which is an NXP microcontroller with an Arm processor, that implements the USB protocol for the USB connector. This provides a method for loading code onto the application processor, using a drag and drop interface.

The USB protocol handler on this processor implements a Mass Storage Class device in order to offer the drag and drop code load interface. It also provides a Connected Device Class that allows a serial port interface to be used across the USB.

The interface processor also contains an on-board regulator that steps down the USB voltage to 3.3V suitable for powering the rest of the micro:bit, and you can draw 120mA<span class="v1">v1</span>/300mA<span class="v2">V2</span> from this processor regulator. A TVS device is fitted to suppress ESD spikes and out of range voltages that could be present on the USB connector.
The interface processor also contains an on-board regulator that steps down the USB voltage to 3.3V suitable for powering the rest of the micro:bit, and you can draw 120mA<span class="v1">V1</span>/300mA<span class="v2">V2</span> from this processor regulator. A TVS device is fitted to suppress ESD spikes and out of range voltages that could be present on the USB connector.

This processor does not have any connection to the GPIO pins on the micro:bit.

### Sensors

There is one combined motion sensor IC on the micro:bit, that contains an accelerometer and a magnetometer. The accelerometer measures acceleration in 3 axes, and the magnetometer can be used as a compass, as well as a magnetic field detector.

The device is connected to the application processor [I2C bus](../i2c/), and for the <span class="v1">v1</span> revision this [I2C bus is also shared](../i2c-shared/) to two pins on the edge connector. I2C pull-up resistors are pre-fitted on the board.
The device is connected to the application processor [I2C bus](../i2c/), and for the <span class="v1">V1</span> revision this [I2C bus is also shared](../i2c-shared/) to two pins on the edge connector. I2C pull-up resistors are pre-fitted on the board.

The magnetometer can generate one processor interrupt for the application processor, and the accelerometer can generate two different processor interrupts for the application processor.

Expand Down
Loading

0 comments on commit db55b4e

Please sign in to comment.