1.. _ble_mesh_demo:
2
3Bluetooth: Mesh Demo
4####################
5
6Overview
7********
8
9This sample is a Bluetooth mesh application intended for demonstration
10purposes only. The application provisions and configures itself (i.e. no
11external provisioner needed) with hard-coded network and application key
12values. The local unicast address can be set using a NODE_ADDR build
13variable (e.g. NODE_ADDR=0x0001 for unicast address 0x0001), or by
14manually editing the value in the ``board.h`` file.
15
16Because of the hard-coded values, the application is not suitable for
17production use, but is quite convenient for quick demonstrations of mesh
18functionality.
19
20The application has some features especially designed for the BBC
21micro:bit boards, such as the ability to send messages using the board's
22buttons as well as showing information of received messages on the
23board's 5x5 LED display. It's generally recommended to use unicast
24addresses in the range of 0x0001-0x0009 for the micro:bit since these
25map nicely to displayed addresses and the list of destination addresses
26which can be cycled with a button press.
27
28A special address, 0x000f, will make the application become a heart-beat
29publisher and enable the other nodes to show information of the received
30heartbeat messages.
31
32Requirements
33************
34
35* A board with Bluetooth LE support, or
36* QEMU with BlueZ running on the host
37
38Building and Running
39********************
40
41This sample can be found under :zephyr_file:`samples/bluetooth/mesh_demo` in
42the Zephyr tree.
43
44See :ref:`bluetooth samples section <bluetooth-samples>` for details on how
45to run the sample inside QEMU.
46
47For other boards, build and flash the application as follows:
48
49.. zephyr-app-commands::
50   :zephyr-app: samples/bluetooth/mesh_demo
51   :board: <board>
52   :goals: flash
53   :compact:
54
55Refer to your :ref:`board's documentation <boards>` for alternative
56flash instructions if your board doesn't support the ``flash`` target.
57
58To run the application on an :ref:`nrf5340dk_nrf5340`, a Bluetooth controller application
59must also run on the network core. The :ref:`bluetooth-hci-rpmsg-sample` sample
60application may be used. Build this sample with configuration
61:zephyr_file:`samples/bluetooth/hci_rpmg/nrf5340_cpunet_bt_mesh-bt_ll_sw_split.conf`
62to enable mesh support.
63