diff --git a/Core/Inc/yunhorn_sts_prd_conf.h b/Core/Inc/yunhorn_sts_prd_conf.h
index 67925fd..2ddcfc3 100644
--- a/Core/Inc/yunhorn_sts_prd_conf.h
+++ b/Core/Inc/yunhorn_sts_prd_conf.h
@@ -221,7 +221,7 @@
#define MajorVer 24U
#define MinorVer 06U
-#define SubMinorVer 07U
+#define SubMinorVer 12U
#define FirmwareVersion 3U
#define YUNHORN_STS_MAX_NVM_CFG_SIZE 64U
diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c
index d395de1..f620f60 100644
--- a/LoRaWAN/App/lora_app.c
+++ b/LoRaWAN/App/lora_app.c
@@ -1849,8 +1849,19 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
APP_LOG(TS_OFF, VLEVEL_M, "\r\nTime YYYYMMDD=%4d:%2d:%2d HHMMSS=%2d:%2d:%2d \r\n",
mylocal.tm_year, mylocal.tm_mon, mylocal.tm_mday, mylocal.tm_hour, mylocal.tm_min, mylocal.tm_sec);
#endif
- outbuf[i++] = (uint8_t) (localtime.tm_year+1900)>>8&0x0ff;
- outbuf[i++] = (uint8_t) (localtime.tm_year+1900)&0xff;
+ i=0;
+ outbuf[i++] = (uint8_t) 'V';
+ outbuf[i++] = (uint8_t) sts_mtmcode1;
+ outbuf[i++] = (uint8_t) sts_mtmcode2;
+ outbuf[i++] = (uint8_t) sts_version;
+ outbuf[i++] = (uint8_t) sts_hardware_ver;
+ outbuf[i++] = (uint8_t) MajorVer;
+ outbuf[i++] = (uint8_t) MinorVer;
+ outbuf[i++] = (uint8_t) SubMinorVer;
+ uint16_t year = localtime.tm_year+1900;
+ outbuf[i++] = (uint8_t) ((year)>>8);
+ outbuf[i++] = (uint8_t) (year)&0xff;
+
outbuf[i++] = (uint8_t) localtime.tm_mon+1;
outbuf[i++] = (uint8_t) localtime.tm_mday;
outbuf[i++] = (uint8_t) localtime.tm_hour;
diff --git a/STM32CubeIDE/.cproject b/STM32CubeIDE/.cproject
index 1bc22b8..24a19c7 100644
--- a/STM32CubeIDE/.cproject
+++ b/STM32CubeIDE/.cproject
@@ -153,6 +153,7 @@