diff --git a/avrdude.vcxproj b/avrdude.vcxproj
index d88fd3d4..17f1d23f 100644
--- a/avrdude.vcxproj
+++ b/avrdude.vcxproj
@@ -92,6 +92,9 @@
       <SubSystem>Console</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
     </Link>
+    <ResourceCompile>
+      <PreprocessorDefinitions>DEBUG;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ResourceCompile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <ClCompile>
@@ -104,6 +107,9 @@
       <SubSystem>Console</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
     </Link>
+    <ResourceCompile>
+      <PreprocessorDefinitions>DEBUG;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ResourceCompile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
@@ -121,6 +127,9 @@
       <OptimizeReferences>true</OptimizeReferences>
       <GenerateDebugInformation>true</GenerateDebugInformation>
     </Link>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ResourceCompile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <ClCompile>
@@ -138,6 +147,9 @@
       <OptimizeReferences>true</OptimizeReferences>
       <GenerateDebugInformation>true</GenerateDebugInformation>
     </Link>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ResourceCompile>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="arduino.c" />
@@ -231,7 +243,9 @@
     <ClInclude Include="msvc\IntegerHandleMap.h" />
     <ClInclude Include="msvc\pthread.h" />
     <ClInclude Include="msvc\ReaderWriterLock.h" />
+    <ClInclude Include="msvc\resource.h" />
     <ClInclude Include="msvc\semaphore.h" />
+    <ClInclude Include="msvc\version.h" />
     <ClInclude Include="my_ddk_hidsdi.h" />
     <ClInclude Include="par.h" />
     <ClInclude Include="pickit2.h" />
@@ -273,6 +287,17 @@
       <Project>{22615ec5-9dbc-4538-9c01-2cd535b3810b}</Project>
     </ProjectReference>
   </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="msvc\avrdude.rc" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="msvc\res\resource.rc2">
+      <FileType>Text</FileType>
+    </None>
+    <None Include="msvc\res\version.rc2">
+      <FileType>Text</FileType>
+    </None>
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
diff --git a/avrdude.vcxproj.filters b/avrdude.vcxproj.filters
index cddf0460..e80d4828 100644
--- a/avrdude.vcxproj.filters
+++ b/avrdude.vcxproj.filters
@@ -12,10 +12,13 @@
     <Filter Include="3 Generated Files">
       <UniqueIdentifier>{be5ce6e6-223e-4d41-8915-29103d899c5a}</UniqueIdentifier>
     </Filter>
-    <Filter Include="4 msvc">
+    <Filter Include="4 Resource Files">
+      <UniqueIdentifier>{a7668888-00c6-4911-9e47-7af645f31778}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="5 msvc">
       <UniqueIdentifier>{dbbd7498-e1e9-4d80-b91f-137dc5b988f1}</UniqueIdentifier>
     </Filter>
-    <Filter Include="4 msvc\sys">
+    <Filter Include="5 msvc\sys">
       <UniqueIdentifier>{1cc9d4fb-f03f-48cb-8af7-3e96681dc03b}</UniqueIdentifier>
     </Filter>
   </ItemGroup>
@@ -168,22 +171,22 @@
       <Filter>3 Generated Files</Filter>
     </ClCompile>
     <ClCompile Include="msvc\getopt.c">
-      <Filter>4 msvc</Filter>
+      <Filter>5 msvc</Filter>
     </ClCompile>
     <ClCompile Include="msvc\gettimeofday.c">
-      <Filter>4 msvc</Filter>
+      <Filter>5 msvc</Filter>
     </ClCompile>
     <ClCompile Include="msvc\unistd.cpp">
-      <Filter>4 msvc</Filter>
+      <Filter>5 msvc</Filter>
     </ClCompile>
     <ClCompile Include="msvc\usb_com_helper.cpp">
-      <Filter>4 msvc</Filter>
+      <Filter>5 msvc</Filter>
     </ClCompile>
     <ClCompile Include="msvc\pthread.cpp">
-      <Filter>4 msvc</Filter>
+      <Filter>5 msvc</Filter>
     </ClCompile>
     <ClCompile Include="msvc\semaphore.cpp">
-      <Filter>4 msvc</Filter>
+      <Filter>5 msvc</Filter>
     </ClCompile>
   </ItemGroup>
   <ItemGroup>
@@ -326,34 +329,53 @@
       <Filter>3 Generated Files</Filter>
     </ClInclude>
     <ClInclude Include="msvc\getopt.h">
-      <Filter>4 msvc</Filter>
+      <Filter>5 msvc</Filter>
     </ClInclude>
     <ClInclude Include="msvc\unistd.h">
-      <Filter>4 msvc</Filter>
+      <Filter>5 msvc</Filter>
     </ClInclude>
     <ClInclude Include="msvc\sys\time.h">
-      <Filter>4 msvc\sys</Filter>
+      <Filter>5 msvc\sys</Filter>
     </ClInclude>
     <ClInclude Include="msvc\msvc_compat.h">
-      <Filter>4 msvc</Filter>
+      <Filter>5 msvc</Filter>
     </ClInclude>
     <ClInclude Include="msvc\usb_com_helper.h">
-      <Filter>4 msvc</Filter>
+      <Filter>5 msvc</Filter>
     </ClInclude>
     <ClInclude Include="msvc\usb_com_locator.h">
-      <Filter>4 msvc</Filter>
+      <Filter>5 msvc</Filter>
     </ClInclude>
     <ClInclude Include="msvc\pthread.h">
-      <Filter>4 msvc</Filter>
+      <Filter>5 msvc</Filter>
     </ClInclude>
     <ClInclude Include="msvc\semaphore.h">
-      <Filter>4 msvc</Filter>
+      <Filter>5 msvc</Filter>
     </ClInclude>
     <ClInclude Include="msvc\ReaderWriterLock.h">
-      <Filter>4 msvc</Filter>
+      <Filter>5 msvc</Filter>
     </ClInclude>
     <ClInclude Include="msvc\IntegerHandleMap.h">
-      <Filter>4 msvc</Filter>
+      <Filter>5 msvc</Filter>
+    </ClInclude>
+    <ClInclude Include="msvc\resource.h">
+      <Filter>2 Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="msvc\version.h">
+      <Filter>4 Resource Files</Filter>
     </ClInclude>
   </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="msvc\avrdude.rc">
+      <Filter>4 Resource Files</Filter>
+    </ResourceCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="msvc\res\resource.rc2">
+      <Filter>4 Resource Files</Filter>
+    </None>
+    <None Include="msvc\res\version.rc2">
+      <Filter>4 Resource Files</Filter>
+    </None>
+  </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/msvc/avrdude.rc b/msvc/avrdude.rc
new file mode 100644
index 00000000..c3a80f99
Binary files /dev/null and b/msvc/avrdude.rc differ
diff --git a/msvc/res/resource.rc2 b/msvc/res/resource.rc2
new file mode 100644
index 00000000..40df015a
--- /dev/null
+++ b/msvc/res/resource.rc2
@@ -0,0 +1,16 @@
+//
+// resource.rc2
+// Copyright (C) 2020 Marius Greuel. All rights reserved.
+//
+
+#ifdef APSTUDIO_INVOKED
+#error this file is not editable by Microsoft Visual C++
+#endif //APSTUDIO_INVOKED
+
+#pragma code_page(1252)
+
+//////////////////////////////////////////////////////////////////////////// Version
+
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+
+#include "version.rc2"
diff --git a/msvc/res/version.rc2 b/msvc/res/version.rc2
new file mode 100644
index 00000000..0ef9e5b9
--- /dev/null
+++ b/msvc/res/version.rc2
@@ -0,0 +1,102 @@
+//
+// Version.rc2
+// Copyright (C) 2020 Marius Greuel. All rights reserved.
+//
+
+/////////////////////////////////////////////////////////////////////////////
+
+#include "..\version.h"
+
+#define _STR(s) #s
+#define _VER_STR(a, b, c, d) _STR(a) "." _STR(b) "." _STR(c) "." _STR(d)
+
+#ifndef VER_FILEVERSION
+#define VER_FILEVERSION VER_MAJOR,VER_MINOR,VER_BUILD,VER_REVISION
+#endif
+
+#ifndef VER_FILEVERSION_STR
+#define VER_FILEVERSION_STR _VER_STR(VER_MAJOR, VER_MINOR, VER_BUILD, VER_REVISION)
+#endif
+
+#ifndef VER_PRODUCTVERSION
+#define VER_PRODUCTVERSION VER_FILEVERSION
+#endif
+
+#ifndef VER_PRODUCTVERSION_STR
+#define VER_PRODUCTVERSION_STR VER_FILEVERSION_STR
+#endif
+
+#ifndef VER_COMPANYNAME_STR
+#define VER_COMPANYNAME_STR         "Marius Greuel"
+#endif
+
+#ifndef VER_FILEDESCRIPTION_STR
+#define VER_FILEDESCRIPTION_STR     "AVRDUDE"
+#endif
+
+#ifndef VER_PRODUCTNAME_STR
+#define VER_PRODUCTNAME_STR         "AVRDUDE"
+#endif
+
+#ifndef VER_INTERNALNAME_STR
+#define VER_INTERNALNAME_STR        "avrdude.exe"
+#endif
+
+#ifndef VER_LEGALCOPYRIGHT_STR
+#define VER_LEGALCOPYRIGHT_STR      "\251 2020 The AVRDUDE authors."
+#endif
+
+#ifndef VER_ORIGINALFILENAME_STR
+#define VER_ORIGINALFILENAME_STR    VER_INTERNALNAME_STR
+#endif
+
+#ifndef VER_FILETYPE
+#define VER_FILETYPE                VFT_APP
+#define VER_FILESUBTYPE             0
+#endif
+
+#ifdef RC_INVOKED
+
+#ifdef DEBUG
+#define VER_DEBUG                   VS_FF_DEBUG
+#else
+#define VER_DEBUG                   0
+#endif
+
+#define VER_FILEFLAGSMASK           VS_FFI_FILEFLAGSMASK
+#define VER_FILEOS                  VOS__WINDOWS32
+#define VER_FILEFLAGS               (VER_DEBUG)
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION    VER_FILEVERSION
+PRODUCTVERSION VER_PRODUCTVERSION
+FILEFLAGSMASK  VER_FILEFLAGSMASK
+FILEFLAGS      VER_FILEFLAGS
+FILEOS         VER_FILEOS
+FILETYPE       VER_FILETYPE
+FILESUBTYPE    VER_FILESUBTYPE
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904b0" // LANG_ENGLISH/SUBLANG_ENGLISH_US, Unicode CP
+        BEGIN
+#ifdef VER_COMMENTS_STR
+            VALUE "Comments",        VER_COMMENTS_STR
+#endif
+            VALUE "CompanyName",     VER_COMPANYNAME_STR
+            VALUE "FileDescription", VER_FILEDESCRIPTION_STR
+            VALUE "FileVersion",     VER_FILEVERSION_STR
+            VALUE "InternalName",    VER_INTERNALNAME_STR
+            VALUE "LegalCopyright",  VER_LEGALCOPYRIGHT_STR
+            VALUE "OriginalFilename",VER_ORIGINALFILENAME_STR
+            VALUE "ProductName",     VER_PRODUCTNAME_STR
+            VALUE "ProductVersion",  VER_PRODUCTVERSION_STR
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x0409, 1200 //LANG_ENGLISH/SUBLANG_ENGLISH_US, Unicode CP
+    END
+END
+
+#endif // RC_INVOKED
diff --git a/msvc/resource.h b/msvc/resource.h
new file mode 100644
index 00000000..5fc0827a
Binary files /dev/null and b/msvc/resource.h differ
diff --git a/msvc/version.h b/msvc/version.h
new file mode 100644
index 00000000..4ee4c8da
--- /dev/null
+++ b/msvc/version.h
@@ -0,0 +1,14 @@
+//
+// version.h
+// Copyright (C) 2020 Marius Greuel. All rights reserved.
+//
+
+#define PRD_MAJOR       6
+#define PRD_MINOR       3
+#define PRD_BUILD       1
+#define PRD_REVISION    0
+
+#define VER_MAJOR       PRD_MAJOR
+#define VER_MINOR       PRD_MINOR
+#define VER_BUILD       PRD_BUILD
+#define VER_REVISION    PRD_REVISION