diff --git a/Core/Inc/main.h b/Core/Inc/main.h
index 8d33239..11b7966 100644
--- a/Core/Inc/main.h
+++ b/Core/Inc/main.h
@@ -113,7 +113,7 @@ void Error_Handler(void);
#if (defined(TOF_1)||defined(TOF_2)||defined(STS_R1)||defined(STS_R5)||defined(STS_R1D))
#define VL53L0
-#elif defined(STS_P2)
+#elif (defined(STS_P2)||defined(STS_T6))
#define VL53LX 1
#endif
diff --git a/Core/Inc/utilities_def.h b/Core/Inc/utilities_def.h
index c0fe858..32a810d 100644
--- a/Core/Inc/utilities_def.h
+++ b/Core/Inc/utilities_def.h
@@ -92,7 +92,7 @@ typedef enum
#if defined(STS_R1)||defined(STS_R1D)||defined(STS_R5)||defined(STS_R2)
CFG_SEQ_Task_YunhornSTSEventP4, /* TOF RANGE */
#endif
-#ifdef STS_P2
+#if defined(STS_P2)||defined(STS_T6)
CFG_SEQ_Task_YunhornSTSEventP5, /* TOF IN-OUT */
#endif
#ifdef STS_R4
diff --git a/Core/Src/sys_app.c b/Core/Src/sys_app.c
index cefc8f5..e566b3a 100644
--- a/Core/Src/sys_app.c
+++ b/Core/Src/sys_app.c
@@ -117,7 +117,7 @@ void SystemApp_Init(void)
/*Initialize the Sensors */
EnvSensors_Init();
-#ifdef STS_P2
+#if defined(STS_P2)||defined(STS_T6)
STS_TOF_VL53LX_PeopleCounting_Process_Init();
#endif
/*Init low power manager*/
diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c
index 4c96e8b..252e2d3 100644
--- a/LoRaWAN/App/lora_app.c
+++ b/LoRaWAN/App/lora_app.c
@@ -518,7 +518,7 @@ void LoRaWAN_Init(void)
#endif
-#ifdef STS_P2
+#if defined(STS_P2)||defined(STS_T6)
UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP5), UTIL_SEQ_RFU, STS_YunhornSTSEventP5_Process);
@@ -531,7 +531,8 @@ void LoRaWAN_Init(void)
#ifdef VL53L0
UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP4), UTIL_SEQ_RFU, STS_YunhornSTSEventP4_Process);
#endif
-#ifdef STS_P2
+
+#if defined(STS_P2)||defined(STS_T6)
UTIL_TIMER_Create(&YunhornSTSWakeUpScanTimer, STS_TOFScanPeriod_msec, UTIL_TIMER_PERIODIC, (void*)OnYunhornSTSWakeUpScanTimerEvent, NULL);
UTIL_TIMER_Start(&YunhornSTSWakeUpScanTimer);
#endif
@@ -752,6 +753,8 @@ static void SendTxData(void)
UTIL_TIMER_Time_t nextTxIn = 0;
#ifdef STS_P2
sts_people_count_sensor_data_t sts_p2_sensor_data={0x0};
+#elif defined(STS_T6)
+ sts_tof_presence_detection_sensor_data_t sts_t6_sensor_data={0x0};
#elif defined(STS_R1)||defined(STS_R1D)||defined(STS_R2)||defined(STS_R5)
sts_tof_range_data_t sts_rr_sensor_data={0x0,0x0,0x0};
#elif defined(STS_R4)
@@ -792,7 +795,11 @@ static void SendTxData(void)
#ifdef VL53LX
+#ifdef STS_P2
STS_people_count_sensor_Read(&sts_p2_sensor_data);
+#elif defined(STS_T6)
+ STS_tof_presence_detection_sensor_Read(&sts_t6_sensor_data);
+#endif
#endif
#ifdef VL53L0
@@ -1454,7 +1461,7 @@ void OnYunhornSTSHeartBeatPeriodicityChanged(uint32_t periodicity)
/* USER CODE BEGIN PrFD_YunhornSTSWakeUpScanTimerEvents */
static void OnYunhornSTSWakeUpScanTimerEvent(void *context)
{
-#ifdef STS_P2
+#if defined(STS_P2)||defined(STS_T6)
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP5), CFG_SEQ_Prio_0);
UTIL_TIMER_Start(&YunhornSTSWakeUpScanTimer);
diff --git a/README.md b/README.md
index 049426a..f81cc4b 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
---- STS-P2 ---
- 2024 09 11 START P2A
- 2024 09 12 GOOD P2A merge to P2
- 2024 09 20 Overall good of Yunhorn STS AUTO RESPONDER PARSE
-
- 2024 09 20 START RR
- 2024 09 25 START R1D
- 2024 09 27 GOOD STS-R4 on single board RM2_1
+--- STS-P2 ---
+ 2024 09 11 START P2A
+ 2024 09 12 GOOD P2A merge to P2
+ 2024 09 20 Overall good of Yunhorn STS AUTO RESPONDER PARSE
+
+ 2024 09 20 START RR
+ 2024 09 25 START R1D
+ 2024 09 27 GOOD STS-R4 on single board RM2_1
diff --git a/STM32CubeIDE/.cproject b/STM32CubeIDE/.cproject
index dc1d683..5434398 100644
--- a/STM32CubeIDE/.cproject
+++ b/STM32CubeIDE/.cproject
@@ -133,7 +133,7 @@