1.. _bbc_microbit:
2
3BBC MicroBit
4##############
5
6Overview
7********
8
9The Micro Bit (also referred to as BBC Micro Bit, stylized as micro:bit) is an
10ARM-based embedded system designed by the BBC for use in computer education in
11the UK.
12
13The board is 4 cm × 5 cm and has an ARM Cortex-M0 processor, accelerometer and
14magnetometer sensors, Bluetooth and USB connectivity, a display consisting of
1525 LEDs, two programmable buttons, and can be powered by either USB or an
16external battery pack. The device inputs and outputs are through five ring
17connectors that are part of the 23-pin edge connector.
18
19* :abbr:`NVIC (Nested Vectored Interrupt Controller)`
20* :abbr:`RTC (nRF RTC System Clock)`
21* UART
22* GPIO
23* FLASH
24* RADIO (Bluetooth Low Energy)
25
26.. figure:: img/bbc_microbit.jpg
27     :align: center
28     :alt: BBC Micro Bit
29
30     BBC Micro Bit (Credit: http://microbit.org/)
31
32More information about the board can be found at the `microbit website`_.
33
34Hardware
35********
36
37The micro:bit has the following physical features:
38
39* 25 individually-programmable LEDs
40* 2 programmable buttons
41* Physical connection pins
42* Light and temperature sensors
43* Motion sensors (accelerometer and compass)
44* Wireless Communication, via Radio and Bluetooth
45* USB interface
46
47
48Supported Features
49==================
50
51The bbc_microbit board configuration supports the following nRF51
52hardware features:
53
54+-----------+------------+----------------------+
55| Interface | Controller | Driver/Component     |
56+===========+============+======================+
57| NVIC      | on-chip    | nested vectored      |
58|           |            | interrupt controller |
59+-----------+------------+----------------------+
60| RTC       | on-chip    | system clock         |
61+-----------+------------+----------------------+
62| UART      | on-chip    | serial port          |
63+-----------+------------+----------------------+
64| GPIO      | on-chip    | gpio                 |
65+-----------+------------+----------------------+
66| FLASH     | on-chip    | flash                |
67+-----------+------------+----------------------+
68| RADIO     | on-chip    | Bluetooth            |
69+-----------+------------+----------------------+
70
71Programming and Debugging
72*************************
73
74Flashing
75========
76
77Build and flash applications as usual (see :ref:`build_an_application` and
78:ref:`application_run` for more details).
79
80Here is an example for the :ref:`hello_world` application.
81
82First, run your favorite terminal program to listen for output.
83
84.. code-block:: console
85
86   $ minicom -D <tty_device> -b 115200
87
88Replace :code:`<tty_device>` with the port where the board nRF51 DK
89can be found. For example, under Linux, :code:`/dev/ttyACM0`.
90
91Then build and flash the application in the usual way.
92
93.. zephyr-app-commands::
94   :zephyr-app: samples/hello_world
95   :board: bbc_microbit
96   :goals: build flash
97
98
99References
100**********
101
102.. target-notes::
103
104.. _microbit website: http://www.microbit.org/
105