 So, let's now go to the hands-on, which will be creating a BLE application straight from KubeMX. We will create the BLE application from an empty KubeMX project. The application will be very simple. It will be able to accept some commands from the smartphone, and it will also be able to send notifications based on some internal event. In our case, it will be pressing a button. To get the vocabulary straight, the smartphone in this scenario will act as a GAP central, meaning it is in charge of the connection establishment, and the WBNucleo will be GAP peripheral. Nucleo is also a server, meaning it implements BLE service and characteristic, and on the other hand the smartphone is a GAP client, which performs service and characteristic discovery and is able to perform read, write, notify operations on these characteristics. Slightly more in detail, you see the outline of the BLE service. You have might already heard about the point-to-point server, which is ST proprietary BLE service. In fact, it's the out-of-the-box demo when you take the Nucleo from the blister. It's preflighted with this service, and the service implements lead control by writing to a certain characteristic. You can switch the lead on or off, and also implements a notification when you press a button on the Nucleo. There is some data sent to the phone. We will recreate this service, but from KUPA mix. We will define it from scratch to match this exact behavior. We will create a custom proprietary service with two characteristics, one which is of property write, so a phone can write to it, and the application will be able to process the event, and also a second characteristic, which is of type notify. Whenever you press a button, a notification will be sent to the phone. Here you see the step-by-step procedures. This is just for your reference. We will go through each step in more detail and provide some commentary why we do it. I will skip this and the next slide. For those of you who finish early, we also define two optional tasks. The first one I will comment later on after the first part of the hands-on. The second optional task is enabling the UART traces. In the generated code, there are some printfs which are outputted on UART and then on UART through ST-Link and then to the PC. If you connect with the terminal app to the target, you will see the progress and the state of the application. You can find some instruction at the end of this presentation if you find yourself having nothing to do because you finish early. Let's first describe the board before we go into the first step. In the purple area, you see the target, the STM32WBRC. In this area, there are also crystals and decoupling and components for the external SNPS, which are optional. You have the option to use it in software and improve the power efficiency, but it's not mandatory. The yellow area is dedicated to RF. There is the PCB antenna, the impedance matching between the antenna and the chip, and also a connector which you can use to perform some RF measurements. Most of the area of the board is dedicated to ST-Link, so you see there are a couple of jumpers which connect the target to the ST-Link. You can also find their voltage level shifter, so it's possible to debug the target microcontroller up to the minimum VDD. For the user interface, there are three LEDs, three buttons, and a reset button. On the bottom side, there is a connector for the battery, so you can, after some soldering, you can supply the battery directly from the coin cell. And there are two USB connectors, one for the ST-Link, and the second one which is directly connected to the target.