Index: ctrl/firmware/Main/CubeMX/Core/Inc/adc.h
===================================================================
--- ctrl/firmware/Main/CubeMX/Core/Inc/adc.h	(revision 110)
+++ ctrl/firmware/Main/CubeMX/Core/Inc/adc.h	(revision 111)
@@ -41,5 +41,5 @@
 /* USER CODE BEGIN Private defines */
 
-#define ADC2_CHANNELS_NUM	(2U)
+#define ADC2_CHANNELS_NUM	(3U)
 #define ADC3_CHANNELS_NUM	(4U)
 #define VREF				(3000U)
@@ -52,4 +52,5 @@
 		int16_t charge_strom;
 		int16_t eload_strom;
+		int16_t u_bat;
 	} Name;
 } __attribute__((packed, aligned(32))) ADC2_data_t;
Index: ctrl/firmware/Main/CubeMX/Core/Src/adc.c
===================================================================
--- ctrl/firmware/Main/CubeMX/Core/Src/adc.c	(revision 110)
+++ ctrl/firmware/Main/CubeMX/Core/Src/adc.c	(revision 111)
@@ -60,5 +60,5 @@
   hadc2.Init.LowPowerAutoWait = DISABLE;
   hadc2.Init.ContinuousConvMode = ENABLE;
-  hadc2.Init.NbrOfConversion = 2;
+  hadc2.Init.NbrOfConversion = 3;
   hadc2.Init.DiscontinuousConvMode = DISABLE;
   hadc2.Init.ExternalTrigConv = ADC_SOFTWARE_START;
@@ -81,8 +81,8 @@
   sConfig.Channel = ADC_CHANNEL_3;
   sConfig.Rank = ADC_REGULAR_RANK_1;
-  sConfig.SamplingTime = ADC_SAMPLETIME_16CYCLES_5;
+  sConfig.SamplingTime = ADC_SAMPLETIME_32CYCLES_5;
   sConfig.SingleDiff = ADC_DIFFERENTIAL_ENDED;
   sConfig.OffsetNumber = ADC_OFFSET_NONE;
-  sConfig.Offset = 0;
+  sConfig.Offset = 32767;
   sConfig.OffsetSignedSaturation = DISABLE;
   if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
@@ -100,4 +100,13 @@
     Error_Handler();
   }
+
+  /** Configure Regular Channel
+  */
+  sConfig.Channel = ADC_CHANNEL_5;
+  sConfig.Rank = ADC_REGULAR_RANK_3;
+  if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
+  {
+    Error_Handler();
+  }
   /* USER CODE BEGIN ADC2_Init 2 */
 
@@ -107,5 +116,5 @@
   HAL_Delay(100U);
 
-  uint32_t offset[2] = { 0U };
+  uint32_t offset[ADC2_CHANNELS_NUM] = { 0U };
   const uint32_t max_samples = 8192U / ((hadc2.Init.OversamplingMode == ENABLE)? hadc2.Init.Oversampling.Ratio: 1);
   // Starting DMA converstion
@@ -117,10 +126,11 @@
 	  while(!__HAL_DMA_GET_FLAG(&hdma_adc2, DMA_FLAG_TCIF1_5));
 	  // Reading ADC2 value
-	  offset[0] += ADC2Data.Raw[0];
-	  offset[1] += ADC2Data.Raw[1];
+	  for (unsigned j = 0; j < ADC2_CHANNELS_NUM; j++) offset[j] += ADC2Data.Raw[j];
 	  __HAL_DMA_CLEAR_FLAG(&hdma_adc2, DMA_FLAG_TCIF1_5);
   }
 
-  printf("ADC2 offset[0] = %u, offset[1] = %u\n", offset[0] / max_samples, offset[1] / max_samples);
+  printf("ADC2 ");
+  for (unsigned j = 0U; j < ADC2_CHANNELS_NUM; j++)
+	  printf("offset[%u] = %u%s", j, offset[j] / max_samples, (j < ADC2_CHANNELS_NUM - 1)?", ":"\n");
 
   if (HAL_OK == HAL_ADC_Stop_DMA(&hadc2))
@@ -128,4 +138,5 @@
 	  LL_ADC_SetOffset(hadc2.Instance, LL_ADC_OFFSET_1, LL_ADC_CHANNEL_3, (offset[0]/max_samples) * ((hadc2.Init.OversamplingMode == ENABLE)? hadc2.Init.Oversampling.Ratio: 1));
 	  LL_ADC_SetOffset(hadc2.Instance, LL_ADC_OFFSET_2, LL_ADC_CHANNEL_4, (offset[1]/max_samples) * ((hadc2.Init.OversamplingMode == ENABLE)? hadc2.Init.Oversampling.Ratio: 1));
+	  LL_ADC_SetOffset(hadc2.Instance, LL_ADC_OFFSET_3, LL_ADC_CHANNEL_5, (offset[2]/max_samples) * ((hadc2.Init.OversamplingMode == ENABLE)? hadc2.Init.Oversampling.Ratio: 1));
   }
 
@@ -184,5 +195,5 @@
   sConfig.Channel = ADC_CHANNEL_10;
   sConfig.Rank = ADC_REGULAR_RANK_1;
-  sConfig.SamplingTime = ADC_SAMPLETIME_810CYCLES_5;
+  sConfig.SamplingTime = ADC3_SAMPLETIME_640CYCLES_5;
   sConfig.SingleDiff = ADC_SINGLE_ENDED;
   sConfig.OffsetNumber = ADC_OFFSET_NONE;
@@ -250,4 +261,5 @@
     __HAL_RCC_GPIOA_CLK_ENABLE();
     __HAL_RCC_GPIOC_CLK_ENABLE();
+    __HAL_RCC_GPIOB_CLK_ENABLE();
     /**ADC2 GPIO Configuration
     PA6     ------> ADC2_INP3
@@ -255,4 +267,6 @@
     PC4     ------> ADC2_INP4
     PC5     ------> ADC2_INN4
+    PB0     ------> ADC2_INN5
+    PB1     ------> ADC2_INP5
     */
     GPIO_InitStruct.Pin = BAT_I_SENSE_PLUS_Pin|BAT_I_SENSE_MINUS_Pin;
@@ -265,4 +279,9 @@
     GPIO_InitStruct.Pull = GPIO_NOPULL;
     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+
+    GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
+    GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
+    GPIO_InitStruct.Pull = GPIO_NOPULL;
+    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
 
     /* ADC2 DMA Init */
@@ -346,8 +365,12 @@
     PC4     ------> ADC2_INP4
     PC5     ------> ADC2_INN4
+    PB0     ------> ADC2_INN5
+    PB1     ------> ADC2_INP5
     */
     HAL_GPIO_DeInit(GPIOA, BAT_I_SENSE_PLUS_Pin|BAT_I_SENSE_MINUS_Pin);
 
     HAL_GPIO_DeInit(GPIOC, GPIO_PIN_4|GPIO_PIN_5);
+
+    HAL_GPIO_DeInit(GPIOB, GPIO_PIN_0|GPIO_PIN_1);
 
     /* ADC2 DMA DeInit */
Index: ctrl/firmware/Main/CubeMX/Core/Src/gpio.c
===================================================================
--- ctrl/firmware/Main/CubeMX/Core/Src/gpio.c	(revision 110)
+++ ctrl/firmware/Main/CubeMX/Core/Src/gpio.c	(revision 111)
@@ -123,8 +123,8 @@
   HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
 
-  /*Configure GPIO pins : PB0 PB1 PB2 PB11
-                           PB12 PB13 PB3 PB5 */
-  GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_11
-                          |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_3|GPIO_PIN_5;
+  /*Configure GPIO pins : PB2 PB11 PB12 PB13
+                           PB3 PB5 */
+  GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13
+                          |GPIO_PIN_3|GPIO_PIN_5;
   GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
   GPIO_InitStruct.Pull = GPIO_NOPULL;
Index: ctrl/firmware/Main/CubeMX/Core/Src/main.c
===================================================================
--- ctrl/firmware/Main/CubeMX/Core/Src/main.c	(revision 110)
+++ ctrl/firmware/Main/CubeMX/Core/Src/main.c	(revision 111)
@@ -266,8 +266,8 @@
   PeriphClkInitStruct.PLL2.PLL2FRACN = 0;
   PeriphClkInitStruct.PLL3.PLL3M = 25;
-  PeriphClkInitStruct.PLL3.PLL3N = 150;
+  PeriphClkInitStruct.PLL3.PLL3N = 200;
   PeriphClkInitStruct.PLL3.PLL3P = 2;
-  PeriphClkInitStruct.PLL3.PLL3Q = 6;
-  PeriphClkInitStruct.PLL3.PLL3R = 3;
+  PeriphClkInitStruct.PLL3.PLL3Q = 8;
+  PeriphClkInitStruct.PLL3.PLL3R = 2;
   PeriphClkInitStruct.PLL3.PLL3RGE = RCC_PLL3VCIRANGE_0;
   PeriphClkInitStruct.PLL3.PLL3VCOSEL = RCC_PLL3VCOMEDIUM;
Index: ctrl/firmware/Main/CubeMX/Core/Src/stm32h7xx_it.c
===================================================================
--- ctrl/firmware/Main/CubeMX/Core/Src/stm32h7xx_it.c	(revision 110)
+++ ctrl/firmware/Main/CubeMX/Core/Src/stm32h7xx_it.c	(revision 111)
@@ -483,10 +483,10 @@
 	{
 		HAL_GPIO_WritePin(RX1_LED_GPIO_Port, RX1_LED_Pin, GPIO_PIN_SET);
-		//charge_tmp = (((int64_t)ADC2Data.Name.charge_strom * ((int64_t)VREF) * 1000LL) / ((int64_t)0xFFFF)) / 50LL;
-		//load_tmp = (((int64_t)ADC2Data.Name.eload_strom * ((int64_t)VREF) * 1000LL) / ((int64_t)0xFFFF)) / 50LL;
-		//charge_i = (float)charge_tmp / 500LL;
-		//load_i = (float)load_tmp / 500LL;
-		//printf("\t\t\t%5.2fA, %5.2fA\n", charge_i, load_i);
-		printf("%d, %d\n", ADC2Data.Name.charge_strom, ADC2Data.Name.eload_strom);
+		charge_tmp = (((int64_t)ADC2Data.Name.charge_strom * ((int64_t)VREF) * 1000LL) / ((int64_t)0xFFFF)) / 50LL;
+		load_tmp = (((int64_t)ADC2Data.Name.eload_strom * ((int64_t)VREF) * 1000LL) / ((int64_t)0xFFFF)) / 50LL;
+		charge_i = (float)charge_tmp / 500LL;
+		load_i = (float)load_tmp / 500LL;
+		printf("\t\t\t%5.2fA, %5.2fA\n", charge_i, load_i);
+		//printf("%d, %d\n", ADC2Data.Name.charge_strom, ADC2Data.Name.eload_strom);
 		HAL_GPIO_WritePin(RX1_LED_GPIO_Port, RX1_LED_Pin, GPIO_PIN_RESET);
 	}
Index: ctrl/firmware/Main/CubeMX/charger.ioc
===================================================================
--- ctrl/firmware/Main/CubeMX/charger.ioc	(revision 110)
+++ ctrl/firmware/Main/CubeMX/charger.ioc	(revision 111)
@@ -2,31 +2,39 @@
 ADC2.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_3
 ADC2.Channel-2\#ChannelRegularConversion=ADC_CHANNEL_4
-ADC2.ClockPrescaler=ADC_CLOCK_ASYNC_DIV256
+ADC2.Channel-3\#ChannelRegularConversion=ADC_CHANNEL_5
+ADC2.ClockPrescaler=ADC_CLOCK_ASYNC_DIV1
 ADC2.ContinuousConvMode=ENABLE
 ADC2.ConversionDataManagement=ADC_CONVERSIONDATA_DMA_CIRCULAR
 ADC2.EOCSelection=ADC_EOC_SEQ_CONV
-ADC2.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SingleDiff-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,OffsetNumber-0\#ChannelRegularConversion,OffsetSignedSaturation-0\#ChannelRegularConversion,NbrOfConversionFlag,NbrOfConversion,Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SingleDiff-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,OffsetNumber-2\#ChannelRegularConversion,OffsetSignedSaturation-2\#ChannelRegularConversion,ContinuousConvMode,EOCSelection,Overrun,ConversionDataManagement,OversamplingMode,RightBitShift,Ratio,ClockPrescaler,Offset-0\#ChannelRegularConversion
-ADC2.NbrOfConversion=2
+ADC2.ExternalTrigConv=ADC_SOFTWARE_START
+ADC2.ExternalTrigConvEdge=ADC_EXTERNALTRIGCONVEDGE_NONE
+ADC2.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SingleDiff-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,OffsetNumber-0\#ChannelRegularConversion,OffsetSignedSaturation-0\#ChannelRegularConversion,NbrOfConversionFlag,NbrOfConversion,Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SingleDiff-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,OffsetNumber-2\#ChannelRegularConversion,OffsetSignedSaturation-2\#ChannelRegularConversion,ContinuousConvMode,EOCSelection,Overrun,ConversionDataManagement,OversamplingMode,RightBitShift,Ratio,ClockPrescaler,Offset-0\#ChannelRegularConversion,ExternalTrigConv,ExternalTrigConvEdge,Rank-3\#ChannelRegularConversion,Channel-3\#ChannelRegularConversion,SingleDiff-3\#ChannelRegularConversion,SamplingTime-3\#ChannelRegularConversion,OffsetNumber-3\#ChannelRegularConversion,OffsetSignedSaturation-3\#ChannelRegularConversion
+ADC2.NbrOfConversion=3
 ADC2.NbrOfConversionFlag=1
 ADC2.Offset-0\#ChannelRegularConversion=32767
 ADC2.OffsetNumber-0\#ChannelRegularConversion=ADC_OFFSET_NONE
 ADC2.OffsetNumber-2\#ChannelRegularConversion=ADC_OFFSET_NONE
+ADC2.OffsetNumber-3\#ChannelRegularConversion=ADC_OFFSET_NONE
 ADC2.OffsetSignedSaturation-0\#ChannelRegularConversion=DISABLE
 ADC2.OffsetSignedSaturation-2\#ChannelRegularConversion=DISABLE
+ADC2.OffsetSignedSaturation-3\#ChannelRegularConversion=DISABLE
 ADC2.Overrun=ADC_OVR_DATA_OVERWRITTEN
 ADC2.OversamplingMode=ENABLE
 ADC2.Rank-0\#ChannelRegularConversion=1
 ADC2.Rank-2\#ChannelRegularConversion=2
-ADC2.Ratio=1024
-ADC2.RightBitShift=ADC_RIGHTBITSHIFT_10
-ADC2.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_810CYCLES_5
-ADC2.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLETIME_810CYCLES_5
+ADC2.Rank-3\#ChannelRegularConversion=3
+ADC2.Ratio=256
+ADC2.RightBitShift=ADC_RIGHTBITSHIFT_8
+ADC2.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_64CYCLES_5
+ADC2.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLETIME_64CYCLES_5
+ADC2.SamplingTime-3\#ChannelRegularConversion=ADC_SAMPLETIME_64CYCLES_5
 ADC2.SingleDiff-0\#ChannelRegularConversion=ADC_DIFFERENTIAL_ENDED
 ADC2.SingleDiff-2\#ChannelRegularConversion=ADC_DIFFERENTIAL_ENDED
+ADC2.SingleDiff-3\#ChannelRegularConversion=ADC_DIFFERENTIAL_ENDED
 ADC3.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_10
 ADC3.Channel-1\#ChannelRegularConversion=ADC_CHANNEL_VBAT
 ADC3.Channel-2\#ChannelRegularConversion=ADC_CHANNEL_TEMPSENSOR
 ADC3.Channel-4\#ChannelRegularConversion=ADC_CHANNEL_VREFINT
-ADC3.ClockPrescaler=ADC_CLOCK_ASYNC_DIV256
+ADC3.ClockPrescaler=ADC_CLOCK_ASYNC_DIV1
 ADC3.ClockPrescalerADC3=ADC_CLOCK_ASYNC_DIV256
 ADC3.ContinuousConvMode=ENABLE
@@ -356,79 +364,82 @@
 Mcu.Pin14=PC4
 Mcu.Pin15=PC5
-Mcu.Pin16=PF15
-Mcu.Pin17=PG0
-Mcu.Pin18=PG1
-Mcu.Pin19=PE7
+Mcu.Pin16=PB0
+Mcu.Pin17=PB1
+Mcu.Pin18=PB2
+Mcu.Pin19=PF15
 Mcu.Pin2=PE6
-Mcu.Pin20=PE8
-Mcu.Pin21=PE9
-Mcu.Pin22=PE11
-Mcu.Pin23=PE12
-Mcu.Pin24=PE13
-Mcu.Pin25=PE14
-Mcu.Pin26=PE15
-Mcu.Pin27=PB10
-Mcu.Pin28=PB14
-Mcu.Pin29=PB15
+Mcu.Pin20=PG0
+Mcu.Pin21=PG1
+Mcu.Pin22=PE7
+Mcu.Pin23=PE8
+Mcu.Pin24=PE9
+Mcu.Pin25=PE11
+Mcu.Pin26=PE12
+Mcu.Pin27=PE13
+Mcu.Pin28=PE14
+Mcu.Pin29=PE15
 Mcu.Pin3=PC14-OSC32_IN
-Mcu.Pin30=PD8
-Mcu.Pin31=PD9
-Mcu.Pin32=PD10
-Mcu.Pin33=PD11
-Mcu.Pin34=PD12
-Mcu.Pin35=PD13
-Mcu.Pin36=PC6
-Mcu.Pin37=PC7
-Mcu.Pin38=PC8
-Mcu.Pin39=PC9
+Mcu.Pin30=PB10
+Mcu.Pin31=PB14
+Mcu.Pin32=PB15
+Mcu.Pin33=PD8
+Mcu.Pin34=PD9
+Mcu.Pin35=PD10
+Mcu.Pin36=PD11
+Mcu.Pin37=PD12
+Mcu.Pin38=PD13
+Mcu.Pin39=PC6
 Mcu.Pin4=PC15-OSC32_OUT
-Mcu.Pin40=PA8
-Mcu.Pin41=PA13(JTMS/SWDIO)
-Mcu.Pin42=PA14(JTCK/SWCLK)
-Mcu.Pin43=PA15(JTDI)
-Mcu.Pin44=PC10
-Mcu.Pin45=PC11
-Mcu.Pin46=PC12
-Mcu.Pin47=PD2
-Mcu.Pin48=PD3
-Mcu.Pin49=PD4
+Mcu.Pin40=PC7
+Mcu.Pin41=PC8
+Mcu.Pin42=PC9
+Mcu.Pin43=PA8
+Mcu.Pin44=PA13(JTMS/SWDIO)
+Mcu.Pin45=PA14(JTCK/SWCLK)
+Mcu.Pin46=PA15(JTDI)
+Mcu.Pin47=PC10
+Mcu.Pin48=PC11
+Mcu.Pin49=PC12
 Mcu.Pin5=PF0
-Mcu.Pin50=PD5
-Mcu.Pin51=PD6
-Mcu.Pin52=PD7
-Mcu.Pin53=PG9
-Mcu.Pin54=PG10
-Mcu.Pin55=PG11
-Mcu.Pin56=PG12
-Mcu.Pin57=PG13
-Mcu.Pin58=PG14
-Mcu.Pin59=PG15
+Mcu.Pin50=PD2
+Mcu.Pin51=PD3
+Mcu.Pin52=PD4
+Mcu.Pin53=PD5
+Mcu.Pin54=PD6
+Mcu.Pin55=PD7
+Mcu.Pin56=PG9
+Mcu.Pin57=PG10
+Mcu.Pin58=PG11
+Mcu.Pin59=PG12
 Mcu.Pin6=PF1
-Mcu.Pin60=PB4(NJTRST)
-Mcu.Pin61=PB6
-Mcu.Pin62=PB7
-Mcu.Pin63=PB8
-Mcu.Pin64=PB9
-Mcu.Pin65=VP_ADC3_TempSens_Input
-Mcu.Pin66=VP_ADC3_Vref_Input
-Mcu.Pin67=VP_ADC3_Vbat_Input
-Mcu.Pin68=VP_DTS_VS-DTS
-Mcu.Pin69=VP_FATFS_VS_SDIO
+Mcu.Pin60=PG13
+Mcu.Pin61=PG14
+Mcu.Pin62=PG15
+Mcu.Pin63=PB4(NJTRST)
+Mcu.Pin64=PB6
+Mcu.Pin65=PB7
+Mcu.Pin66=PB8
+Mcu.Pin67=PB9
+Mcu.Pin68=VP_ADC3_TempSens_Input
+Mcu.Pin69=VP_ADC3_Vref_Input
 Mcu.Pin7=PH0-OSC_IN
-Mcu.Pin70=VP_FREERTOS_VS_CMSIS_V2
-Mcu.Pin71=VP_RTC_VS_RTC_Activate
-Mcu.Pin72=VP_RTC_VS_RTC_Calendar
-Mcu.Pin73=VP_SYS_VS_tim7
-Mcu.Pin74=VP_TIM1_VS_ClockSourceINT
-Mcu.Pin75=VP_TIM3_VS_ClockSourceINT
-Mcu.Pin76=VP_TIM6_VS_ClockSourceINT
-Mcu.Pin77=VP_TIM8_VS_ControllerModeReset
-Mcu.Pin78=VP_TIM8_VS_ClockSourceINT
-Mcu.Pin79=VP_VREFBUF_V_VREFBUF
+Mcu.Pin70=VP_ADC3_Vbat_Input
+Mcu.Pin71=VP_DTS_VS-DTS
+Mcu.Pin72=VP_FATFS_VS_SDIO
+Mcu.Pin73=VP_FREERTOS_VS_CMSIS_V2
+Mcu.Pin74=VP_RTC_VS_RTC_Activate
+Mcu.Pin75=VP_RTC_VS_RTC_Calendar
+Mcu.Pin76=VP_SYS_VS_tim7
+Mcu.Pin77=VP_TIM1_VS_ClockSourceINT
+Mcu.Pin78=VP_TIM3_VS_ClockSourceINT
+Mcu.Pin79=VP_TIM6_VS_ClockSourceINT
 Mcu.Pin8=PH1-OSC_OUT
-Mcu.Pin80=VP_MEMORYMAP_VS_MEMORYMAP
-Mcu.Pin81=VP_STMicroelectronics.X-CUBE-EEPRMA1_VS_BoardOoPartJjEEPROM_5.1.0_5.1.0
+Mcu.Pin80=VP_TIM8_VS_ControllerModeReset
+Mcu.Pin81=VP_TIM8_VS_ClockSourceINT
+Mcu.Pin82=VP_VREFBUF_V_VREFBUF
+Mcu.Pin83=VP_MEMORYMAP_VS_MEMORYMAP
+Mcu.Pin84=VP_STMicroelectronics.X-CUBE-EEPRMA1_VS_BoardOoPartJjEEPROM_5.1.0_5.1.0
 Mcu.Pin9=PC0
-Mcu.PinsNb=82
+Mcu.PinsNb=85
 Mcu.ThirdParty0=STMicroelectronics.X-CUBE-AZRTOS-H7.3.3.0
 Mcu.ThirdParty1=STMicroelectronics.X-CUBE-EEPRMA1.5.1.0
@@ -498,4 +509,7 @@
 PA8.Locked=true
 PA8.Signal=GPIO_Input
+PB0.Locked=true
+PB0.Signal=ADCx_INN5
+PB1.Signal=ADCx_INP5
 PB10.GPIOParameters=GPIO_Speed,GPIO_Label
 PB10.GPIO_Label=ETH_SPI_SCK
@@ -515,4 +529,8 @@
 PB15.Mode=Full_Duplex_Master
 PB15.Signal=SPI2_MOSI
+PB2.GPIOParameters=GPIO_Label
+PB2.GPIO_Label=U_BAT_SCALE_SWITCH
+PB2.Locked=true
+PB2.Signal=GPIO_Output
 PB4(NJTRST).GPIOParameters=PinState,GPIO_Label
 PB4(NJTRST).GPIO_Label=ETH_SPI_NSS
@@ -750,5 +768,5 @@
 ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-MX_BDMA_Init-BDMA-false-HAL-true,4-MX_RTC_Init-RTC-false-HAL-true,5-MX_SPI4_Init-SPI4-false-HAL-true,6-MX_SDMMC1_SD_Init-SDMMC1-false-HAL-true,7-SystemClock_Config-RCC-false-HAL-false,8-MX_FATFS_Init-FATFS-false-HAL-false,9-MX_TIM8_Init-TIM8-false-HAL-true,10-MX_SPI2_Init-SPI2-false-HAL-true,11-MX_USART2_UART_Init-USART2-false-HAL-true,12-MX_USART10_UART_Init-USART10-false-HAL-true,13-MX_TIM6_Init-TIM6-false-HAL-true,14-MX_I2C2_Init-I2C2-false-HAL-true,15-MX_ADC3_Init-ADC3-false-HAL-true,16-MX_TIM3_Init-TIM3-false-HAL-true,17-MX_I2C1_Init-I2C1-false-HAL-true,18-MX_USART3_UART_Init-USART3-false-HAL-true,19-MX_DTS_Init-DTS-false-HAL-true,20-MX_DAC1_Init-DAC1-false-HAL-true,21-MX_TIM1_Init-TIM1-false-HAL-true,22-MX_ADC2_Init-ADC2-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true,0-MX_VREFBUF_Init-VREFBUF-false-HAL-true
 RCC.ADCCLockSelection=RCC_ADCCLKSOURCE_PLL3
-RCC.ADCFreq_Value=50000000
+RCC.ADCFreq_Value=100000000
 RCC.AHB12Freq_Value=100000000
 RCC.AHB4Freq_Value=100000000
@@ -770,18 +788,17 @@
 RCC.DIVN1=40
 RCC.DIVN2=20
-RCC.DIVN3=150
+RCC.DIVN3=200
 RCC.DIVP1Freq_Value=100000000
 RCC.DIVP2Freq_Value=125000000
-RCC.DIVP3Freq_Value=75000000
+RCC.DIVP3Freq_Value=100000000
 RCC.DIVQ1Freq_Value=100000000
 RCC.DIVQ2=11
 RCC.DIVQ2Freq_Value=22727272.727272727
-RCC.DIVQ3=6
+RCC.DIVQ3=8
 RCC.DIVQ3Freq_Value=25000000
 RCC.DIVR1Freq_Value=100000000
 RCC.DIVR2=5
 RCC.DIVR2Freq_Value=50000000
-RCC.DIVR3=3
-RCC.DIVR3Freq_Value=50000000
+RCC.DIVR3Freq_Value=100000000
 RCC.EnbaleCSS=false
 RCC.FDCANFreq_Value=100000000
@@ -793,10 +810,10 @@
 RCC.I2C123Freq_Value=64000000
 RCC.I2C4Freq_Value=100000000
-RCC.IPParameters=ADCCLockSelection,ADCFreq_Value,AHB12Freq_Value,AHB4Freq_Value,APB1Freq_Value,APB2Freq_Value,APB3Freq_Value,APB4Freq_Value,AXIClockFreq_Value,CECFreq_Value,CKPERFreq_Value,CortexFreq_Value,CpuClockFreq_Value,D1CPREFreq_Value,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVM2,DIVM3,DIVN1,DIVN2,DIVN3,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3Freq_Value,DIVQ1Freq_Value,DIVQ2,DIVQ2Freq_Value,DIVQ3,DIVQ3Freq_Value,DIVR1Freq_Value,DIVR2,DIVR2Freq_Value,DIVR3,DIVR3Freq_Value,EnbaleCSS,FDCANFreq_Value,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,I2C123CLockSelection,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLL2FRACN,PLL2_VCI_Range-AdvancedSettings,PLL2_VCO_SEL-AdvancedSettings,PLLFRACN,PLLSourceVirtual,PWR_Regulator_Voltage_Scale,QSPIFreq_Value,RNGFreq_Value,RTCClockSelection,RTCFreq_Value,SAI1Freq_Value,SAI4AFreq_Value,SAI4BFreq_Value,SDMMC1CLockSelection,SDMMCFreq_Value,SPDIFRXFreq_Value,SPI123CLockSelection,SPI123Freq_Value,SPI45Freq_Value,SPI6Freq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,Spi45ClockSelection,Tim1OutputFreq_Value,Tim2OutputFreq_Value,TraceFreq_Value,USART16CLockSelection,USART16Freq_Value,USART234578CLockSelection,USART234578Freq_Value,USBFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value
+RCC.IPParameters=ADCCLockSelection,ADCFreq_Value,AHB12Freq_Value,AHB4Freq_Value,APB1Freq_Value,APB2Freq_Value,APB3Freq_Value,APB4Freq_Value,AXIClockFreq_Value,CECFreq_Value,CKPERFreq_Value,CortexFreq_Value,CpuClockFreq_Value,D1CPREFreq_Value,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVM2,DIVM3,DIVN1,DIVN2,DIVN3,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3Freq_Value,DIVQ1Freq_Value,DIVQ2,DIVQ2Freq_Value,DIVQ3,DIVQ3Freq_Value,DIVR1Freq_Value,DIVR2,DIVR2Freq_Value,DIVR3Freq_Value,EnbaleCSS,FDCANFreq_Value,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,I2C123CLockSelection,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLL2FRACN,PLL2_VCI_Range-AdvancedSettings,PLL2_VCO_SEL-AdvancedSettings,PLLFRACN,PLLSourceVirtual,PWR_Regulator_Voltage_Scale,QSPIFreq_Value,RNGFreq_Value,RTCClockSelection,RTCFreq_Value,SAI1Freq_Value,SAI4AFreq_Value,SAI4BFreq_Value,SDMMC1CLockSelection,SDMMCFreq_Value,SPDIFRXFreq_Value,SPI123CLockSelection,SPI123Freq_Value,SPI45Freq_Value,SPI6Freq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,Spi45ClockSelection,Tim1OutputFreq_Value,Tim2OutputFreq_Value,TraceFreq_Value,USART16CLockSelection,USART16Freq_Value,USART234578CLockSelection,USART234578Freq_Value,USBFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value
 RCC.LPTIM1Freq_Value=100000000
 RCC.LPTIM2Freq_Value=100000000
 RCC.LPTIM345Freq_Value=100000000
 RCC.LPUART1Freq_Value=100000000
-RCC.LTDCFreq_Value=50000000
+RCC.LTDCFreq_Value=100000000
 RCC.MCO1PinFreq_Value=64000000
 RCC.MCO2PinFreq_Value=100000000
@@ -835,5 +852,5 @@
 RCC.VCO1OutputFreq_Value=200000000
 RCC.VCO2OutputFreq_Value=250000000
-RCC.VCO3OutputFreq_Value=150000000
+RCC.VCO3OutputFreq_Value=200000000
 RCC.VCOInput1Freq_Value=5000000
 RCC.VCOInput2Freq_Value=12500000
@@ -851,4 +868,6 @@
 SH.ADCx_INN4.0=ADC2_INN4,IN4-Differential
 SH.ADCx_INN4.ConfNb=1
+SH.ADCx_INN5.0=ADC2_INN5,IN5-Differential
+SH.ADCx_INN5.ConfNb=1
 SH.ADCx_INP10.0=ADC3_INP10,IN10-Single-Ended
 SH.ADCx_INP10.ConfNb=1
@@ -857,4 +876,6 @@
 SH.ADCx_INP4.0=ADC2_INP4,IN4-Differential
 SH.ADCx_INP4.ConfNb=1
+SH.ADCx_INP5.0=ADC2_INP5,IN5-Differential
+SH.ADCx_INP5.ConfNb=1
 SH.COMP_DAC11_group.0=DAC1_OUT1,DAC_OUT1
 SH.COMP_DAC11_group.ConfNb=1
@@ -926,5 +947,5 @@
 TIM1.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3
 TIM1.DeadTime=20
-TIM1.IPParameters=Channel-PWM Generation1 CH1 CH1N,Prescaler,Period,AutoReloadPreload,OCNPolarity_1,OCIdleState_1,Pulse-PWM Generation1 CH1 CH1N,BreakState,AutomaticOutput,OffStateRunMode,OffStateIDLEMode,LockLevel,DeadTime,Channel-PWM Generation3 CH3
+TIM1.IPParameters=Channel-PWM Generation1 CH1 CH1N,Prescaler,Period,AutoReloadPreload,OCNPolarity_1,OCIdleState_1,Pulse-PWM Generation1 CH1 CH1N,BreakState,AutomaticOutput,OffStateRunMode,OffStateIDLEMode,LockLevel,DeadTime,Channel-PWM Generation3 CH3,TIM_MasterOutputTrigger
 TIM1.LockLevel=TIM_LOCKLEVEL_1
 TIM1.OCIdleState_1=TIM_OCIDLESTATE_SET
@@ -935,4 +956,5 @@
 TIM1.Prescaler=0
 TIM1.Pulse-PWM\ Generation1\ CH1\ CH1N=50
+TIM1.TIM_MasterOutputTrigger=TIM_TRGO_RESET
 TIM3.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
 TIM3.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2
