 Hello and welcome back to the STM32WB Getting Started video series. In video number 4, I'm going to walk you through the contents of the CUBE WB Firmware Library, which you should have installed either directly at st.com or as directed by Joe in the video number 3 tool installation video via QubemX. This is the typical install path for QubemX usage. When you create and generate code from a QubemX-based project, it's going to pull the driver source files from the drivers, middlewares, and possibly utilities folders. Now let's take a look at the releasenotes.html file. This will give you all the update history of the current revision. Here we have version 1.7.0 and all the subversions of the various wireless binaries, drivers, middleware, and so forth. If you scroll down on the left here, there's some really great user documents with hyperlinks to st.com for getting started with the STM32WB, description of the drivers, building the various wireless applications, some specific app notes on Bluetooth Lonergy Mesh, and other useful applications. Another super useful document which unfortunately is not included in the releasenotes is AN5270. You can download it at st.com. It gives a great description of all the standard application control interface and host control interface commands, all your typical GapGap type commands, parameters, opcodes, descriptions, and return values. If we go into the documentation folder, there's also a local copy of the QubemWB Getting Started user manual. This will give you a good high-level view of how the various firmware blocks are structured. Moving on to our Drivers folder, we'll find a familiar structure similar to that of other STM32Q from our libraries. The Board Support Package folder supporting different hardware platforms such as the Nucleoboard and Dongleboard. The ARM Simpsys libraries related to the Cortex-M4 instructions, and also including this DSP library with lots of fun fixed point and floating point examples, and then the HAL driver with all the basic source code for all the standard peripherals. You also want to take a look at the CHM user manual. For all the standard non-radio peripherals, this will give you a good description of all the APIs. Now let's take a look at the middlewares folder. In the third-party subfolder, we have the FAT file system and free RTOS drivers. And in the ST subfolder, we have CapTouch library, USB device library for several different classes. And finally, the most interesting, the wireless personal area network drivers. Now these are typically not modified by the user in a typical application. However, it's nice to poke around in some of these to understand how they work. In our Utilities folder, we'll find a few typical functions used by most of the wireless projects, the Low Power Manager and the Sequencer. There's also some various other media files, LCD utilities, some LCD font files, PC software patches for the IARM compiler and Kyle tool chains. If you have an older version that doesn't support the WB, these are some patches for that. Probably most interesting is the Projects folder. Here we can see a number of subfolders broken down by hardware platform. The typical WB55 nuclear pack consists of the larger white nuclear board and the dongle board. You may want to check out the CUBE Projects list HTML file as well. This will give you a good explanation of each example. And on the right here, we can see which hardware platform that example is targeted on. And also, if CUBE MX is mentioned, there's an IOC file that can be directly opened within CUBE MX and modified to your log key. The majority of the projects are within the WB55 Nucleo folder. Under Applications, we can find a variety of the typical wireless applications of most interest. Standard Bluetooth low-energy, BLE plus thread, BLE plus ZigBee, Open 15.4 Mac, and then some other standard SDM32 type applications like capacitive touch sensing, USB with four different device class examples, regular ZigBee, regular thread, and some project for doing customer key storage. Within Bluetooth low-energy, we have 24 examples. So, a lot of these are typical Bluetooth sig-defined classes such as a heart rate monitor or a beacon or blood pressure, and also some SD specific ones to show how to write custom services and characteristics like the point-to-point client router and server example, and also some interesting examples on doing over-the-air firmware updates. If you want to have your Nucleo board communicate with our CUBE Monitor RF tool, you would use the BLE Transparent Mode project. We'll discuss that further in a future video on CUBE Monitor RF. Now, within each one of these projects are targets for the IAR eWarm tool chain, Kyle MDK, where the software for SDM32 project can be imported directly into CUBE IDE. Looking at some of the other protocols in thread, we have lots of projects for full thread device, sleepy end device, lots of ZigBee cluster examples, and the OpenMac 15.4 full-featured and reduced-featured device, and also a low-power project. Like other standard SDM32 CUBE libraries, there's tons and tons of examples for all the standard peripherals, timers, communications peripherals, ADC, et cetera, with lots of sub-examples within each peripheral. The communications peripherals will include examples for using polling mode, interrupt-driven, or DMA modes. We also have our examples in either full HAL CUBE format or the low-layer direct-register access type of format some customers prefer. Our WB55 dongle board has a reduced set of applications, but still lots of interesting ones for BLE, thread, ZigBee. For communicating with the CUBE monitor RF with the USB dongle, you would use this transparent mode virtual-comport project, which uses the USB peripheral on the WB directly to communicate with that GUI. Also of interest is this wireless binaries folder, which contains the encrypted stacks needed to run the different applications. The Bluetooth full version of the stack is pre-loaded on the Nucleo kits, but if you buy bare chips, there's no stack load and you'll have to do that, and that'll be detailed in a future video. Thanks for watching. We'll see you again on a future video.