Skip to content
Merged
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
10 changes: 5 additions & 5 deletions accessories/making-accessories.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ A [list of available accessories](https://microbit.org/buy/accessories/) is main

## Using the Edge Connector

The micro:bit [card edge connector](/hardware/edgeconnector), commonly referred to as the 'edge connector' or the 'pins', is compatible with a standard 1.27mm, 2x40 edge connector socket.
The micro:bit [card edge connector]({{ "/hardware/edgeconnector" | relative_url }}), commonly referred to as the 'edge connector' or the 'pins', is compatible with a standard 1.27mm, 2x40 edge connector socket.

Where possible your accessory design should implement this socket, making it simple for your users to plug in and remove the micro:bit board.

There are [limitations to the current that can be drawn from the micro:bit](/hardware/powersupply), accessories must be designed carefully to ensure they do not damage the micro:bit, or that the micro:bit cannot damage them.
There are [limitations to the current that can be drawn from the micro:bit]({{ "/hardware/powersupply" | relative_url }}), accessories must be designed carefully to ensure they do not damage the micro:bit, or that the micro:bit cannot damage them.

- [micro:bit edge connector and pinout](/hardware/edgeconnector)
- [powering accessories from the micro:bit](/hardware/powersupply)
- [micro:bit edge connector and pinout]({{ "/hardware/edgeconnector" | relative_url }})
- [powering accessories from the micro:bit]({{ "/hardware/powersupply" | relative_url }})

### V2 revision

Expand All @@ -31,7 +31,7 @@ The edge connector on the <span class="V2">V2</span> board revision is backwards

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

![Picture of the two rounded rectangular pads](/docs/accessories/assets/making-accessories-d7c25.png)
![Picture of the two rounded rectangular pads]({{ "/docs/accessories/assets/making-accessories-d7c25.png" | relative_url }})

The upper pad is 0V or GND and the lower pad is 3V.

Expand Down
19 changes: 9 additions & 10 deletions blog/latest-revision-announcement.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ lang: en
Today we’re [announcing a new version of the BBC micro:bit](https://microbit.org/new-microbit/), adding a speaker, a microphone and the CPU power to run AI and Machine Learning workloads. With these additional capabilities, we are opening up the world of AI and ML to the same collaborative design and innovation that led to the original micro:bit’s success.

This article is a more technical companion to the [news over at microbit.org](https://microbit.org/new-microbit/).

![micro:bit V2 image](/docs/blog/assets/latest-revision/microbit-v2-tech-site.png){: width="600"}
![micro:bit V2 image]({{ "/docs/blog/assets/latest-revision/microbit-v2-tech-site.png" | relative_url }}){: width="600"}

Although the latest micro:bit isn’t available to buy yet, we’re talking about it now because the micro:bit isn’t about one organisation, or the official editors, or even one device.

Expand All @@ -34,7 +33,7 @@ At the Micro:bit Educational Foundation we are working with Lancaster University

## We’re building this together, not alone

![A wall of micro:bit accessories](/docs/blog/assets/latest-revision/accessory-wall-bett.jpg){: width="600"}
![A wall of micro:bit accessories]({{ "/docs/blog/assets/latest-revision/accessory-wall-bett.jpg" | relative_url }}){: width="600"}
*The wall of accessories displayed at BETT*

We recognise and support the huge contribution the wider micro:bit ecosystem makes to our community, and so we are making available all [key technical information about the new micro:bit](https://support.microbit.org/support/solutions/articles/19000119052-details-of-micro-bit-v2), and open source tools to make it easy to support in advance of the device being available to users.
Expand All @@ -49,11 +48,11 @@ We’ve compiled all this information on an updated version of tech.microbit.org

## Creating code for the latest micro:bit

The latest micro:bit supports all features of the original version so there are many cases where a user won’t need to distinguish between the devices; every tutorial or programme that already exists today is supported on the latest hardware. However, as the machine code that runs on the two devices is different, the latest micro:bit supports a new kind of hex. We’re calling it ‘[universal hex](/software/hex-format/)’: this contains the machine code for both versions of the micro:bit. Thanks to the fantastic support of NXP who have worked on [DAPLink](https://github.com/ARMmbed/DAPLink), the Arm project that enables the micro:bit USB interface, the latest micro:bit is able to choose which code it should use from the universal hex. The files are designed so the original micro:bits do not need any update to use them.
![Creation of a Universal Hex](/docs/blog/assets/latest-revision/uhex2.png)
The latest micro:bit supports all features of the original version so there are many cases where a user won’t need to distinguish between the devices; every tutorial or programme that already exists today is supported on the latest hardware. However, as the machine code that runs on the two devices is different, the latest micro:bit supports a new kind of hex. We’re calling it ‘[universal hex]({{ "/software/hex-format/" | relative_url }})’: this contains the machine code for both versions of the micro:bit. Thanks to the fantastic support of NXP who have worked on [DAPLink](https://github.com/ARMmbed/DAPLink), the Arm project that enables the micro:bit USB interface, the latest micro:bit is able to choose which code it should use from the universal hex. The files are designed so the original micro:bits do not need any update to use them.
![Creation of a Universal Hex]({{ "/docs/blog/assets/latest-revision/uhex2.png" | relative_url }})

To make the experience of developing programs for these universal hexes as seamless as possible we’ve deepened our collaboration with Arm, Lancaster University and [Microsoft Research](https://www.microsoft.com/en-us/research/project/the-bbc-microbit-and-microsoft/), who were [co-creators of the original micro:bit,](https://www.lancaster.ac.uk/news/articles/2016/lancaster-university-helps-bbc-get-kids-coding/). Because of the open source nature of [Lancaster’s CODAL](https://github.com/lancaster-university/codal), the evolution of the original microbit-dal, we had a ready platform to make the latest micro:bit work. We have also included a full compatibility layer for [microbit-dal](https://github.com/lancaster-university/microbit-dal), so that existing projects and environments can be easily recompiled to work on the latest board. On top of the careful compatibility work there’s plenty of exciting new features designed for the latest hardware, like an advanced SoundExpressions synthesiser and audio pipeline architecture.
![micro:bit Software Architecture with CODAL](/docs/blog/assets/latest-revision/software-overview-v2.svg){: width="600"}
![micro:bit Software Architecture with CODAL]({{ "/docs/blog/assets/latest-revision/software-overview-v2.svg" | relative_url }}){: width="600"}

MakeCode, MicroPython and Scratch are using CODAL to support the new device, and we recommend that anyone building software to run on the micro:bit do the same to ensure consistent experience across micro:bit editors. This will also ensure that as new features get added they can be incorporated easily and made available to users (it’s easy to forget that micro:bit radio wasn’t in the original micro:bit release!)

Expand All @@ -63,7 +62,7 @@ When it launched in 2015, one of the key goals of the original micro:bit was to

Part of ensuring this was putting the same hardware that real developers were using at the time into the hands of students. This is what has enabled some of the more incredible uses of the micro:bit: [Handwriting recognition using an optical mouse sensor](https://www.cs.ox.ac.uk/teaching/studentprojects/630.html); [use in a BLE mesh](https://docs.zephyrproject.org/latest/samples/bluetooth/mesh_demo/README.html), a [presentation remote](https://os.mbed.com/teams/microbit/code/microbit_presenter/), or a [custom piece of assistive technology.](https://hackaday.io/project/26143-handshake)

![Creation of a Universal Hex](/docs/blog/assets/latest-revision/nrf52833.jpg){: width="600"}
![Creation of a Universal Hex]({{ "/docs/blog/assets/latest-revision/nrf52833.jpg" | relative_url }}){: width="600"}

With the latest micro:bit, we’re doing this again: the [nRF52833](https://www.nordicsemi.com/Products/Low-power-short-range-wireless/nRF52833) is a modern, exciting part recently released by Nordic, and being used across the industry for new designs. It’s capable of running machine learning workloads, and so opens up a new realm of possibilities, both for applications of the device, but especially for helping to expose and demonstrate what machine learning really is: not magic, but sufficiently advanced application of technology.

Expand All @@ -73,21 +72,21 @@ The original micro:bit elegantly demonstrated the technology in a phone (the scr

Music and sound on the micro:bit were pioneered in MicroPython as part of the original community effort around the BBC micro:bit – not least thanks to Nicholas Tollervey and Mark Shannon for introducing things like the [speech synthesizer](https://www.nordicsemi.com/Products/Low-power-short-range-wireless/nRF52833)! Now with the addition of a speaker to the latest micro:bit it is really coming into its own. If you connect headphones or an amplified speaker, you get even better quality sound. Just as the 5x5 display on the micro:bit is perfect for getting started, but a colour LCD is still a welcome way to extend your projects, the sound driver written by Lancaster University is capable of reproducing high quality sound on the edge connector. We don’t expect to see the end of crocodile clips connecting headphone jack sockets just yet!

![micro:bit guitar](/docs/blog/assets/latest-revision/microbit-guitar.jpg){: width="600"}
![micro:bit guitar]({{ "/docs/blog/assets/latest-revision/microbit-guitar.jpg" | relative_url }}){: width="600"}

But beyond music, sound is the way many of us communicate. Our voice and our accent is part of our identity and personality. When adding ‘sound’ as a feature of the micro:bit we wanted to make sure we gave it a personality too. The careful thought put into the visual and structural elements of the micro:bit, led by Technology Will Save Us in 2015 showed how paying careful attention to design of a device had a huge impact its approachability, and the ease with which people could make an emotional connection to hardware. The sounds for the micro:bit learn from this, and are there to make the micro:bit’s voice friendly and approachable. We’ve been working on a synthesiser to make these amazing sounds, with lots of input from a sound designer to tune it and make it useful.

The microphone, like the microphones on a smart speaker or digital assistant, allows the device to respond to sound and sense the noise around the micro:bit. Paired with the greater capability of the new micro:bit this is opening up fantastic potential around AI and machine learning with sound. Exemplifying the thought given to educational environments, the microphone’s dedicated ‘operating’ indicator doesn’t interfere with the visual design of the board when off, but makes it clear when the microphone is on and sensing sound. This allows teachers to engage with students about privacy issues and the impact of listening devices.

## Exploring AI and ML

![Tensorflow Logo](/docs/blog/assets/latest-revision/tensorflow-logo.png){: width="300"}
![Tensorflow Logo]({{ "/docs/blog/assets/latest-revision/tensorflow-logo.png" | relative_url }}){: width="300"}

Within days of getting a device, Gordon Williams, lead developer of [Espruino](https://www.espruino.com/) had the micro:bit supported in their online platform. This allowed JavaScript programs to run on the device, including Espruino’s gesture recognition libraries that were originally designed for bangle.js and use Tensorflow Lite. Unlike the "gestures" you might be used to on the micro:bit, like "shake", this demo allows you to train a machine learning model to recognise any gestures you can collect data for - it takes recordings of the gestures being performed, and builds a model that can recognise them. This means you can have much more complex, subtle gestures, and even customise them for yourself or something you’ve attached the micro:bit to.

[Edge Impulse](https://www.edgeimpulse.com/), working similarly fast, took a video recording of each member of the micro:bit team saying “micro:bit” three times (what better way to conclude the weekly team meeting?) and used the Edge Impulse cloud service to create a model that could recognise the word “micro:bit” being said. [You can read more about this demo here](https://www.edgeimpulse.com/blog/voice-activated-microbit), but it clearly shows the possibility of training micro:bits to recognise unique sounds!

![Edge Impulse visualisation](/docs/blog/assets/latest-revision/edge-impulse.png)
![Edge Impulse visualisation]({{ "/docs/blog/assets/latest-revision/edge-impulse.png" | relative_url }})

## What’s next?

Expand Down
8 changes: 4 additions & 4 deletions bluetooth/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ The micro:bit supports Bluetooth via a single, custom-developed, BBC micro:bit p

A pre-compiled hex file is available to download for <span class="v2">V2</span> that enables all Bluetooth services.

[Bluetooth all services CODAL](/docs/bluetooth/assets/BLE_All_Services_CODAL_0-2-40-ABDLIMTU-P.hex){: .btn.sm-btn download}
[Bluetooth all services CODAL]({{ "/docs/bluetooth/assets/BLE_All_Services_CODAL_0-2-40-ABDLIMTU-P.hex" | relative_url }}){: .btn.sm-btn download}

The source for this can be found in the [microbit-v2-samples](https://github.com/lancaster-university/microbit-v2-samples/blob/master/source/samples/BLETest.cpp) repository.

Expand All @@ -43,9 +43,9 @@ The BBC micro:bit <span class="v1">V1</span> [Bluetooth profile is defined in th

You can flash one of two pre-compiled Hex files to the micro:bit <span class="v1">V1</span> that enable bluetooth services. As Bluetooth is memory intensive, these are supplied as either 'without Magnetometer Service' or 'without DFU Service':

[Without magnetometer](/docs/bluetooth/assets/BLE_All_Services_DAL_2-1-1-No-Mag.hex){: .btn.sm-btn download}
[Without magnetometer]({{ "/docs/bluetooth/assets/BLE_All_Services_DAL_2-1-1-No-Mag.hex" | relative_url }}){: .btn.sm-btn download}

[Without DFU](/docs/bluetooth/assets/BLE_All_Services_DAL_2-1-1-No-DFU.hex){: .btn.sm-btn download}
[Without DFU]({{ "/docs/bluetooth/assets/BLE_All_Services_DAL_2-1-1-No-DFU.hex" | relative_url }}){: .btn.sm-btn download}

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

Expand Down Expand Up @@ -103,7 +103,7 @@ As an example, the tools at [ML Machine](https://ml-machine.org/) have been buil
Note: on micro:bit V1, there is very limited memory available when also using the Bluetooth extension.

Here is an example of how to add and use the Bluetooth extension in MakeCode:
![adding makecode bluetooth extension](/docs/bluetooth/assets/add_bluetooth_extension.gif)
![adding makecode bluetooth extension]({{ "/docs/bluetooth/assets/add_bluetooth_extension.gif" | relative_url }})

## Apps

Expand Down
28 changes: 14 additions & 14 deletions hardware/1-3-revision.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ lang: en
* TOC
{:toc}

![1.3 diagram](/docs/hardware/assets/microbit-overview.png)
![1.3 diagram]({{ "/docs/hardware/assets/microbit-overview.png" | relative_url }})

## Hardware block diagram

![1.3 block](/docs/hardware/assets/v1-block.svg)
![1.3 block]({{ "/docs/hardware/assets/v1-block.svg" | relative_url }})

## Getting Started With the micro:bit Hardware

Expand All @@ -29,9 +29,9 @@ The interface processor does not connect to any of the micro:bit peripherals.

Two key pieces of information to help understand the internals of the micro:bit are:

- The [schematics](../schematic), which shows the detailed component data and connectivity of the device.
- The [schematics]({{ "/hardware/schematic/" | relative_url }}), which shows the detailed component data and connectivity of the device.

- The [reference design](../reference-design), which is a complete module design of a compatible micro:bit, and is designed to be a starting point for anyone interested in understanding the micro:bit or designing their own variant.
- The [reference design]({{ "/hardware/reference-design/" | relative_url }}), which is a complete module design of a compatible micro:bit, and is designed to be a starting point for anyone interested in understanding the micro:bit or designing their own variant.

## Hardware Description

Expand All @@ -48,7 +48,7 @@ There is an on-board 2.4GHz radio engine used to provide Bluetooth capabilities
| RAM | 16KB
| Speed | 16MHz
| Debug | SWD, jlink/OB
| More Info | [here](/software)
| More Info | [here]({{ "/software" | relative_url }})

### Bluetooth Wireless Communication

Expand All @@ -65,7 +65,7 @@ This allows the micro:bit to communicate with a wide range of Bluetooth devices,
| Role | [GAP Peripheral](https://bluetooth-developer.blogspot.com/2016/07/microbit-and-bluetooth-roles.html)
| Congestion avoidance | Adaptive Frequency Hopping
| Profiles | 1 [BBC micro:bit profile](https://lancaster-university.github.io/microbit-docs/ble/profile/)
| More Info | [here](/bluetooth)
| More Info | [here]({{ "/bluetooth" | relative_url }})

### Low Level Radio Communications

Expand Down Expand Up @@ -179,10 +179,10 @@ The edge connector brings out many of the GPIO circuits of the application proce
|| 3 may be assigned to an optional SPI communications interface
|| 3 may be assigned for up to 3 simultaneous touch sensing inputs
|ADC resolution | 10 bit (0..1023)
| Edge Connector| [Edge connector](/hardware/edgeconnector/)
| Edge Connector| [Edge connector]({{ "/hardware/edgeconnector/" | relative_url }})
| Pitch | 1.27mm, 80 way double sided.
| Pads| 5 pads, with 4mm holes
| More Info | [here](/hardware/edgeconnector/)
| More Info | [here]({{ "/hardware/edgeconnector/" | relative_url }})

### Power Supply

Expand All @@ -196,7 +196,7 @@ Power to the micro:bit may be provided via the USB connection, via the interface
| Battery connector | JST X2B-PH-SM4-TB
| Battery current | TBC
| Max current provided via edge connector | 90mA
| More Info | [here](../powersupply)
| More Info | [here]({{ "/hardware/powersupply/" | relative_url }})

### Interface

Expand All @@ -210,7 +210,7 @@ The interface chip handles the USB connection, and is used for flashing new code
| RAM | 16KB
| Speed | 16MHz
| Debug capabilities | SWD
| More Info | [here](/software/daplink-interface/)
| More Info | [here]({{ "/software/daplink-interface/" | relative_url }})

### USB Communications

Expand All @@ -225,7 +225,7 @@ The micro:bit has an on-board USB communications stack, that is built into the f
| | [Communications Device Class (CDC)](https://en.wikipedia.org/wiki/USB_communications_device_class)
| | [CMSIS-DAP HID & WinUSB](https://arm-software.github.io/CMSIS_5/DAP/html/index.html)
| | [WebUSB CMSIS-DAP HID](https://wicg.github.io/webusb/)
| More Info | [here](/software/daplink-interface/)
| More Info | [here]({{ "/software/daplink-interface/" | relative_url }})

### Debugging

Expand All @@ -249,9 +249,9 @@ We have some [nice 2D and 3D CAD drawings and models of the micro:bit](https://g

## Further information

- [Schematic](../schematic)
- [Schematic]({{ "/hardware/schematic" | relative_url }})

- [Reference Design](../reference-design)
- [Reference Design]({{ "/hardware/reference-design" | relative_url }})

- [Nordic NRF51 datasheet](http://infocenter.nordicsemi.com/pdf/nRF51822_PS_v3.1.pdf)

Expand All @@ -275,4 +275,4 @@ We have some [nice 2D and 3D CAD drawings and models of the micro:bit](https://g

- [Arm Mbed overview](https://www.mbed.com/en/about-mbed/what-mbed/)

- [Fritzing diagram, contributed by Kok Ho Huen](/docs/hardware/assets/Microbit.fzpz.zip)
- [Fritzing diagram, contributed by Kok Ho Huen]({{ "/docs/hardware/assets/Microbit.fzpz.zip" | relative_url }})
Loading