 It's time now to move finally from the GPRO and also to look on the different peripherals. Then now we will start to play a little bit with the very basic communication periphery, which is the USART. And we will look on the basic functionalities for transmitting and receiving with the USART. And now we will focus on the transmitting, which will be done over the virtual acomport, which is on my Nucleo board, which allow me to see the bytes, which I will be transmitting on my PC. Then first what we need to look is where I can found this pins, which are connected to my virtual acomport. This is a schematic for my Nucleo and these pins are here. The pin for transmitting is the PA2 and the pin for receiving will be the PA3. And then these pins I need to configure in my project. Then now we can look into our project. We will start the new project. Again the series will be STM32F4, line to F401, package will be LQFP64. Again the STM32F401 or ET. Here it is. I will select. Now I know that I need to use the PA2 and PA3. I will check which USART is connected there. It will be possibly USART2. Here I will search for the USART2 here. And I will select the asynchronous mode you can see. Both pins are marked as I used. Now I don't want to use any LED or any other GPIO. Then I can be okay with this configuration. Now I need to look on the clock configuration. Please check it depends which board you have. We have the STM32F401 and we have the HSI. In case that our HSI is enough precise to drive the USART or UART we are okay. I think that the HSI precision is around 1% which is definitely okay for the UART. For me it's not necessary to change the HSI configuration. In case that you have usually the L devices which have the MSI, the multispeed antenna oscillator. I recommend to use the antenna high speed high speed oscillator instead of the multispeed. Now the configuration. Now we have finally new button here which is the configuration of the USART2. Then we can open this first tab and see what is there. The most important for us will be the parameters. Here we can deeply configure the USART2. We only marked two pins in the pin-out but this is definitely not enough. Then for us we can have the basic parameters like the bolt rate. Depend on you what bolt rate you prefer. I am definitely okay with the 115,200 bits per second. The work length usually also with the parity. It's the 8 or 9 on this device. The parity is known. I am okay to work without parity and one stop bit. It's the standard USART configuration I think. The data direction we will work as the transmit and receiver. I am definitely okay with that. You can work only as a receiver or only as a transmitter to save one pin. And the oversampling is usually how many times the microcontour sample one bit. Here is the 16 times. This definitely this value will limit our speed. Because you know what is the basic speed of this periphery depends on the clock source. Depends on the which bus we are. But now the maximum speed is the 16 megahertz. Then with this oversampling this means that the microcontour will sample each bit 16 times. Then the maximum speed is done also with this oversampling when we divide it 16 megahertz with 16. Which gives us 1 mega sample per second is the maximum speed of the USART with the 16 oversampling. With the 8 the maximum speed is I think 2 mega bits per second. In case that we increase the frequency here the speed maximum speed will be also higher. Okay this was about the oversampling. The USART constants, the user constants are same like on the GPO. We can enable the NVIC but now we use the example without NVIC. We can also use the DMA but it's not necessary now. But we will check the GPO configuration if it's okay for us. Definitely you can see that the GPO is here set as an alternative function with the push pull output. I'm okay with that. Here is also connected pull up. I think it's not necessary to change it but I'm okay. And after configuration the pin will be automatically in high. I'm also okay with that. Then everything is okay. Then we can here move to our project. I will name my project UR1 and I will generate it now for Kyle. I'm okay. I can click on the project generate code and he will generate for me the code.