 Welcome to this STM32 Cubemax video of the STM32 WB Getting Started series. I'm Jolti Arena and I'll be showing you how to take advantage of a powerful tool of the CubeEco system, the STM32 Cubemax, for starting your application project. The STM32 Cubemax is a graphical tool with features that help you select the right MCU, configure pins, clock tree, peripherals, middleware software, and generate a code project with initialization code based on your configuration. This is what I'll be demonstrating in this video. Before we get started, make sure you have the STM32 Cubemax and CubeWB package installed. If you don't, please see the tools installation video of the STM32 WB Getting Started series for instructions. Let's start by opening Cubemax and click the Install Remove button to verify that we have the CubeWB firmware package properly installed and linked. The package is installed and the box is shaded. It is also good practice to click the refresh button to check if there's a later package available. You can also get a summary of the main changes in the respective package version by clicking on it. I can now show you the location of this package. From the main pages help menu, I can click on the updater settings where I'll find the firmware repository directory path. Then I can go to this directory from a file explorer window, which is where you'll find all firmware packages that have been installed. I'll then locate CubeWB, which contains the low-level drivers, middleware, BLE examples, and more. The first step to starting a new project is to select an EVA board or an MCU part number. By clicking this button, you can search for available STWB evaluation boards. From here, you can use the available filters to help you find the proper one. In a similar fashion, I can search by part number by using the MCU selector. I'll start with a full list of all STM32 MCUs, but I can use the filters to find the best WB for my design. In my case, I'm just going to be looking for the STM32 WB55RG that is the one on the WB55 NUCLEO board. From here, I can double-click the device to start the project, but before I do that, notice that I can also access relevant information about this device from here. I can also access documentation like data sheets, reference manuals, erotic sheets, application notes, etc. Okay, now I'll go ahead and start the project by clicking the Start Project button. Now from the Pinout and Configuration window, I can start setting things up like the HSC and LSE oscillators. Notice that as I enable functions, the associated pins will get highlighted on the Pinout view, which is great because it helps you visualize the pin utilization to avoid conflicts. For demonstration purposes, I'm enabling the peripherals needed to enable the Bluetooth LE radio and middleware. And it looks like I still need to enable the hardware semaphore dependency in order to enable the WPAN middleware for BLE. So I'll go ahead and do that. From the WPAN window, I can now check the box labeled BLE, and the configuration window will show up. This is where I would configure my BLE profile, but I'll leave this section for a future video. Now, I'll go to the Pinout view to show how I can assign a function to a pin directly. For example, I can configure PA0 as an ADC input and PC2 as a GPIO output. I can also enable peripherals like an I2C, and then reassign a function to a different pin if necessary. I can check whether the pins have the same function by clicking the pin while holding the CTRL key. The other pins with the same function get highlighted, and I can just click and drag while holding the CTRL key down. Now in the Clock Configuration window, I can check and resolve my clocks. Then the tool will offer to out-of-resolve these for me, but for now, I'll choose to do this manually. Notice that hovering over the highlighted boxes displays the error, so I'll make the corrections accordingly. Now the system clocks are at 32 MHz, which meet the system requirements for BLE. However, since the Cortex-M4 of the WPAN can be clocked up to 64 MHz, we can opt to use the PLL instead to come up with the 64 MHz while keeping a 32 MHz clock for the CPU2. I just have to change the PLL multiplier and the CPU2 prescaler accordingly to get the desired clocks. If I scroll down, there's a couple other changes to make to get things configured properly for BLE. And I also need to set the RTC to use the 32 KHz LSE as its source. Next, I go to the Project Manager window. This is where I can give the project a name, like my STM32WB project. I can set its location, select the tool chain IDE that I want the project generated in. I will select Q by DE for this. I can also set the heap and stack size from here. And I can also select the QWB package version that I want as source of my code generation. Now I'm all done with my configuration, so I can click the Generate Code button to generate my project. I will choose to open the project, and apparently everything went well, so my Q by DE project is now open and ready to be built. Q by Max also includes a power consumption calculator for predicting the current consumption of the WB under different conditions. And it is also Bluetooth radio aware, so I can estimate the average and the peak current consumption for your BLE use case. For example, I can select the advertising mode as my use case from this drop down menu and see the estimated current consumption below. For more information about STM32 Q by Max, please see user's manual UM1718 or visit st.com. This completes the STM32 Q by Max video. You've now learned the basics of the STM32 Q by Max for starting your Bluetooth LE code project for the STM32WB and you're ready to start developing your application. Thank you for watching.