diff --git a/c++/build/linux32/Makefile b/c++/build/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..785b8fd0505b80479493e5ae71128f0c1b71465e
--- /dev/null
+++ b/c++/build/linux32/Makefile
@@ -0,0 +1,121 @@
+##################################################
+# PROJECT: DynamixelSDK - ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# C++ COMPILER, COMPILER FLAGS, AND TARGET PROGRAM NAME
+#---------------------------------------------------------------------
+DIR_DXL     = ../..
+DIR_OBJS    = ./.objects
+
+INSTALL_ROOT = /usr/local
+
+MAJ_VERSION = 2
+MIN_VERSION = 0
+REV_VERSION = 0
+
+TARGET      = libdxl.so
+TARGET1     = $(TARGET).$(MAJ_VERSION)
+TARGET2     = $(TARGET).$(MAJ_VERSION).$(MIN_VERSION)
+TARGET3     = $(TARGET).$(MAJ_VERSION).$(MIN_VERSION).$(REV_VERSION)
+
+CHK_DIR_EXISTS = test -d
+PRINT       = echo
+STRIP       = strip
+AR          = ar
+ARFLAGS     = cr
+LD          = g++
+LDFLAGS     = -shared -fPIC $(FORMAT)#-Wl,-soname,dxl
+LD_CONFIG   = ldconfig
+CP          = cp
+CP_ALL      = cp -r
+RM          = rm
+RM_ALL      = rm -rf
+SYMLINK     = ln -s
+MKDIR       = mkdir
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall -c $(INCLUDES) $(FORMAT) -fPIC -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall -c $(INCLUDES) $(FORMAT) -fPIC -g
+FORMAT     = -m32
+INCLUDES    += -I$(DIR_DXL)/include
+
+#---------------------------------------------------------------------
+# Required external libraries
+#---------------------------------------------------------------------
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# SDK Files
+#---------------------------------------------------------------------
+SOURCES  = src/dynamixel_sdk/GroupBulkRead.cpp \
+           src/dynamixel_sdk/GroupBulkWrite.cpp \
+           src/dynamixel_sdk/GroupSyncRead.cpp \
+           src/dynamixel_sdk/GroupSyncWrite.cpp \
+           src/dynamixel_sdk/PacketHandler.cpp \
+           src/dynamixel_sdk/PortHandler.cpp \
+           src/dynamixel_sdk/Protocol1PacketHandler.cpp \
+           src/dynamixel_sdk/Protocol2PacketHandler.cpp \
+           src/dynamixel_sdk_linux/PortHandlerLinux.cpp \
+
+
+OBJECTS=$(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+
+
+#---------------------------------------------------------------------
+# COMPILING RULES
+#---------------------------------------------------------------------
+$(TARGET): makedirs $(OBJECTS)
+	$(LD) $(LDFLAGS) -o ./$(TARGET) $(OBJECTS) $(LIBRARIES)
+
+makedirs:
+	mkdir -p $(DIR_OBJS)/
+
+clean:
+	rm -f $(OBJECTS) ./$(TARGET)
+
+install: $(TARGET)
+    # copy the binaries into the lib directory
+	@$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/lib || $(MKDIR) $(INSTALL_ROOT)/lib
+	-$(CP) "./$(TARGET)" "$(INSTALL_ROOT)/lib/$(TARGET)"
+	-$(SYMLINK) "$(INSTALL_ROOT)/lib/$(TARGET)" "$(INSTALL_ROOT)/lib/$(TARGET1)"
+	-$(SYMLINK) "$(INSTALL_ROOT)/lib/$(TARGET)" "$(INSTALL_ROOT)/lib/$(TARGET2)"
+	-$(SYMLINK) "$(INSTALL_ROOT)/lib/$(TARGET)" "$(INSTALL_ROOT)/lib/$(TARGET3)"
+
+    # copy the headers into the include directory
+	@$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/include || $(MKDIR) $(INSTALL_ROOT)/include
+	$(CP_ALL) $(DIR_DXL)/include/* $(INSTALL_ROOT)/include/
+
+	$(LD_CONFIG)
+
+uninstall:
+	$(RM) $(INSTALL_ROOT)/lib/$(TARGET)
+	$(RM) $(INSTALL_ROOT)/lib/$(TARGET1)
+	$(RM) $(INSTALL_ROOT)/lib/$(TARGET2)
+	$(RM) $(INSTALL_ROOT)/lib/$(TARGET3)
+
+	$(RM) $(INSTALL_ROOT)/include/DynamixelSDK.h
+	$(RM_ALL) $(INSTALL_ROOT)/include/dynamixel_sdk*
+
+reinstall: uninstall install
+
+
+#---------------------------------------------------------------------
+# Make rules for all .c and .cpp files in each directory
+#---------------------------------------------------------------------
+
+$(DIR_OBJS)/%.o: $(DIR_DXL)/src/dynamixel_sdk/%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: $(DIR_DXL)/src/dynamixel_sdk/%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: $(DIR_DXL)/src/dynamixel_sdk_linux/%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: $(DIR_DXL)/src/dynamixel_sdk_linux/%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# END OF MAKEFILE
+#---------------------------------------------------------------------
diff --git a/c++/build/linux64/Makefile b/c++/build/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..daa961c74467f14634ba585eef483f3493108c7e
--- /dev/null
+++ b/c++/build/linux64/Makefile
@@ -0,0 +1,121 @@
+##################################################
+# PROJECT: DynamixelSDK - ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# C++ COMPILER, COMPILER FLAGS, AND TARGET PROGRAM NAME
+#---------------------------------------------------------------------
+DIR_DXL     = ../..
+DIR_OBJS    = ./.objects
+
+INSTALL_ROOT = /usr/local
+
+MAJ_VERSION = 2
+MIN_VERSION = 0
+REV_VERSION = 0
+
+TARGET      = libdxl.so
+TARGET1     = $(TARGET).$(MAJ_VERSION)
+TARGET2     = $(TARGET).$(MAJ_VERSION).$(MIN_VERSION)
+TARGET3     = $(TARGET).$(MAJ_VERSION).$(MIN_VERSION).$(REV_VERSION)
+
+CHK_DIR_EXISTS = test -d
+PRINT       = echo
+STRIP       = strip
+AR          = ar
+ARFLAGS     = cr
+LD          = g++
+LDFLAGS     = -shared -fPIC $(FORMAT)#-Wl,-soname,dxl
+LD_CONFIG   = ldconfig
+CP          = cp
+CP_ALL      = cp -r
+RM          = rm
+RM_ALL      = rm -rf
+SYMLINK     = ln -s
+MKDIR       = mkdir
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall -c $(INCLUDES) $(FORMAT) -fPIC -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall -c $(INCLUDES) $(FORMAT) -fPIC -g
+FORMAT     = -m64
+INCLUDES    += -I$(DIR_DXL)/include
+
+#---------------------------------------------------------------------
+# Required external libraries
+#---------------------------------------------------------------------
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# SDK Files
+#---------------------------------------------------------------------
+SOURCES  = src/dynamixel_sdk/GroupBulkRead.cpp \
+           src/dynamixel_sdk/GroupBulkWrite.cpp \
+           src/dynamixel_sdk/GroupSyncRead.cpp \
+           src/dynamixel_sdk/GroupSyncWrite.cpp \
+           src/dynamixel_sdk/PacketHandler.cpp \
+           src/dynamixel_sdk/PortHandler.cpp \
+           src/dynamixel_sdk/Protocol1PacketHandler.cpp \
+           src/dynamixel_sdk/Protocol2PacketHandler.cpp \
+           src/dynamixel_sdk_linux/PortHandlerLinux.cpp \
+
+
+OBJECTS=$(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+
+
+#---------------------------------------------------------------------
+# COMPILING RULES
+#---------------------------------------------------------------------
+$(TARGET): makedirs $(OBJECTS)
+	$(LD) $(LDFLAGS) -o ./$(TARGET) $(OBJECTS) $(LIBRARIES)
+
+makedirs:
+	mkdir -p $(DIR_OBJS)/
+
+clean:
+	rm -f $(OBJECTS) ./$(TARGET)
+
+install: $(TARGET)
+    # copy the binaries into the lib directory
+	@$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/lib || $(MKDIR) $(INSTALL_ROOT)/lib
+	-$(CP) "./$(TARGET)" "$(INSTALL_ROOT)/lib/$(TARGET)"
+	-$(SYMLINK) "$(INSTALL_ROOT)/lib/$(TARGET)" "$(INSTALL_ROOT)/lib/$(TARGET1)"
+	-$(SYMLINK) "$(INSTALL_ROOT)/lib/$(TARGET)" "$(INSTALL_ROOT)/lib/$(TARGET2)"
+	-$(SYMLINK) "$(INSTALL_ROOT)/lib/$(TARGET)" "$(INSTALL_ROOT)/lib/$(TARGET3)"
+
+    # copy the headers into the include directory
+	@$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/include || $(MKDIR) $(INSTALL_ROOT)/include
+	$(CP_ALL) $(DIR_DXL)/include/* $(INSTALL_ROOT)/include/
+
+	$(LD_CONFIG)
+
+uninstall:
+	$(RM) $(INSTALL_ROOT)/lib/$(TARGET)
+	$(RM) $(INSTALL_ROOT)/lib/$(TARGET1)
+	$(RM) $(INSTALL_ROOT)/lib/$(TARGET2)
+	$(RM) $(INSTALL_ROOT)/lib/$(TARGET3)
+
+	$(RM) $(INSTALL_ROOT)/include/DynamixelSDK.h
+	$(RM_ALL) $(INSTALL_ROOT)/include/dynamixel_sdk*
+
+reinstall: uninstall install
+
+
+#---------------------------------------------------------------------
+# Make rules for all .c and .cpp files in each directory
+#---------------------------------------------------------------------
+
+$(DIR_OBJS)/%.o: $(DIR_DXL)/src/dynamixel_sdk/%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: $(DIR_DXL)/src/dynamixel_sdk/%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: $(DIR_DXL)/src/dynamixel_sdk_linux/%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: $(DIR_DXL)/src/dynamixel_sdk_linux/%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# END OF MAKEFILE
+#---------------------------------------------------------------------
diff --git a/c++/build/win32/.vs/win32/v14/.suo b/c++/build/win32/.vs/win32/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..ee81ea530cddc5c7ee15052d35cea7f1313e1587
Binary files /dev/null and b/c++/build/win32/.vs/win32/v14/.suo differ
diff --git a/c++/build/win32/output/win32.dll b/c++/build/win32/output/win32.dll
new file mode 100644
index 0000000000000000000000000000000000000000..d26ad6d5741d7f085a50f4157f81c7ce517c3251
Binary files /dev/null and b/c++/build/win32/output/win32.dll differ
diff --git a/c++/build/win32/output/win32.lib b/c++/build/win32/output/win32.lib
new file mode 100644
index 0000000000000000000000000000000000000000..cbef20d85654e6b77ade5401edf696c0aca0998e
Binary files /dev/null and b/c++/build/win32/output/win32.lib differ
diff --git a/c++/build/win32/win32.sln b/c++/build/win32/win32.sln
new file mode 100644
index 0000000000000000000000000000000000000000..55bc6721902631fb8aa121db4fb0872c0de85110
--- /dev/null
+++ b/c++/build/win32/win32.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Express 14 for Windows Desktop
+VisualStudioVersion = 14.0.25123.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "win32", "win32\win32.vcxproj", "{9C086E40-9B14-41C8-A960-33E19BA47D8C}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{9C086E40-9B14-41C8-A960-33E19BA47D8C}.Debug|x64.ActiveCfg = Debug|x64
+		{9C086E40-9B14-41C8-A960-33E19BA47D8C}.Debug|x64.Build.0 = Debug|x64
+		{9C086E40-9B14-41C8-A960-33E19BA47D8C}.Debug|x86.ActiveCfg = Debug|Win32
+		{9C086E40-9B14-41C8-A960-33E19BA47D8C}.Debug|x86.Build.0 = Debug|Win32
+		{9C086E40-9B14-41C8-A960-33E19BA47D8C}.Release|x64.ActiveCfg = Release|x64
+		{9C086E40-9B14-41C8-A960-33E19BA47D8C}.Release|x64.Build.0 = Release|x64
+		{9C086E40-9B14-41C8-A960-33E19BA47D8C}.Release|x86.ActiveCfg = Release|Win32
+		{9C086E40-9B14-41C8-A960-33E19BA47D8C}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/build/win32/win32/win32.vcxproj b/c++/build/win32/win32/win32.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..45e560d2e97903ebf405fd2ca816b7a6ef8eeb68
--- /dev/null
+++ b/c++/build/win32/win32/win32.vcxproj
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{9C086E40-9B14-41C8-A960-33E19BA47D8C}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>win32</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)output\</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;WIN32_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_WINDOWS;_USRDLL;WIN32_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>false</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;WIN32_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>..\..\..\include</AdditionalIncludeDirectories>
+      <CompileAs>CompileAsCpp</CompileAs>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>No</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;WIN32_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\GroupBulkRead.cpp" />
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\GroupBulkWrite.cpp" />
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\GroupSyncRead.cpp" />
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\GroupSyncWrite.cpp" />
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\PacketHandler.cpp" />
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\PortHandler.cpp" />
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\Protocol1PacketHandler.cpp" />
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\Protocol2PacketHandler.cpp" />
+    <ClCompile Include="..\..\..\src\dynamixel_sdk_windows\PortHandlerWindows.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\include\DynamixelSDK.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\GroupBulkRead.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\GroupBulkWrite.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\GroupSyncRead.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\GroupSyncWrite.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\PacketHandler.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\PortHandler.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\Protocol1PacketHandler.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\Protocol2PacketHandler.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\RobotisDef.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk_windows\PortHandlerWindows.h" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/build/win32/win32/win32.vcxproj.filters b/c++/build/win32/win32/win32.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..eb3a7debdb48ae90366bac33d13a822498de6727
--- /dev/null
+++ b/c++/build/win32/win32/win32.vcxproj.filters
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+    <Filter Include="소스 파일\dynamixel_sdk">
+      <UniqueIdentifier>{a2ef8266-7ae2-45a4-b70d-bafb6cb2e2a8}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="소스 파일\dynamixel_sdk_windows">
+      <UniqueIdentifier>{962a4fdb-15e9-464d-8cbd-1734072dd822}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="헤더 파일\dynamixel_sdk">
+      <UniqueIdentifier>{54b1d808-47e9-4003-84b2-92484a902235}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="헤더 파일\dynamixel_sdk_windows">
+      <UniqueIdentifier>{18c633cd-983b-4581-88b0-2a864a1c2fec}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\GroupBulkRead.cpp">
+      <Filter>소스 파일\dynamixel_sdk</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\GroupBulkWrite.cpp">
+      <Filter>소스 파일\dynamixel_sdk</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\GroupSyncRead.cpp">
+      <Filter>소스 파일\dynamixel_sdk</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\GroupSyncWrite.cpp">
+      <Filter>소스 파일\dynamixel_sdk</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\PacketHandler.cpp">
+      <Filter>소스 파일\dynamixel_sdk</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\PortHandler.cpp">
+      <Filter>소스 파일\dynamixel_sdk</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\Protocol1PacketHandler.cpp">
+      <Filter>소스 파일\dynamixel_sdk</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\Protocol2PacketHandler.cpp">
+      <Filter>소스 파일\dynamixel_sdk</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk_windows\PortHandlerWindows.cpp">
+      <Filter>소스 파일\dynamixel_sdk_windows</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\GroupBulkRead.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\GroupBulkWrite.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\GroupSyncRead.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\GroupSyncWrite.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\PacketHandler.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\PortHandler.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\Protocol1PacketHandler.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\Protocol2PacketHandler.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\RobotisDef.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk_windows\PortHandlerWindows.h">
+      <Filter>헤더 파일\dynamixel_sdk_windows</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\DynamixelSDK.h">
+      <Filter>헤더 파일</Filter>
+    </ClInclude>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/build/win32/win32/win32.vcxproj.user b/c++/build/win32/win32/win32.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..abe8dd8961e3b66a88605bd7083dad32ef27bee9
--- /dev/null
+++ b/c++/build/win32/win32/win32.vcxproj.user
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup />
+</Project>
\ No newline at end of file
diff --git a/c++/build/win64/.vs/win64/v14/.suo b/c++/build/win64/.vs/win64/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..d168664b39a37eac53b58d18e4a81b5aa5c53ec4
Binary files /dev/null and b/c++/build/win64/.vs/win64/v14/.suo differ
diff --git a/c++/build/win64/output/win64.dll b/c++/build/win64/output/win64.dll
new file mode 100644
index 0000000000000000000000000000000000000000..ec52e6c607d576de5d4e221d9d9a015b5a4b4f15
Binary files /dev/null and b/c++/build/win64/output/win64.dll differ
diff --git a/c++/build/win64/output/win64.lib b/c++/build/win64/output/win64.lib
new file mode 100644
index 0000000000000000000000000000000000000000..09a5578641985bf41fcd22f99020c6f4d99e4291
Binary files /dev/null and b/c++/build/win64/output/win64.lib differ
diff --git a/c++/build/win64/win64.sln b/c++/build/win64/win64.sln
new file mode 100644
index 0000000000000000000000000000000000000000..971136897a6b8d0dc41b32ee4ff8dd940a09ca36
--- /dev/null
+++ b/c++/build/win64/win64.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Express 14 for Windows Desktop
+VisualStudioVersion = 14.0.25123.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "win64", "win64\win64.vcxproj", "{31A42C98-23BD-4BFF-9727-5518A6ABEFDB}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{31A42C98-23BD-4BFF-9727-5518A6ABEFDB}.Debug|x64.ActiveCfg = Debug|x64
+		{31A42C98-23BD-4BFF-9727-5518A6ABEFDB}.Debug|x64.Build.0 = Debug|x64
+		{31A42C98-23BD-4BFF-9727-5518A6ABEFDB}.Debug|x86.ActiveCfg = Debug|Win32
+		{31A42C98-23BD-4BFF-9727-5518A6ABEFDB}.Debug|x86.Build.0 = Debug|Win32
+		{31A42C98-23BD-4BFF-9727-5518A6ABEFDB}.Release|x64.ActiveCfg = Release|x64
+		{31A42C98-23BD-4BFF-9727-5518A6ABEFDB}.Release|x64.Build.0 = Release|x64
+		{31A42C98-23BD-4BFF-9727-5518A6ABEFDB}.Release|x86.ActiveCfg = Release|Win32
+		{31A42C98-23BD-4BFF-9727-5518A6ABEFDB}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/build/win64/win64/win64.vcxproj b/c++/build/win64/win64/win64.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..5807e29e59ecad3fd3cbd30f447f24db814e498a
--- /dev/null
+++ b/c++/build/win64/win64/win64.vcxproj
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{31A42C98-23BD-4BFF-9727-5518A6ABEFDB}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>win64</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)output\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;WIN64_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_WINDOWS;_USRDLL;WIN64_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;WIN64_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;WIN64_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>..\..\..\include</AdditionalIncludeDirectories>
+      <CompileAs>CompileAsCpp</CompileAs>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\GroupBulkRead.cpp" />
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\GroupBulkWrite.cpp" />
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\GroupSyncRead.cpp" />
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\GroupSyncWrite.cpp" />
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\PacketHandler.cpp" />
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\PortHandler.cpp" />
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\Protocol1PacketHandler.cpp" />
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\Protocol2PacketHandler.cpp" />
+    <ClCompile Include="..\..\..\src\dynamixel_sdk_windows\PortHandlerWindows.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\include\DynamixelSDK.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\GroupBulkRead.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\GroupBulkWrite.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\GroupSyncRead.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\GroupSyncWrite.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\PacketHandler.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\PortHandler.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\Protocol1PacketHandler.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\Protocol2PacketHandler.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\RobotisDef.h" />
+    <ClInclude Include="..\..\..\include\dynamixel_sdk_windows\PortHandlerWindows.h" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/build/win64/win64/win64.vcxproj.filters b/c++/build/win64/win64/win64.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..c5c7216c9d97fe210a08a92e2c7ccb999bd2e780
--- /dev/null
+++ b/c++/build/win64/win64/win64.vcxproj.filters
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+    <Filter Include="소스 파일\dynamixel_sdk">
+      <UniqueIdentifier>{076de381-5add-46ea-b588-871cd563c59e}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="소스 파일\dynamixel_sdk_windows">
+      <UniqueIdentifier>{485027ae-62a2-4ad2-b1de-9bd29eccc7bb}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="헤더 파일\dynamixel_sdk">
+      <UniqueIdentifier>{8faa76fd-7201-42ca-b24e-5760f1207428}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="헤더 파일\dynamixel_sdk_windows">
+      <UniqueIdentifier>{0d62b764-1467-47fb-b3b4-30e390b759a8}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\GroupBulkRead.cpp">
+      <Filter>소스 파일\dynamixel_sdk</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\GroupBulkWrite.cpp">
+      <Filter>소스 파일\dynamixel_sdk</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\GroupSyncRead.cpp">
+      <Filter>소스 파일\dynamixel_sdk</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\GroupSyncWrite.cpp">
+      <Filter>소스 파일\dynamixel_sdk</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\PacketHandler.cpp">
+      <Filter>소스 파일\dynamixel_sdk</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\PortHandler.cpp">
+      <Filter>소스 파일\dynamixel_sdk</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\Protocol1PacketHandler.cpp">
+      <Filter>소스 파일\dynamixel_sdk</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk\Protocol2PacketHandler.cpp">
+      <Filter>소스 파일\dynamixel_sdk</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dynamixel_sdk_windows\PortHandlerWindows.cpp">
+      <Filter>소스 파일\dynamixel_sdk_windows</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\GroupBulkRead.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\GroupBulkWrite.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\GroupSyncRead.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\GroupSyncWrite.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\PacketHandler.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\PortHandler.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\Protocol1PacketHandler.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\Protocol2PacketHandler.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk\RobotisDef.h">
+      <Filter>헤더 파일\dynamixel_sdk</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\dynamixel_sdk_windows\PortHandlerWindows.h">
+      <Filter>헤더 파일\dynamixel_sdk_windows</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\include\DynamixelSDK.h">
+      <Filter>헤더 파일</Filter>
+    </ClInclude>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/build/win64/win64/win64.vcxproj.user b/c++/build/win64/win64/win64.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..abe8dd8961e3b66a88605bd7083dad32ef27bee9
--- /dev/null
+++ b/c++/build/win64/win64/win64.vcxproj.user
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup />
+</Project>
\ No newline at end of file
diff --git a/c++/example/DXLMonitor/linux32/Makefile b/c++/example/DXLMonitor/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..bdb399fda6d20df3347d4ad0f3ec1ab3abedd9b2
--- /dev/null
+++ b/c++/example/DXLMonitor/linux32/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Monitor tool Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = DXLMonitor
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m32
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = DXLMonitor.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/DXLMonitor/linux64/Makefile b/c++/example/DXLMonitor/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..51509495aeff57448b5d11be4cf4a694a9824d57
--- /dev/null
+++ b/c++/example/DXLMonitor/linux64/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Monitor tool Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = DXLMonitor
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m64
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = DXLMonitor.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/DXLMonitor/win32/.vs/DXLMonitor/v14/.suo b/c++/example/DXLMonitor/win32/.vs/DXLMonitor/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..fba4a2ebf4162ee9059e8157bc0b538784ab4c58
Binary files /dev/null and b/c++/example/DXLMonitor/win32/.vs/DXLMonitor/v14/.suo differ
diff --git a/c++/example/DXLMonitor/win32/DXLMonitor.sln b/c++/example/DXLMonitor/win32/DXLMonitor.sln
new file mode 100644
index 0000000000000000000000000000000000000000..607bca7e9a1154e0e38459d9c38e1ab8e99c9de8
--- /dev/null
+++ b/c++/example/DXLMonitor/win32/DXLMonitor.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DXLMonitor", "DXLMonitor\DXLMonitor.vcxproj", "{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}.Debug|x64.ActiveCfg = Debug|x64
+		{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}.Debug|x64.Build.0 = Debug|x64
+		{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}.Debug|x86.ActiveCfg = Debug|Win32
+		{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}.Debug|x86.Build.0 = Debug|Win32
+		{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}.Release|x64.ActiveCfg = Release|x64
+		{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}.Release|x64.Build.0 = Release|x64
+		{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}.Release|x86.ActiveCfg = Release|Win32
+		{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/DXLMonitor/win32/DXLMonitor/DXLMonitor.vcxproj b/c++/example/DXLMonitor/win32/DXLMonitor/DXLMonitor.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..be28063a112951e73433e91b3f7c335cd6646141
--- /dev/null
+++ b/c++/example/DXLMonitor/win32/DXLMonitor/DXLMonitor.vcxproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\DXLMonitor.cpp" />
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>DXLMonitor</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\build\windows\dynamixel_win32\Release</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/DXLMonitor/win32/DXLMonitor/DXLMonitor.vcxproj.filters b/c++/example/DXLMonitor/win32/DXLMonitor/DXLMonitor.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..2aaddadbf08d5fbb550a35e73eb4cc41f79c9203
--- /dev/null
+++ b/c++/example/DXLMonitor/win32/DXLMonitor/DXLMonitor.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\DXLMonitor.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/DXLMonitor/win32/DXLMonitor/DXLMonitor.vcxproj.user b/c++/example/DXLMonitor/win32/DXLMonitor/DXLMonitor.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..8c79050495f6ff69c3aeef03fc72ff0c0b8d7a49
--- /dev/null
+++ b/c++/example/DXLMonitor/win32/DXLMonitor/DXLMonitor.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\build\windows\dynamixel_win32\Release;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/DXLMonitor/win64/.vs/DXLMonitor/v14/.suo b/c++/example/DXLMonitor/win64/.vs/DXLMonitor/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..833fc49cbf447e5e201c48d7ad8854a32d725415
Binary files /dev/null and b/c++/example/DXLMonitor/win64/.vs/DXLMonitor/v14/.suo differ
diff --git a/c++/example/DXLMonitor/win64/DXLMonitor.sln b/c++/example/DXLMonitor/win64/DXLMonitor.sln
new file mode 100644
index 0000000000000000000000000000000000000000..607bca7e9a1154e0e38459d9c38e1ab8e99c9de8
--- /dev/null
+++ b/c++/example/DXLMonitor/win64/DXLMonitor.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DXLMonitor", "DXLMonitor\DXLMonitor.vcxproj", "{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}.Debug|x64.ActiveCfg = Debug|x64
+		{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}.Debug|x64.Build.0 = Debug|x64
+		{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}.Debug|x86.ActiveCfg = Debug|Win32
+		{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}.Debug|x86.Build.0 = Debug|Win32
+		{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}.Release|x64.ActiveCfg = Release|x64
+		{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}.Release|x64.Build.0 = Release|x64
+		{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}.Release|x86.ActiveCfg = Release|Win32
+		{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/DXLMonitor/win64/DXLMonitor/DXLMonitor.vcxproj b/c++/example/DXLMonitor/win64/DXLMonitor/DXLMonitor.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..dd3ba6991fccd39748dd56481d7e390811297b05
--- /dev/null
+++ b/c++/example/DXLMonitor/win64/DXLMonitor/DXLMonitor.vcxproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\DXLMonitor.cpp" />
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{4116F568-2D5C-413D-B36B-FA7E8AFC75FA}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>DXLMonitor</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\build\windows\dynamixel_win32\Release</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/DXLMonitor/win64/DXLMonitor/DXLMonitor.vcxproj.filters b/c++/example/DXLMonitor/win64/DXLMonitor/DXLMonitor.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..2aaddadbf08d5fbb550a35e73eb4cc41f79c9203
--- /dev/null
+++ b/c++/example/DXLMonitor/win64/DXLMonitor/DXLMonitor.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\DXLMonitor.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/DXLMonitor/win64/DXLMonitor/DXLMonitor.vcxproj.user b/c++/example/DXLMonitor/win64/DXLMonitor/DXLMonitor.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..da32a0fce60ea629732fb501f39236b0d62e97cb
--- /dev/null
+++ b/c++/example/DXLMonitor/win64/DXLMonitor/DXLMonitor.vcxproj.user
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\build\windows\dynamixel_win32\Release;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/BulkRead/linux32/Makefile b/c++/example/Protocol1.0/BulkRead/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..d444d3f6e29afa8dcc25dda9bf88d609c120eeb9
--- /dev/null
+++ b/c++/example/Protocol1.0/BulkRead/linux32/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 1.0 BulkRead Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = BulkRead
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m32
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = BulkRead.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol1.0/BulkRead/linux64/Makefile b/c++/example/Protocol1.0/BulkRead/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..1ed828723c7b2c12ec211a45ac085840c6b13ce4
--- /dev/null
+++ b/c++/example/Protocol1.0/BulkRead/linux64/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 1.0 BulkRead Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = BulkRead
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m64
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = BulkRead.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol1.0/BulkRead/win32/.vs/BulkRead/v14/.suo b/c++/example/Protocol1.0/BulkRead/win32/.vs/BulkRead/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..a420f1937932803e2b2a278e565d8cafbe7b3d8c
Binary files /dev/null and b/c++/example/Protocol1.0/BulkRead/win32/.vs/BulkRead/v14/.suo differ
diff --git a/c++/example/Protocol1.0/BulkRead/win32/BulkRead.sln b/c++/example/Protocol1.0/BulkRead/win32/BulkRead.sln
new file mode 100644
index 0000000000000000000000000000000000000000..55012c8589e725890b55bed3a2754218400a6ffe
--- /dev/null
+++ b/c++/example/Protocol1.0/BulkRead/win32/BulkRead.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BulkRead", "BulkRead\BulkRead.vcxproj", "{4EF3CCFE-6319-4539-A601-58047584992A}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{4EF3CCFE-6319-4539-A601-58047584992A}.Debug|x64.ActiveCfg = Debug|x64
+		{4EF3CCFE-6319-4539-A601-58047584992A}.Debug|x64.Build.0 = Debug|x64
+		{4EF3CCFE-6319-4539-A601-58047584992A}.Debug|x86.ActiveCfg = Debug|Win32
+		{4EF3CCFE-6319-4539-A601-58047584992A}.Debug|x86.Build.0 = Debug|Win32
+		{4EF3CCFE-6319-4539-A601-58047584992A}.Release|x64.ActiveCfg = Release|x64
+		{4EF3CCFE-6319-4539-A601-58047584992A}.Release|x64.Build.0 = Release|x64
+		{4EF3CCFE-6319-4539-A601-58047584992A}.Release|x86.ActiveCfg = Release|Win32
+		{4EF3CCFE-6319-4539-A601-58047584992A}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol1.0/BulkRead/win32/BulkRead/BulkRead.vcxproj b/c++/example/Protocol1.0/BulkRead/win32/BulkRead/BulkRead.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..6c3ff3cfe12e52fd8a31a1f4263d614917fcad0c
--- /dev/null
+++ b/c++/example/Protocol1.0/BulkRead/win32/BulkRead/BulkRead.vcxproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{4EF3CCFE-6319-4539-A601-58047584992A}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>BulkRead</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\BulkRead.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/BulkRead/win32/BulkRead/BulkRead.vcxproj.filters b/c++/example/Protocol1.0/BulkRead/win32/BulkRead/BulkRead.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..14b8bf0a92f9e97aa4ce898f698b97b58f1a5841
--- /dev/null
+++ b/c++/example/Protocol1.0/BulkRead/win32/BulkRead/BulkRead.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\BulkRead.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/BulkRead/win32/BulkRead/BulkRead.vcxproj.user b/c++/example/Protocol1.0/BulkRead/win32/BulkRead/BulkRead.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..0ce083d863c16fd0cb1cc1c528b2e7e7b9968675
--- /dev/null
+++ b/c++/example/Protocol1.0/BulkRead/win32/BulkRead/BulkRead.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/BulkRead/win64/.vs/BulkRead/v14/.suo b/c++/example/Protocol1.0/BulkRead/win64/.vs/BulkRead/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..12aa69c358b479f1cf5f8565c0eaaac3664a9417
Binary files /dev/null and b/c++/example/Protocol1.0/BulkRead/win64/.vs/BulkRead/v14/.suo differ
diff --git a/c++/example/Protocol1.0/BulkRead/win64/BulkRead.sln b/c++/example/Protocol1.0/BulkRead/win64/BulkRead.sln
new file mode 100644
index 0000000000000000000000000000000000000000..55012c8589e725890b55bed3a2754218400a6ffe
--- /dev/null
+++ b/c++/example/Protocol1.0/BulkRead/win64/BulkRead.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BulkRead", "BulkRead\BulkRead.vcxproj", "{4EF3CCFE-6319-4539-A601-58047584992A}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{4EF3CCFE-6319-4539-A601-58047584992A}.Debug|x64.ActiveCfg = Debug|x64
+		{4EF3CCFE-6319-4539-A601-58047584992A}.Debug|x64.Build.0 = Debug|x64
+		{4EF3CCFE-6319-4539-A601-58047584992A}.Debug|x86.ActiveCfg = Debug|Win32
+		{4EF3CCFE-6319-4539-A601-58047584992A}.Debug|x86.Build.0 = Debug|Win32
+		{4EF3CCFE-6319-4539-A601-58047584992A}.Release|x64.ActiveCfg = Release|x64
+		{4EF3CCFE-6319-4539-A601-58047584992A}.Release|x64.Build.0 = Release|x64
+		{4EF3CCFE-6319-4539-A601-58047584992A}.Release|x86.ActiveCfg = Release|Win32
+		{4EF3CCFE-6319-4539-A601-58047584992A}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol1.0/BulkRead/win64/BulkRead/BulkRead.vcxproj b/c++/example/Protocol1.0/BulkRead/win64/BulkRead/BulkRead.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..59578e68dbf65853fb260c623c88ebead7de19fe
--- /dev/null
+++ b/c++/example/Protocol1.0/BulkRead/win64/BulkRead/BulkRead.vcxproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{4EF3CCFE-6319-4539-A601-58047584992A}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>BulkRead</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\BulkRead.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/BulkRead/win64/BulkRead/BulkRead.vcxproj.filters b/c++/example/Protocol1.0/BulkRead/win64/BulkRead/BulkRead.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..14b8bf0a92f9e97aa4ce898f698b97b58f1a5841
--- /dev/null
+++ b/c++/example/Protocol1.0/BulkRead/win64/BulkRead/BulkRead.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\BulkRead.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/BulkRead/win64/BulkRead/BulkRead.vcxproj.user b/c++/example/Protocol1.0/BulkRead/win64/BulkRead/BulkRead.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..689b680dbc26f6f0b05abc8bb38ffca1ea6189b7
--- /dev/null
+++ b/c++/example/Protocol1.0/BulkRead/win64/BulkRead/BulkRead.vcxproj.user
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/MultiPort/linux32/Makefile b/c++/example/Protocol1.0/MultiPort/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..649d01699fdbaa7f4711daf497044feab2638525
--- /dev/null
+++ b/c++/example/Protocol1.0/MultiPort/linux32/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 1.0 MultiPort Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = MultiPort
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m32
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = MultiPort.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol1.0/MultiPort/linux64/Makefile b/c++/example/Protocol1.0/MultiPort/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..ca522e7fa0c5e2db079882287d767f930d578d0f
--- /dev/null
+++ b/c++/example/Protocol1.0/MultiPort/linux64/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 1.0 MultiPort Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = MultiPort
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m64
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = MultiPort.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol1.0/MultiPort/win32/.vs/MultiPort/v14/.suo b/c++/example/Protocol1.0/MultiPort/win32/.vs/MultiPort/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..f7f57670b6f8f617ac83d180b460f879c00f8d59
Binary files /dev/null and b/c++/example/Protocol1.0/MultiPort/win32/.vs/MultiPort/v14/.suo differ
diff --git a/c++/example/Protocol1.0/MultiPort/win32/MultiPort.sln b/c++/example/Protocol1.0/MultiPort/win32/MultiPort.sln
new file mode 100644
index 0000000000000000000000000000000000000000..f28d389cea30db5396effa13ea3b90e3894ff1de
--- /dev/null
+++ b/c++/example/Protocol1.0/MultiPort/win32/MultiPort.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MultiPort", "MultiPort\MultiPort.vcxproj", "{F7EFA8A6-D1BA-4B19-9422-5895A3370265}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{F7EFA8A6-D1BA-4B19-9422-5895A3370265}.Debug|x64.ActiveCfg = Debug|x64
+		{F7EFA8A6-D1BA-4B19-9422-5895A3370265}.Debug|x64.Build.0 = Debug|x64
+		{F7EFA8A6-D1BA-4B19-9422-5895A3370265}.Debug|x86.ActiveCfg = Debug|Win32
+		{F7EFA8A6-D1BA-4B19-9422-5895A3370265}.Debug|x86.Build.0 = Debug|Win32
+		{F7EFA8A6-D1BA-4B19-9422-5895A3370265}.Release|x64.ActiveCfg = Release|x64
+		{F7EFA8A6-D1BA-4B19-9422-5895A3370265}.Release|x64.Build.0 = Release|x64
+		{F7EFA8A6-D1BA-4B19-9422-5895A3370265}.Release|x86.ActiveCfg = Release|Win32
+		{F7EFA8A6-D1BA-4B19-9422-5895A3370265}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol1.0/MultiPort/win32/MultiPort/MultiPort.vcxproj b/c++/example/Protocol1.0/MultiPort/win32/MultiPort/MultiPort.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..db3b08fb83d567c01b731e91e748d613652e5dc1
--- /dev/null
+++ b/c++/example/Protocol1.0/MultiPort/win32/MultiPort/MultiPort.vcxproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{F7EFA8A6-D1BA-4B19-9422-5895A3370265}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>MultiPort</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\windows\dynamixel_win32\Release</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\MultiPort.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/MultiPort/win32/MultiPort/MultiPort.vcxproj.filters000664 b/c++/example/Protocol1.0/MultiPort/win32/MultiPort/MultiPort.vcxproj.filters000664
new file mode 100644
index 0000000000000000000000000000000000000000..e2132c99984459dda08d0b2f6c2d3f92654d4669
--- /dev/null
+++ b/c++/example/Protocol1.0/MultiPort/win32/MultiPort/MultiPort.vcxproj.filters000664
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\MultiPort.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/MultiPort/win32/MultiPort/MultiPort.vcxproj.user b/c++/example/Protocol1.0/MultiPort/win32/MultiPort/MultiPort.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..6e1d640060e8805dd1fdaf074db3c580b92bd6e7
--- /dev/null
+++ b/c++/example/Protocol1.0/MultiPort/win32/MultiPort/MultiPort.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\windows\dynamixel_win32\Release;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/MultiPort/win64/.vs/MultiPort/v14/.suo b/c++/example/Protocol1.0/MultiPort/win64/.vs/MultiPort/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..4c130fe2767044e34b5d8090cf72423384a81b2f
Binary files /dev/null and b/c++/example/Protocol1.0/MultiPort/win64/.vs/MultiPort/v14/.suo differ
diff --git a/c++/example/Protocol1.0/MultiPort/win64/MultiPort.sln b/c++/example/Protocol1.0/MultiPort/win64/MultiPort.sln
new file mode 100644
index 0000000000000000000000000000000000000000..f28d389cea30db5396effa13ea3b90e3894ff1de
--- /dev/null
+++ b/c++/example/Protocol1.0/MultiPort/win64/MultiPort.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MultiPort", "MultiPort\MultiPort.vcxproj", "{F7EFA8A6-D1BA-4B19-9422-5895A3370265}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{F7EFA8A6-D1BA-4B19-9422-5895A3370265}.Debug|x64.ActiveCfg = Debug|x64
+		{F7EFA8A6-D1BA-4B19-9422-5895A3370265}.Debug|x64.Build.0 = Debug|x64
+		{F7EFA8A6-D1BA-4B19-9422-5895A3370265}.Debug|x86.ActiveCfg = Debug|Win32
+		{F7EFA8A6-D1BA-4B19-9422-5895A3370265}.Debug|x86.Build.0 = Debug|Win32
+		{F7EFA8A6-D1BA-4B19-9422-5895A3370265}.Release|x64.ActiveCfg = Release|x64
+		{F7EFA8A6-D1BA-4B19-9422-5895A3370265}.Release|x64.Build.0 = Release|x64
+		{F7EFA8A6-D1BA-4B19-9422-5895A3370265}.Release|x86.ActiveCfg = Release|Win32
+		{F7EFA8A6-D1BA-4B19-9422-5895A3370265}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol1.0/MultiPort/win64/MultiPort/MultiPort.vcxproj b/c++/example/Protocol1.0/MultiPort/win64/MultiPort/MultiPort.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..8f9e63d03c0fa47344d5f9457eeaeac3bcda4cb3
--- /dev/null
+++ b/c++/example/Protocol1.0/MultiPort/win64/MultiPort/MultiPort.vcxproj
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{F7EFA8A6-D1BA-4B19-9422-5895A3370265}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>MultiPort</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\windows\dynamixel_win32\Release</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\MultiPort.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/MultiPort/win64/MultiPort/MultiPort.vcxproj.filters000664 b/c++/example/Protocol1.0/MultiPort/win64/MultiPort/MultiPort.vcxproj.filters000664
new file mode 100644
index 0000000000000000000000000000000000000000..e2132c99984459dda08d0b2f6c2d3f92654d4669
--- /dev/null
+++ b/c++/example/Protocol1.0/MultiPort/win64/MultiPort/MultiPort.vcxproj.filters000664
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\MultiPort.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/MultiPort/win64/MultiPort/MultiPort.vcxproj.user b/c++/example/Protocol1.0/MultiPort/win64/MultiPort/MultiPort.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..95d3354189f0350218968219c735c761eae98deb
--- /dev/null
+++ b/c++/example/Protocol1.0/MultiPort/win64/MultiPort/MultiPort.vcxproj.user
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\windows\dynamixel_win32\Release;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/Ping/linux32/Makefile b/c++/example/Protocol1.0/Ping/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..40cb1504cfdba45eca3ec21ed832087ab071cc26
--- /dev/null
+++ b/c++/example/Protocol1.0/Ping/linux32/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 1.0 Ping Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = Ping
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m32
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = Ping.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol1.0/Ping/linux64/Makefile b/c++/example/Protocol1.0/Ping/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..02b5d5c093a0baced359ce3e923d13320b798dec
--- /dev/null
+++ b/c++/example/Protocol1.0/Ping/linux64/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 1.0 Ping Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = Ping
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m64
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = Ping.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol1.0/Ping/win32/.vs/Ping/v14/.suo b/c++/example/Protocol1.0/Ping/win32/.vs/Ping/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..87879dd91ecf2ef5b8cbc75d9fc0a7469a844bf1
Binary files /dev/null and b/c++/example/Protocol1.0/Ping/win32/.vs/Ping/v14/.suo differ
diff --git a/c++/example/Protocol1.0/Ping/win32/Ping.sln b/c++/example/Protocol1.0/Ping/win32/Ping.sln
new file mode 100644
index 0000000000000000000000000000000000000000..c41591d53d401a2c1feaf57d965cf8da131a47e4
--- /dev/null
+++ b/c++/example/Protocol1.0/Ping/win32/Ping.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ping", "Ping\Ping.vcxproj", "{1FABD0DA-9D43-485F-B586-FB077663164E}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{1FABD0DA-9D43-485F-B586-FB077663164E}.Debug|x64.ActiveCfg = Debug|x64
+		{1FABD0DA-9D43-485F-B586-FB077663164E}.Debug|x64.Build.0 = Debug|x64
+		{1FABD0DA-9D43-485F-B586-FB077663164E}.Debug|x86.ActiveCfg = Debug|Win32
+		{1FABD0DA-9D43-485F-B586-FB077663164E}.Debug|x86.Build.0 = Debug|Win32
+		{1FABD0DA-9D43-485F-B586-FB077663164E}.Release|x64.ActiveCfg = Release|x64
+		{1FABD0DA-9D43-485F-B586-FB077663164E}.Release|x64.Build.0 = Release|x64
+		{1FABD0DA-9D43-485F-B586-FB077663164E}.Release|x86.ActiveCfg = Release|Win32
+		{1FABD0DA-9D43-485F-B586-FB077663164E}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol1.0/Ping/win32/Ping/Ping.vcxproj b/c++/example/Protocol1.0/Ping/win32/Ping/Ping.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..5a8fbaa39b6f0d2e6c5a6317ff6b84571ece3a5d
--- /dev/null
+++ b/c++/example/Protocol1.0/Ping/win32/Ping/Ping.vcxproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{1FABD0DA-9D43-485F-B586-FB077663164E}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>Ping</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Ping.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/Ping/win32/Ping/Ping.vcxproj.filters b/c++/example/Protocol1.0/Ping/win32/Ping/Ping.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..87007caddf83787bed523632eb7b2b9e1500450b
--- /dev/null
+++ b/c++/example/Protocol1.0/Ping/win32/Ping/Ping.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Ping.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/Ping/win32/Ping/Ping.vcxproj.user b/c++/example/Protocol1.0/Ping/win32/Ping/Ping.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..0ce083d863c16fd0cb1cc1c528b2e7e7b9968675
--- /dev/null
+++ b/c++/example/Protocol1.0/Ping/win32/Ping/Ping.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/Ping/win64/.vs/Ping/v14/.suo b/c++/example/Protocol1.0/Ping/win64/.vs/Ping/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..75a763c2c190f0a041450b9a64807fae8be991e9
Binary files /dev/null and b/c++/example/Protocol1.0/Ping/win64/.vs/Ping/v14/.suo differ
diff --git a/c++/example/Protocol1.0/Ping/win64/Ping.sln b/c++/example/Protocol1.0/Ping/win64/Ping.sln
new file mode 100644
index 0000000000000000000000000000000000000000..c41591d53d401a2c1feaf57d965cf8da131a47e4
--- /dev/null
+++ b/c++/example/Protocol1.0/Ping/win64/Ping.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ping", "Ping\Ping.vcxproj", "{1FABD0DA-9D43-485F-B586-FB077663164E}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{1FABD0DA-9D43-485F-B586-FB077663164E}.Debug|x64.ActiveCfg = Debug|x64
+		{1FABD0DA-9D43-485F-B586-FB077663164E}.Debug|x64.Build.0 = Debug|x64
+		{1FABD0DA-9D43-485F-B586-FB077663164E}.Debug|x86.ActiveCfg = Debug|Win32
+		{1FABD0DA-9D43-485F-B586-FB077663164E}.Debug|x86.Build.0 = Debug|Win32
+		{1FABD0DA-9D43-485F-B586-FB077663164E}.Release|x64.ActiveCfg = Release|x64
+		{1FABD0DA-9D43-485F-B586-FB077663164E}.Release|x64.Build.0 = Release|x64
+		{1FABD0DA-9D43-485F-B586-FB077663164E}.Release|x86.ActiveCfg = Release|Win32
+		{1FABD0DA-9D43-485F-B586-FB077663164E}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol1.0/Ping/win64/Ping/Ping.vcxproj b/c++/example/Protocol1.0/Ping/win64/Ping/Ping.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..963e00891b2fe67e54ee3537f016f68f1708467e
--- /dev/null
+++ b/c++/example/Protocol1.0/Ping/win64/Ping/Ping.vcxproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{1FABD0DA-9D43-485F-B586-FB077663164E}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>Ping</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Ping.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/Ping/win64/Ping/Ping.vcxproj.filters b/c++/example/Protocol1.0/Ping/win64/Ping/Ping.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..87007caddf83787bed523632eb7b2b9e1500450b
--- /dev/null
+++ b/c++/example/Protocol1.0/Ping/win64/Ping/Ping.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Ping.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/Ping/win64/Ping/Ping.vcxproj.user b/c++/example/Protocol1.0/Ping/win64/Ping/Ping.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..0ce4e91d42528f42176c819803d6d5181c74f844
--- /dev/null
+++ b/c++/example/Protocol1.0/Ping/win64/Ping/Ping.vcxproj.user
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/ReadWrite/linux32/Makefile b/c++/example/Protocol1.0/ReadWrite/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..91d28a8440b24c3cec94509b3a6343e2b909f3ca
--- /dev/null
+++ b/c++/example/Protocol1.0/ReadWrite/linux32/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 1.0 Read/Write Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = ReadWrite
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m32
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = ReadWrite.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol1.0/ReadWrite/linux64/Makefile b/c++/example/Protocol1.0/ReadWrite/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..2f56b3fa966fc4f7ee8c2c85952ac0cbbb8ce16a
--- /dev/null
+++ b/c++/example/Protocol1.0/ReadWrite/linux64/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 1.0 Read/Write Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = ReadWrite
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m64
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = ReadWrite.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol1.0/ReadWrite/win32/.vs/ReadWrite/v14/.suo b/c++/example/Protocol1.0/ReadWrite/win32/.vs/ReadWrite/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..db2094c1767016e9d8e84a10c7205e7c1a63af81
Binary files /dev/null and b/c++/example/Protocol1.0/ReadWrite/win32/.vs/ReadWrite/v14/.suo differ
diff --git a/c++/example/Protocol1.0/ReadWrite/win32/ReadWrite.sln b/c++/example/Protocol1.0/ReadWrite/win32/ReadWrite.sln
new file mode 100644
index 0000000000000000000000000000000000000000..4bbe60ed157a76802c949c24be1136037b518a05
--- /dev/null
+++ b/c++/example/Protocol1.0/ReadWrite/win32/ReadWrite.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReadWrite", "ReadWrite\ReadWrite.vcxproj", "{1D84386A-A687-443D-83D4-0782A91B6647}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{1D84386A-A687-443D-83D4-0782A91B6647}.Debug|x64.ActiveCfg = Debug|x64
+		{1D84386A-A687-443D-83D4-0782A91B6647}.Debug|x64.Build.0 = Debug|x64
+		{1D84386A-A687-443D-83D4-0782A91B6647}.Debug|x86.ActiveCfg = Debug|Win32
+		{1D84386A-A687-443D-83D4-0782A91B6647}.Debug|x86.Build.0 = Debug|Win32
+		{1D84386A-A687-443D-83D4-0782A91B6647}.Release|x64.ActiveCfg = Release|x64
+		{1D84386A-A687-443D-83D4-0782A91B6647}.Release|x64.Build.0 = Release|x64
+		{1D84386A-A687-443D-83D4-0782A91B6647}.Release|x86.ActiveCfg = Release|Win32
+		{1D84386A-A687-443D-83D4-0782A91B6647}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol1.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj b/c++/example/Protocol1.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..057774ec5db350d0fd69153d89cfe559ec9ed932
--- /dev/null
+++ b/c++/example/Protocol1.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{1D84386A-A687-443D-83D4-0782A91B6647}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>ReadWrite</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\ReadWrite.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj.filters000664 b/c++/example/Protocol1.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj.filters000664
new file mode 100644
index 0000000000000000000000000000000000000000..19c984ea72b30f8a65a7878507b65a4df9be8022
--- /dev/null
+++ b/c++/example/Protocol1.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj.filters000664
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\ReadWrite.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj.user b/c++/example/Protocol1.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..0ce083d863c16fd0cb1cc1c528b2e7e7b9968675
--- /dev/null
+++ b/c++/example/Protocol1.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/ReadWrite/win64/.vs/ReadWrite/v14/.suo b/c++/example/Protocol1.0/ReadWrite/win64/.vs/ReadWrite/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..56a6fc062cdf6c8d15f432e943bf4dde344a9d95
Binary files /dev/null and b/c++/example/Protocol1.0/ReadWrite/win64/.vs/ReadWrite/v14/.suo differ
diff --git a/c++/example/Protocol1.0/ReadWrite/win64/ReadWrite.sln b/c++/example/Protocol1.0/ReadWrite/win64/ReadWrite.sln
new file mode 100644
index 0000000000000000000000000000000000000000..4bbe60ed157a76802c949c24be1136037b518a05
--- /dev/null
+++ b/c++/example/Protocol1.0/ReadWrite/win64/ReadWrite.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReadWrite", "ReadWrite\ReadWrite.vcxproj", "{1D84386A-A687-443D-83D4-0782A91B6647}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{1D84386A-A687-443D-83D4-0782A91B6647}.Debug|x64.ActiveCfg = Debug|x64
+		{1D84386A-A687-443D-83D4-0782A91B6647}.Debug|x64.Build.0 = Debug|x64
+		{1D84386A-A687-443D-83D4-0782A91B6647}.Debug|x86.ActiveCfg = Debug|Win32
+		{1D84386A-A687-443D-83D4-0782A91B6647}.Debug|x86.Build.0 = Debug|Win32
+		{1D84386A-A687-443D-83D4-0782A91B6647}.Release|x64.ActiveCfg = Release|x64
+		{1D84386A-A687-443D-83D4-0782A91B6647}.Release|x64.Build.0 = Release|x64
+		{1D84386A-A687-443D-83D4-0782A91B6647}.Release|x86.ActiveCfg = Release|Win32
+		{1D84386A-A687-443D-83D4-0782A91B6647}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol1.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj b/c++/example/Protocol1.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..23dc608c09178d2773e9abed033f82d637ed931c
--- /dev/null
+++ b/c++/example/Protocol1.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{1D84386A-A687-443D-83D4-0782A91B6647}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>ReadWrite</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\ReadWrite.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj.filters000664 b/c++/example/Protocol1.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj.filters000664
new file mode 100644
index 0000000000000000000000000000000000000000..19c984ea72b30f8a65a7878507b65a4df9be8022
--- /dev/null
+++ b/c++/example/Protocol1.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj.filters000664
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\ReadWrite.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj.user b/c++/example/Protocol1.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..0ce4e91d42528f42176c819803d6d5181c74f844
--- /dev/null
+++ b/c++/example/Protocol1.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj.user
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/Reset/linux32/Makefile b/c++/example/Protocol1.0/Reset/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..2f58bed8980719bfac79ce1df07d8413eec29757
--- /dev/null
+++ b/c++/example/Protocol1.0/Reset/linux32/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 1.0 Reset Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = Reset
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m32
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = Reset.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol1.0/Reset/linux64/Makefile b/c++/example/Protocol1.0/Reset/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..730765c67c9fa91c0359154861bf2de12d5b52c4
--- /dev/null
+++ b/c++/example/Protocol1.0/Reset/linux64/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 1.0 Reset Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = Reset
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m64
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = Reset.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol1.0/Reset/win32/.vs/Reset/v14/.suo b/c++/example/Protocol1.0/Reset/win32/.vs/Reset/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..6430681af5496e7dad409d0a7ba520f3613058f1
Binary files /dev/null and b/c++/example/Protocol1.0/Reset/win32/.vs/Reset/v14/.suo differ
diff --git a/c++/example/Protocol1.0/Reset/win32/Reset.sln b/c++/example/Protocol1.0/Reset/win32/Reset.sln
new file mode 100644
index 0000000000000000000000000000000000000000..37677a655de533894e0087b53777908e8b9d4bc1
--- /dev/null
+++ b/c++/example/Protocol1.0/Reset/win32/Reset.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Reset", "Reset\Reset.vcxproj", "{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}.Debug|x64.ActiveCfg = Debug|x64
+		{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}.Debug|x64.Build.0 = Debug|x64
+		{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}.Debug|x86.ActiveCfg = Debug|Win32
+		{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}.Debug|x86.Build.0 = Debug|Win32
+		{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}.Release|x64.ActiveCfg = Release|x64
+		{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}.Release|x64.Build.0 = Release|x64
+		{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}.Release|x86.ActiveCfg = Release|Win32
+		{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol1.0/Reset/win32/Reset/Reset.vcxproj b/c++/example/Protocol1.0/Reset/win32/Reset/Reset.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..ab960ebc692dbb9a9d6b0a23c4d3a5ffc3a8c028
--- /dev/null
+++ b/c++/example/Protocol1.0/Reset/win32/Reset/Reset.vcxproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>Reset</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\windows\dynamixel_win32\Release</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Reset.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/Reset/win32/Reset/Reset.vcxproj.filters b/c++/example/Protocol1.0/Reset/win32/Reset/Reset.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..968d9b19c682108fdcb36b4bc7c0c2eddc045e0e
--- /dev/null
+++ b/c++/example/Protocol1.0/Reset/win32/Reset/Reset.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Reset.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/Reset/win32/Reset/Reset.vcxproj.user b/c++/example/Protocol1.0/Reset/win32/Reset/Reset.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..6e1d640060e8805dd1fdaf074db3c580b92bd6e7
--- /dev/null
+++ b/c++/example/Protocol1.0/Reset/win32/Reset/Reset.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\windows\dynamixel_win32\Release;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/Reset/win64/.vs/Reset/v14/.suo b/c++/example/Protocol1.0/Reset/win64/.vs/Reset/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..292b66a7a78bb9cd6559cf6624d8e9b65719facf
Binary files /dev/null and b/c++/example/Protocol1.0/Reset/win64/.vs/Reset/v14/.suo differ
diff --git a/c++/example/Protocol1.0/Reset/win64/Reset.sln b/c++/example/Protocol1.0/Reset/win64/Reset.sln
new file mode 100644
index 0000000000000000000000000000000000000000..37677a655de533894e0087b53777908e8b9d4bc1
--- /dev/null
+++ b/c++/example/Protocol1.0/Reset/win64/Reset.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Reset", "Reset\Reset.vcxproj", "{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}.Debug|x64.ActiveCfg = Debug|x64
+		{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}.Debug|x64.Build.0 = Debug|x64
+		{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}.Debug|x86.ActiveCfg = Debug|Win32
+		{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}.Debug|x86.Build.0 = Debug|Win32
+		{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}.Release|x64.ActiveCfg = Release|x64
+		{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}.Release|x64.Build.0 = Release|x64
+		{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}.Release|x86.ActiveCfg = Release|Win32
+		{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol1.0/Reset/win64/Reset/Reset.vcxproj b/c++/example/Protocol1.0/Reset/win64/Reset/Reset.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..2d639d107619ddcf4d0b7ecc9d626b221d59880c
--- /dev/null
+++ b/c++/example/Protocol1.0/Reset/win64/Reset/Reset.vcxproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{1D35C44B-F91F-45D5-BB21-9DC8AD5CF011}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>Reset</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\windows\dynamixel_win32\Release</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Reset.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/Reset/win64/Reset/Reset.vcxproj.filters b/c++/example/Protocol1.0/Reset/win64/Reset/Reset.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..968d9b19c682108fdcb36b4bc7c0c2eddc045e0e
--- /dev/null
+++ b/c++/example/Protocol1.0/Reset/win64/Reset/Reset.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Reset.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/Reset/win64/Reset/Reset.vcxproj.user b/c++/example/Protocol1.0/Reset/win64/Reset/Reset.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..e92d023036d168bb19dc74037017cf56be0f1ffd
--- /dev/null
+++ b/c++/example/Protocol1.0/Reset/win64/Reset/Reset.vcxproj.user
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\windows\dynamixel_win32\Release;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/SyncWrite/linux32/Makefile b/c++/example/Protocol1.0/SyncWrite/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..49e00637e983d2109de493ccfcd67465abfa386d
--- /dev/null
+++ b/c++/example/Protocol1.0/SyncWrite/linux32/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 1.0 SyncWrite Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = SyncWrite
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m32
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = SyncWrite.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol1.0/SyncWrite/linux64/Makefile b/c++/example/Protocol1.0/SyncWrite/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..46cfca5ba538a78cf5c8c13e5644cb37931d0f2c
--- /dev/null
+++ b/c++/example/Protocol1.0/SyncWrite/linux64/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 1.0 SyncWrite Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = SyncWrite
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m64
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = SyncWrite.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol1.0/SyncWrite/win32/.vs/SyncWrite/v14/.suo b/c++/example/Protocol1.0/SyncWrite/win32/.vs/SyncWrite/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..efe1f39cf75c471e19688ac453c54ba1e7630c7e
Binary files /dev/null and b/c++/example/Protocol1.0/SyncWrite/win32/.vs/SyncWrite/v14/.suo differ
diff --git a/c++/example/Protocol1.0/SyncWrite/win32/SyncWrite.sln b/c++/example/Protocol1.0/SyncWrite/win32/SyncWrite.sln
new file mode 100644
index 0000000000000000000000000000000000000000..1c12b5e6326a01956385f41eacf8c85f5bc2179e
--- /dev/null
+++ b/c++/example/Protocol1.0/SyncWrite/win32/SyncWrite.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SyncWrite", "SyncWrite\SyncWrite.vcxproj", "{DF489D1D-1811-497F-BBB8-9225541B5932}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{DF489D1D-1811-497F-BBB8-9225541B5932}.Debug|x64.ActiveCfg = Debug|x64
+		{DF489D1D-1811-497F-BBB8-9225541B5932}.Debug|x64.Build.0 = Debug|x64
+		{DF489D1D-1811-497F-BBB8-9225541B5932}.Debug|x86.ActiveCfg = Debug|Win32
+		{DF489D1D-1811-497F-BBB8-9225541B5932}.Debug|x86.Build.0 = Debug|Win32
+		{DF489D1D-1811-497F-BBB8-9225541B5932}.Release|x64.ActiveCfg = Release|x64
+		{DF489D1D-1811-497F-BBB8-9225541B5932}.Release|x64.Build.0 = Release|x64
+		{DF489D1D-1811-497F-BBB8-9225541B5932}.Release|x86.ActiveCfg = Release|Win32
+		{DF489D1D-1811-497F-BBB8-9225541B5932}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol1.0/SyncWrite/win32/SyncWrite/SyncWrite.vcxproj b/c++/example/Protocol1.0/SyncWrite/win32/SyncWrite/SyncWrite.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..ccfbacb1efb95a6a6cd8946ff2ebfc6e8a8b546c
--- /dev/null
+++ b/c++/example/Protocol1.0/SyncWrite/win32/SyncWrite/SyncWrite.vcxproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{DF489D1D-1811-497F-BBB8-9225541B5932}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>SyncWrite</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\windows\dynamixel_win32\Release</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\SyncWrite.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/SyncWrite/win32/SyncWrite/SyncWrite.vcxproj.filters000664 b/c++/example/Protocol1.0/SyncWrite/win32/SyncWrite/SyncWrite.vcxproj.filters000664
new file mode 100644
index 0000000000000000000000000000000000000000..48f42755f54125c850220f204a026c5251b8fe68
--- /dev/null
+++ b/c++/example/Protocol1.0/SyncWrite/win32/SyncWrite/SyncWrite.vcxproj.filters000664
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\SyncWrite.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/SyncWrite/win32/SyncWrite/SyncWrite.vcxproj.user b/c++/example/Protocol1.0/SyncWrite/win32/SyncWrite/SyncWrite.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..6e1d640060e8805dd1fdaf074db3c580b92bd6e7
--- /dev/null
+++ b/c++/example/Protocol1.0/SyncWrite/win32/SyncWrite/SyncWrite.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\windows\dynamixel_win32\Release;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/SyncWrite/win64/.vs/SyncWrite/v14/.suo b/c++/example/Protocol1.0/SyncWrite/win64/.vs/SyncWrite/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..f570706d23b1d372ec5f10e7734539f201b19c3e
Binary files /dev/null and b/c++/example/Protocol1.0/SyncWrite/win64/.vs/SyncWrite/v14/.suo differ
diff --git a/c++/example/Protocol1.0/SyncWrite/win64/SyncWrite.sln b/c++/example/Protocol1.0/SyncWrite/win64/SyncWrite.sln
new file mode 100644
index 0000000000000000000000000000000000000000..1c12b5e6326a01956385f41eacf8c85f5bc2179e
--- /dev/null
+++ b/c++/example/Protocol1.0/SyncWrite/win64/SyncWrite.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SyncWrite", "SyncWrite\SyncWrite.vcxproj", "{DF489D1D-1811-497F-BBB8-9225541B5932}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{DF489D1D-1811-497F-BBB8-9225541B5932}.Debug|x64.ActiveCfg = Debug|x64
+		{DF489D1D-1811-497F-BBB8-9225541B5932}.Debug|x64.Build.0 = Debug|x64
+		{DF489D1D-1811-497F-BBB8-9225541B5932}.Debug|x86.ActiveCfg = Debug|Win32
+		{DF489D1D-1811-497F-BBB8-9225541B5932}.Debug|x86.Build.0 = Debug|Win32
+		{DF489D1D-1811-497F-BBB8-9225541B5932}.Release|x64.ActiveCfg = Release|x64
+		{DF489D1D-1811-497F-BBB8-9225541B5932}.Release|x64.Build.0 = Release|x64
+		{DF489D1D-1811-497F-BBB8-9225541B5932}.Release|x86.ActiveCfg = Release|Win32
+		{DF489D1D-1811-497F-BBB8-9225541B5932}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol1.0/SyncWrite/win64/SyncWrite/SyncWrite.vcxproj b/c++/example/Protocol1.0/SyncWrite/win64/SyncWrite/SyncWrite.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..1eb79d7db23bb1b6dab31b486101d9103e538a03
--- /dev/null
+++ b/c++/example/Protocol1.0/SyncWrite/win64/SyncWrite/SyncWrite.vcxproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{DF489D1D-1811-497F-BBB8-9225541B5932}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>SyncWrite</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\windows\dynamixel_win32\Release</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\SyncWrite.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/SyncWrite/win64/SyncWrite/SyncWrite.vcxproj.filters000664 b/c++/example/Protocol1.0/SyncWrite/win64/SyncWrite/SyncWrite.vcxproj.filters000664
new file mode 100644
index 0000000000000000000000000000000000000000..48f42755f54125c850220f204a026c5251b8fe68
--- /dev/null
+++ b/c++/example/Protocol1.0/SyncWrite/win64/SyncWrite/SyncWrite.vcxproj.filters000664
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\SyncWrite.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol1.0/SyncWrite/win64/SyncWrite/SyncWrite.vcxproj.user b/c++/example/Protocol1.0/SyncWrite/win64/SyncWrite/SyncWrite.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..e92d023036d168bb19dc74037017cf56be0f1ffd
--- /dev/null
+++ b/c++/example/Protocol1.0/SyncWrite/win64/SyncWrite/SyncWrite.vcxproj.user
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\windows\dynamixel_win32\Release;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/BroadcastPing/linux32/Makefile b/c++/example/Protocol2.0/BroadcastPing/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..84d71ae88b924ac95ea087cc07ed9ba5f2caceb6
--- /dev/null
+++ b/c++/example/Protocol2.0/BroadcastPing/linux32/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 BroadcastPing Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = BroadcastPing
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m32
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = BroadcastPing.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/BroadcastPing/linux64/Makefile b/c++/example/Protocol2.0/BroadcastPing/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..915b3fc3276c289fca934d7c011f34089201f39f
--- /dev/null
+++ b/c++/example/Protocol2.0/BroadcastPing/linux64/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 BroadcastPing Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = BroadcastPing
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m64
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = BroadcastPing.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/BroadcastPing/win32/.vs/BroadcastPing/v14/.suo b/c++/example/Protocol2.0/BroadcastPing/win32/.vs/BroadcastPing/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..18dca5c2ae3266fbf88ecf45454e8e97aa6383b4
Binary files /dev/null and b/c++/example/Protocol2.0/BroadcastPing/win32/.vs/BroadcastPing/v14/.suo differ
diff --git a/c++/example/Protocol2.0/BroadcastPing/win32/BroadcastPing.sln b/c++/example/Protocol2.0/BroadcastPing/win32/BroadcastPing.sln
new file mode 100644
index 0000000000000000000000000000000000000000..489b885914ad99eb02b10271e0381468851f1f6e
--- /dev/null
+++ b/c++/example/Protocol2.0/BroadcastPing/win32/BroadcastPing.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BroadcastPing", "BroadcastPing\BroadcastPing.vcxproj", "{E554BA30-610B-4791-923B-B05FD6CC2138}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{E554BA30-610B-4791-923B-B05FD6CC2138}.Debug|x64.ActiveCfg = Debug|x64
+		{E554BA30-610B-4791-923B-B05FD6CC2138}.Debug|x64.Build.0 = Debug|x64
+		{E554BA30-610B-4791-923B-B05FD6CC2138}.Debug|x86.ActiveCfg = Debug|Win32
+		{E554BA30-610B-4791-923B-B05FD6CC2138}.Debug|x86.Build.0 = Debug|Win32
+		{E554BA30-610B-4791-923B-B05FD6CC2138}.Release|x64.ActiveCfg = Release|x64
+		{E554BA30-610B-4791-923B-B05FD6CC2138}.Release|x64.Build.0 = Release|x64
+		{E554BA30-610B-4791-923B-B05FD6CC2138}.Release|x86.ActiveCfg = Release|Win32
+		{E554BA30-610B-4791-923B-B05FD6CC2138}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/BroadcastPing/win32/BroadcastPing/BroadcastPing.vcxproj b/c++/example/Protocol2.0/BroadcastPing/win32/BroadcastPing/BroadcastPing.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..4843886437863a38e091a22d3696679b5ad470ec
--- /dev/null
+++ b/c++/example/Protocol2.0/BroadcastPing/win32/BroadcastPing/BroadcastPing.vcxproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{E554BA30-610B-4791-923B-B05FD6CC2138}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>BroadcastPing</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\windows\dynamixel_win32\Release</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\BroadcastPing.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/BroadcastPing/win32/BroadcastPing/BroadcastPing.vcxproj.filters b/c++/example/Protocol2.0/BroadcastPing/win32/BroadcastPing/BroadcastPing.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..0056d2eae5583265ad254758718cb0dce7452607
--- /dev/null
+++ b/c++/example/Protocol2.0/BroadcastPing/win32/BroadcastPing/BroadcastPing.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\BroadcastPing.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/BroadcastPing/win32/BroadcastPing/BroadcastPing.vcxproj.user b/c++/example/Protocol2.0/BroadcastPing/win32/BroadcastPing/BroadcastPing.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..6e1d640060e8805dd1fdaf074db3c580b92bd6e7
--- /dev/null
+++ b/c++/example/Protocol2.0/BroadcastPing/win32/BroadcastPing/BroadcastPing.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\windows\dynamixel_win32\Release;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/BroadcastPing/win64/.vs/BroadcastPing/v14/.suo b/c++/example/Protocol2.0/BroadcastPing/win64/.vs/BroadcastPing/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..6cc96f24409ee8c2e351963aa3c8e42c3f66af16
Binary files /dev/null and b/c++/example/Protocol2.0/BroadcastPing/win64/.vs/BroadcastPing/v14/.suo differ
diff --git a/c++/example/Protocol2.0/BroadcastPing/win64/BroadcastPing.sln b/c++/example/Protocol2.0/BroadcastPing/win64/BroadcastPing.sln
new file mode 100644
index 0000000000000000000000000000000000000000..489b885914ad99eb02b10271e0381468851f1f6e
--- /dev/null
+++ b/c++/example/Protocol2.0/BroadcastPing/win64/BroadcastPing.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BroadcastPing", "BroadcastPing\BroadcastPing.vcxproj", "{E554BA30-610B-4791-923B-B05FD6CC2138}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{E554BA30-610B-4791-923B-B05FD6CC2138}.Debug|x64.ActiveCfg = Debug|x64
+		{E554BA30-610B-4791-923B-B05FD6CC2138}.Debug|x64.Build.0 = Debug|x64
+		{E554BA30-610B-4791-923B-B05FD6CC2138}.Debug|x86.ActiveCfg = Debug|Win32
+		{E554BA30-610B-4791-923B-B05FD6CC2138}.Debug|x86.Build.0 = Debug|Win32
+		{E554BA30-610B-4791-923B-B05FD6CC2138}.Release|x64.ActiveCfg = Release|x64
+		{E554BA30-610B-4791-923B-B05FD6CC2138}.Release|x64.Build.0 = Release|x64
+		{E554BA30-610B-4791-923B-B05FD6CC2138}.Release|x86.ActiveCfg = Release|Win32
+		{E554BA30-610B-4791-923B-B05FD6CC2138}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/BroadcastPing/win64/BroadcastPing/BroadcastPing.vcxproj b/c++/example/Protocol2.0/BroadcastPing/win64/BroadcastPing/BroadcastPing.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..a56ddb9cbdf74bf777950b90337e9acb68597128
--- /dev/null
+++ b/c++/example/Protocol2.0/BroadcastPing/win64/BroadcastPing/BroadcastPing.vcxproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{E554BA30-610B-4791-923B-B05FD6CC2138}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>BroadcastPing</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\windows\dynamixel_win32\Release</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\BroadcastPing.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/BroadcastPing/win64/BroadcastPing/BroadcastPing.vcxproj.filters b/c++/example/Protocol2.0/BroadcastPing/win64/BroadcastPing/BroadcastPing.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..0056d2eae5583265ad254758718cb0dce7452607
--- /dev/null
+++ b/c++/example/Protocol2.0/BroadcastPing/win64/BroadcastPing/BroadcastPing.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\BroadcastPing.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/BroadcastPing/win64/BroadcastPing/BroadcastPing.vcxproj.user b/c++/example/Protocol2.0/BroadcastPing/win64/BroadcastPing/BroadcastPing.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..e92d023036d168bb19dc74037017cf56be0f1ffd
--- /dev/null
+++ b/c++/example/Protocol2.0/BroadcastPing/win64/BroadcastPing/BroadcastPing.vcxproj.user
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\windows\dynamixel_win32\Release;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/BulkReadWrite/linux32/Makefile b/c++/example/Protocol2.0/BulkReadWrite/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..208aad0e0afa300acf5b952fc71f33867bb6197c
--- /dev/null
+++ b/c++/example/Protocol2.0/BulkReadWrite/linux32/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 BulkReadWrite Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = BulkReadWrite
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m32
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = BulkReadWrite.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/BulkReadWrite/linux64/Makefile b/c++/example/Protocol2.0/BulkReadWrite/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..1b9bbf8efb912abddd395b729770a6d6ee6c4551
--- /dev/null
+++ b/c++/example/Protocol2.0/BulkReadWrite/linux64/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 BulkReadWrite Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = BulkReadWrite
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m64
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = BulkReadWrite.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/BulkReadWrite/win32/.vs/BulkReadWrite/v14/.suo b/c++/example/Protocol2.0/BulkReadWrite/win32/.vs/BulkReadWrite/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..5ee0a3596bb9ca92a570e0174b92a00053b73f43
Binary files /dev/null and b/c++/example/Protocol2.0/BulkReadWrite/win32/.vs/BulkReadWrite/v14/.suo differ
diff --git a/c++/example/Protocol2.0/BulkReadWrite/win32/BulkReadWrite.sln b/c++/example/Protocol2.0/BulkReadWrite/win32/BulkReadWrite.sln
new file mode 100644
index 0000000000000000000000000000000000000000..0919f0fe29679ce84c3a21c9e93cc0b13a292ca0
--- /dev/null
+++ b/c++/example/Protocol2.0/BulkReadWrite/win32/BulkReadWrite.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BulkReadWrite", "BulkReadWrite\BulkReadWrite.vcxproj", "{9CF3F712-D33E-4A77-B817-D02664E626D3}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{9CF3F712-D33E-4A77-B817-D02664E626D3}.Debug|x64.ActiveCfg = Debug|x64
+		{9CF3F712-D33E-4A77-B817-D02664E626D3}.Debug|x64.Build.0 = Debug|x64
+		{9CF3F712-D33E-4A77-B817-D02664E626D3}.Debug|x86.ActiveCfg = Debug|Win32
+		{9CF3F712-D33E-4A77-B817-D02664E626D3}.Debug|x86.Build.0 = Debug|Win32
+		{9CF3F712-D33E-4A77-B817-D02664E626D3}.Release|x64.ActiveCfg = Release|x64
+		{9CF3F712-D33E-4A77-B817-D02664E626D3}.Release|x64.Build.0 = Release|x64
+		{9CF3F712-D33E-4A77-B817-D02664E626D3}.Release|x86.ActiveCfg = Release|Win32
+		{9CF3F712-D33E-4A77-B817-D02664E626D3}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/BulkReadWrite/win32/BulkReadWrite/BulkReadWrite.vcxproj b/c++/example/Protocol2.0/BulkReadWrite/win32/BulkReadWrite/BulkReadWrite.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..c1f2be8dcc1b268803a9471669d1d018315803c3
--- /dev/null
+++ b/c++/example/Protocol2.0/BulkReadWrite/win32/BulkReadWrite/BulkReadWrite.vcxproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{9CF3F712-D33E-4A77-B817-D02664E626D3}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>BulkReadWrite</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\BulkReadWrite.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/BulkReadWrite/win32/BulkReadWrite/BulkReadWrite.vcxproj.filters b/c++/example/Protocol2.0/BulkReadWrite/win32/BulkReadWrite/BulkReadWrite.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..18e379ff7fe9cc7e1a8f46b747a7b8bb53e7f3d3
--- /dev/null
+++ b/c++/example/Protocol2.0/BulkReadWrite/win32/BulkReadWrite/BulkReadWrite.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\BulkReadWrite.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/BulkReadWrite/win32/BulkReadWrite/BulkReadWrite.vcxproj.user b/c++/example/Protocol2.0/BulkReadWrite/win32/BulkReadWrite/BulkReadWrite.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..0ce083d863c16fd0cb1cc1c528b2e7e7b9968675
--- /dev/null
+++ b/c++/example/Protocol2.0/BulkReadWrite/win32/BulkReadWrite/BulkReadWrite.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/BulkReadWrite/win64/.vs/BulkReadWrite/v14/.suo b/c++/example/Protocol2.0/BulkReadWrite/win64/.vs/BulkReadWrite/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..441ab33be53a59d81b1cf2643adf697e715d6274
Binary files /dev/null and b/c++/example/Protocol2.0/BulkReadWrite/win64/.vs/BulkReadWrite/v14/.suo differ
diff --git a/c++/example/Protocol2.0/BulkReadWrite/win64/BulkReadWrite.sln b/c++/example/Protocol2.0/BulkReadWrite/win64/BulkReadWrite.sln
new file mode 100644
index 0000000000000000000000000000000000000000..0919f0fe29679ce84c3a21c9e93cc0b13a292ca0
--- /dev/null
+++ b/c++/example/Protocol2.0/BulkReadWrite/win64/BulkReadWrite.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BulkReadWrite", "BulkReadWrite\BulkReadWrite.vcxproj", "{9CF3F712-D33E-4A77-B817-D02664E626D3}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{9CF3F712-D33E-4A77-B817-D02664E626D3}.Debug|x64.ActiveCfg = Debug|x64
+		{9CF3F712-D33E-4A77-B817-D02664E626D3}.Debug|x64.Build.0 = Debug|x64
+		{9CF3F712-D33E-4A77-B817-D02664E626D3}.Debug|x86.ActiveCfg = Debug|Win32
+		{9CF3F712-D33E-4A77-B817-D02664E626D3}.Debug|x86.Build.0 = Debug|Win32
+		{9CF3F712-D33E-4A77-B817-D02664E626D3}.Release|x64.ActiveCfg = Release|x64
+		{9CF3F712-D33E-4A77-B817-D02664E626D3}.Release|x64.Build.0 = Release|x64
+		{9CF3F712-D33E-4A77-B817-D02664E626D3}.Release|x86.ActiveCfg = Release|Win32
+		{9CF3F712-D33E-4A77-B817-D02664E626D3}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/BulkReadWrite/win64/BulkReadWrite/BulkReadWrite.vcxproj b/c++/example/Protocol2.0/BulkReadWrite/win64/BulkReadWrite/BulkReadWrite.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..99436854129042ec63ccbc240d23607b8f03e194
--- /dev/null
+++ b/c++/example/Protocol2.0/BulkReadWrite/win64/BulkReadWrite/BulkReadWrite.vcxproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{9CF3F712-D33E-4A77-B817-D02664E626D3}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>BulkReadWrite</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\BulkReadWrite.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/BulkReadWrite/win64/BulkReadWrite/BulkReadWrite.vcxproj.filters b/c++/example/Protocol2.0/BulkReadWrite/win64/BulkReadWrite/BulkReadWrite.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..18e379ff7fe9cc7e1a8f46b747a7b8bb53e7f3d3
--- /dev/null
+++ b/c++/example/Protocol2.0/BulkReadWrite/win64/BulkReadWrite/BulkReadWrite.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\BulkReadWrite.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/BulkReadWrite/win64/BulkReadWrite/BulkReadWrite.vcxproj.user b/c++/example/Protocol2.0/BulkReadWrite/win64/BulkReadWrite/BulkReadWrite.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..0ce4e91d42528f42176c819803d6d5181c74f844
--- /dev/null
+++ b/c++/example/Protocol2.0/BulkReadWrite/win64/BulkReadWrite/BulkReadWrite.vcxproj.user
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/FactoryReset/linux32/Makefile b/c++/example/Protocol2.0/FactoryReset/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..97b6d30a72838817bb61bd5bb759175bfe6d7829
--- /dev/null
+++ b/c++/example/Protocol2.0/FactoryReset/linux32/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 FactoryReset Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = FactoryReset
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m32
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = FactoryReset.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/FactoryReset/linux64/Makefile b/c++/example/Protocol2.0/FactoryReset/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..c263fcc738cecb16c9aec9feeea91c6f2c3f40a0
--- /dev/null
+++ b/c++/example/Protocol2.0/FactoryReset/linux64/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 FactoryReset Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = FactoryReset
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m64
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = FactoryReset.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/FactoryReset/win32/.vs/FactoryReset/v14/.suo b/c++/example/Protocol2.0/FactoryReset/win32/.vs/FactoryReset/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..5b9bf30a0e5859067df4a54622d13271db191cd0
Binary files /dev/null and b/c++/example/Protocol2.0/FactoryReset/win32/.vs/FactoryReset/v14/.suo differ
diff --git a/c++/example/Protocol2.0/FactoryReset/win32/FactoryReset.sln b/c++/example/Protocol2.0/FactoryReset/win32/FactoryReset.sln
new file mode 100644
index 0000000000000000000000000000000000000000..bbf405539ecf455836beb8c6940877f54f4df3db
--- /dev/null
+++ b/c++/example/Protocol2.0/FactoryReset/win32/FactoryReset.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FactoryReset", "FactoryReset\FactoryReset.vcxproj", "{C0A102F6-2B9D-4829-9CC7-8690B3219594}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{C0A102F6-2B9D-4829-9CC7-8690B3219594}.Debug|x64.ActiveCfg = Debug|x64
+		{C0A102F6-2B9D-4829-9CC7-8690B3219594}.Debug|x64.Build.0 = Debug|x64
+		{C0A102F6-2B9D-4829-9CC7-8690B3219594}.Debug|x86.ActiveCfg = Debug|Win32
+		{C0A102F6-2B9D-4829-9CC7-8690B3219594}.Debug|x86.Build.0 = Debug|Win32
+		{C0A102F6-2B9D-4829-9CC7-8690B3219594}.Release|x64.ActiveCfg = Release|x64
+		{C0A102F6-2B9D-4829-9CC7-8690B3219594}.Release|x64.Build.0 = Release|x64
+		{C0A102F6-2B9D-4829-9CC7-8690B3219594}.Release|x86.ActiveCfg = Release|Win32
+		{C0A102F6-2B9D-4829-9CC7-8690B3219594}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/FactoryReset/win32/FactoryReset/FactoryReset.vcxproj b/c++/example/Protocol2.0/FactoryReset/win32/FactoryReset/FactoryReset.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..f490e017eba4af295cb6cf0b23b614eb218f0cf4
--- /dev/null
+++ b/c++/example/Protocol2.0/FactoryReset/win32/FactoryReset/FactoryReset.vcxproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{C0A102F6-2B9D-4829-9CC7-8690B3219594}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>FactoryReset</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\windows\dynamixel_win32\Release</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\FactoryReset.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/FactoryReset/win32/FactoryReset/FactoryReset.vcxproj.filters b/c++/example/Protocol2.0/FactoryReset/win32/FactoryReset/FactoryReset.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..f51501e6b2df415f571581444657616c04d16401
--- /dev/null
+++ b/c++/example/Protocol2.0/FactoryReset/win32/FactoryReset/FactoryReset.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\FactoryReset.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/FactoryReset/win32/FactoryReset/FactoryReset.vcxproj.user b/c++/example/Protocol2.0/FactoryReset/win32/FactoryReset/FactoryReset.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..6e1d640060e8805dd1fdaf074db3c580b92bd6e7
--- /dev/null
+++ b/c++/example/Protocol2.0/FactoryReset/win32/FactoryReset/FactoryReset.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\windows\dynamixel_win32\Release;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/FactoryReset/win64/.vs/FactoryReset/v14/.suo b/c++/example/Protocol2.0/FactoryReset/win64/.vs/FactoryReset/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..422b952cafaea18e7dbf20c3d51dcf17d8f7d648
Binary files /dev/null and b/c++/example/Protocol2.0/FactoryReset/win64/.vs/FactoryReset/v14/.suo differ
diff --git a/c++/example/Protocol2.0/FactoryReset/win64/FactoryReset.sln b/c++/example/Protocol2.0/FactoryReset/win64/FactoryReset.sln
new file mode 100644
index 0000000000000000000000000000000000000000..bbf405539ecf455836beb8c6940877f54f4df3db
--- /dev/null
+++ b/c++/example/Protocol2.0/FactoryReset/win64/FactoryReset.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FactoryReset", "FactoryReset\FactoryReset.vcxproj", "{C0A102F6-2B9D-4829-9CC7-8690B3219594}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{C0A102F6-2B9D-4829-9CC7-8690B3219594}.Debug|x64.ActiveCfg = Debug|x64
+		{C0A102F6-2B9D-4829-9CC7-8690B3219594}.Debug|x64.Build.0 = Debug|x64
+		{C0A102F6-2B9D-4829-9CC7-8690B3219594}.Debug|x86.ActiveCfg = Debug|Win32
+		{C0A102F6-2B9D-4829-9CC7-8690B3219594}.Debug|x86.Build.0 = Debug|Win32
+		{C0A102F6-2B9D-4829-9CC7-8690B3219594}.Release|x64.ActiveCfg = Release|x64
+		{C0A102F6-2B9D-4829-9CC7-8690B3219594}.Release|x64.Build.0 = Release|x64
+		{C0A102F6-2B9D-4829-9CC7-8690B3219594}.Release|x86.ActiveCfg = Release|Win32
+		{C0A102F6-2B9D-4829-9CC7-8690B3219594}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/FactoryReset/win64/FactoryReset/FactoryReset.vcxproj b/c++/example/Protocol2.0/FactoryReset/win64/FactoryReset/FactoryReset.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..79bef14fc4c96e1dd6f7fc7b55dded2b39355e57
--- /dev/null
+++ b/c++/example/Protocol2.0/FactoryReset/win64/FactoryReset/FactoryReset.vcxproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{C0A102F6-2B9D-4829-9CC7-8690B3219594}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>FactoryReset</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\windows\dynamixel_win32\Release</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\FactoryReset.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/FactoryReset/win64/FactoryReset/FactoryReset.vcxproj.filters b/c++/example/Protocol2.0/FactoryReset/win64/FactoryReset/FactoryReset.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..f51501e6b2df415f571581444657616c04d16401
--- /dev/null
+++ b/c++/example/Protocol2.0/FactoryReset/win64/FactoryReset/FactoryReset.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\FactoryReset.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/FactoryReset/win64/FactoryReset/FactoryReset.vcxproj.user b/c++/example/Protocol2.0/FactoryReset/win64/FactoryReset/FactoryReset.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..e92d023036d168bb19dc74037017cf56be0f1ffd
--- /dev/null
+++ b/c++/example/Protocol2.0/FactoryReset/win64/FactoryReset/FactoryReset.vcxproj.user
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\windows\dynamixel_win32\Release;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/IndirectAddress/linux32/Makefile b/c++/example/Protocol2.0/IndirectAddress/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..0603bf58504a6570e48dd1375a052a0b51c492d7
--- /dev/null
+++ b/c++/example/Protocol2.0/IndirectAddress/linux32/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 IndirectAddress Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = IndirectAddress
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m32
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = IndirectAddress.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/IndirectAddress/linux64/Makefile b/c++/example/Protocol2.0/IndirectAddress/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..1fe18b448ce373175e4533150197f66eee063c37
--- /dev/null
+++ b/c++/example/Protocol2.0/IndirectAddress/linux64/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 IndirectAddress Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = IndirectAddress
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m64
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = IndirectAddress.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/IndirectAddress/win32/.vs/IndirectAddress/v14/.suo b/c++/example/Protocol2.0/IndirectAddress/win32/.vs/IndirectAddress/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..78f0b1772a1c15caaf972898a184d770cda8e7fd
Binary files /dev/null and b/c++/example/Protocol2.0/IndirectAddress/win32/.vs/IndirectAddress/v14/.suo differ
diff --git a/c++/example/Protocol2.0/IndirectAddress/win32/IndirectAddress.sln b/c++/example/Protocol2.0/IndirectAddress/win32/IndirectAddress.sln
new file mode 100644
index 0000000000000000000000000000000000000000..114f2408159f8ebdecd23d9af5d3f5cf193390c0
--- /dev/null
+++ b/c++/example/Protocol2.0/IndirectAddress/win32/IndirectAddress.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IndirectAddress", "IndirectAddress\IndirectAddress.vcxproj", "{C98EDC23-51A9-4F23-8BFD-7605F4C19818}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{C98EDC23-51A9-4F23-8BFD-7605F4C19818}.Debug|x64.ActiveCfg = Debug|x64
+		{C98EDC23-51A9-4F23-8BFD-7605F4C19818}.Debug|x64.Build.0 = Debug|x64
+		{C98EDC23-51A9-4F23-8BFD-7605F4C19818}.Debug|x86.ActiveCfg = Debug|Win32
+		{C98EDC23-51A9-4F23-8BFD-7605F4C19818}.Debug|x86.Build.0 = Debug|Win32
+		{C98EDC23-51A9-4F23-8BFD-7605F4C19818}.Release|x64.ActiveCfg = Release|x64
+		{C98EDC23-51A9-4F23-8BFD-7605F4C19818}.Release|x64.Build.0 = Release|x64
+		{C98EDC23-51A9-4F23-8BFD-7605F4C19818}.Release|x86.ActiveCfg = Release|Win32
+		{C98EDC23-51A9-4F23-8BFD-7605F4C19818}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/IndirectAddress/win32/IndirectAddress/IndirectAddress.vcxproj b/c++/example/Protocol2.0/IndirectAddress/win32/IndirectAddress/IndirectAddress.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..95cfb79ec502ea925b4ca975a9157dbeea6a9748
--- /dev/null
+++ b/c++/example/Protocol2.0/IndirectAddress/win32/IndirectAddress/IndirectAddress.vcxproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\IndirectAddress.cpp" />
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{C98EDC23-51A9-4F23-8BFD-7605F4C19818}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>IndirectAddress</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/IndirectAddress/win32/IndirectAddress/IndirectAddress.vcxproj.filters b/c++/example/Protocol2.0/IndirectAddress/win32/IndirectAddress/IndirectAddress.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..b287e5af1d99b44c4369c42596b4397cb7173ce1
--- /dev/null
+++ b/c++/example/Protocol2.0/IndirectAddress/win32/IndirectAddress/IndirectAddress.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\IndirectAddress.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/IndirectAddress/win32/IndirectAddress/IndirectAddress.vcxproj.user b/c++/example/Protocol2.0/IndirectAddress/win32/IndirectAddress/IndirectAddress.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..0ce083d863c16fd0cb1cc1c528b2e7e7b9968675
--- /dev/null
+++ b/c++/example/Protocol2.0/IndirectAddress/win32/IndirectAddress/IndirectAddress.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/IndirectAddress/win64/.vs/IndirectAddress/v14/.suo b/c++/example/Protocol2.0/IndirectAddress/win64/.vs/IndirectAddress/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..e101fce99cfb76800fecf5a72aa18b34e27183fc
Binary files /dev/null and b/c++/example/Protocol2.0/IndirectAddress/win64/.vs/IndirectAddress/v14/.suo differ
diff --git a/c++/example/Protocol2.0/IndirectAddress/win64/IndirectAddress.sln b/c++/example/Protocol2.0/IndirectAddress/win64/IndirectAddress.sln
new file mode 100644
index 0000000000000000000000000000000000000000..114f2408159f8ebdecd23d9af5d3f5cf193390c0
--- /dev/null
+++ b/c++/example/Protocol2.0/IndirectAddress/win64/IndirectAddress.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IndirectAddress", "IndirectAddress\IndirectAddress.vcxproj", "{C98EDC23-51A9-4F23-8BFD-7605F4C19818}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{C98EDC23-51A9-4F23-8BFD-7605F4C19818}.Debug|x64.ActiveCfg = Debug|x64
+		{C98EDC23-51A9-4F23-8BFD-7605F4C19818}.Debug|x64.Build.0 = Debug|x64
+		{C98EDC23-51A9-4F23-8BFD-7605F4C19818}.Debug|x86.ActiveCfg = Debug|Win32
+		{C98EDC23-51A9-4F23-8BFD-7605F4C19818}.Debug|x86.Build.0 = Debug|Win32
+		{C98EDC23-51A9-4F23-8BFD-7605F4C19818}.Release|x64.ActiveCfg = Release|x64
+		{C98EDC23-51A9-4F23-8BFD-7605F4C19818}.Release|x64.Build.0 = Release|x64
+		{C98EDC23-51A9-4F23-8BFD-7605F4C19818}.Release|x86.ActiveCfg = Release|Win32
+		{C98EDC23-51A9-4F23-8BFD-7605F4C19818}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/IndirectAddress/win64/IndirectAddress/IndirectAddress.vcxproj b/c++/example/Protocol2.0/IndirectAddress/win64/IndirectAddress/IndirectAddress.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..6756efabe307329611c282f0202ab3089f2dc6c5
--- /dev/null
+++ b/c++/example/Protocol2.0/IndirectAddress/win64/IndirectAddress/IndirectAddress.vcxproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\IndirectAddress.cpp" />
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{C98EDC23-51A9-4F23-8BFD-7605F4C19818}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>IndirectAddress</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/IndirectAddress/win64/IndirectAddress/IndirectAddress.vcxproj.filters b/c++/example/Protocol2.0/IndirectAddress/win64/IndirectAddress/IndirectAddress.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..b287e5af1d99b44c4369c42596b4397cb7173ce1
--- /dev/null
+++ b/c++/example/Protocol2.0/IndirectAddress/win64/IndirectAddress/IndirectAddress.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\IndirectAddress.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/IndirectAddress/win64/IndirectAddress/IndirectAddress.vcxproj.user b/c++/example/Protocol2.0/IndirectAddress/win64/IndirectAddress/IndirectAddress.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..0ce4e91d42528f42176c819803d6d5181c74f844
--- /dev/null
+++ b/c++/example/Protocol2.0/IndirectAddress/win64/IndirectAddress/IndirectAddress.vcxproj.user
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/MultiPort/linux32/Makefile b/c++/example/Protocol2.0/MultiPort/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..f607cbfc8dd6eac79cf503fa61e25fa8769f4c5b
--- /dev/null
+++ b/c++/example/Protocol2.0/MultiPort/linux32/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 MultiPort Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = MultiPort
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m32
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = MultiPort.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/MultiPort/linux64/Makefile b/c++/example/Protocol2.0/MultiPort/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..af16bbd1c6b73dff01be518b0405baf10beba547
--- /dev/null
+++ b/c++/example/Protocol2.0/MultiPort/linux64/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 MultiPort Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = MultiPort
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m64
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = MultiPort.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/MultiPort/win32/.vs/MultiPort/v14/.suo b/c++/example/Protocol2.0/MultiPort/win32/.vs/MultiPort/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..faad38fd386cfc00642da9399097e8c72a71c80f
Binary files /dev/null and b/c++/example/Protocol2.0/MultiPort/win32/.vs/MultiPort/v14/.suo differ
diff --git a/c++/example/Protocol2.0/MultiPort/win32/MultiPort.sln b/c++/example/Protocol2.0/MultiPort/win32/MultiPort.sln
new file mode 100644
index 0000000000000000000000000000000000000000..66a67eaee75e26e99fb08043ceaf18d9ff8e6c86
--- /dev/null
+++ b/c++/example/Protocol2.0/MultiPort/win32/MultiPort.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MultiPort", "MultiPort\MultiPort.vcxproj", "{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}.Debug|x64.ActiveCfg = Debug|x64
+		{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}.Debug|x64.Build.0 = Debug|x64
+		{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}.Debug|x86.ActiveCfg = Debug|Win32
+		{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}.Debug|x86.Build.0 = Debug|Win32
+		{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}.Release|x64.ActiveCfg = Release|x64
+		{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}.Release|x64.Build.0 = Release|x64
+		{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}.Release|x86.ActiveCfg = Release|Win32
+		{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/MultiPort/win32/MultiPort/MultiPort.vcxproj b/c++/example/Protocol2.0/MultiPort/win32/MultiPort/MultiPort.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..c2b020327ec73036b2843406def3e3c2bd6df8c9
--- /dev/null
+++ b/c++/example/Protocol2.0/MultiPort/win32/MultiPort/MultiPort.vcxproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>MultiPort</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\MultiPort.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/MultiPort/win32/MultiPort/MultiPort.vcxproj.filters000664 b/c++/example/Protocol2.0/MultiPort/win32/MultiPort/MultiPort.vcxproj.filters000664
new file mode 100644
index 0000000000000000000000000000000000000000..e2132c99984459dda08d0b2f6c2d3f92654d4669
--- /dev/null
+++ b/c++/example/Protocol2.0/MultiPort/win32/MultiPort/MultiPort.vcxproj.filters000664
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\MultiPort.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/MultiPort/win32/MultiPort/MultiPort.vcxproj.user b/c++/example/Protocol2.0/MultiPort/win32/MultiPort/MultiPort.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..0ce083d863c16fd0cb1cc1c528b2e7e7b9968675
--- /dev/null
+++ b/c++/example/Protocol2.0/MultiPort/win32/MultiPort/MultiPort.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/MultiPort/win64/.vs/MultiPort/v14/.suo b/c++/example/Protocol2.0/MultiPort/win64/.vs/MultiPort/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..eeeb2c6097da2fbe1ffe628d194dcc81b4b5bc22
Binary files /dev/null and b/c++/example/Protocol2.0/MultiPort/win64/.vs/MultiPort/v14/.suo differ
diff --git a/c++/example/Protocol2.0/MultiPort/win64/MultiPort.sln b/c++/example/Protocol2.0/MultiPort/win64/MultiPort.sln
new file mode 100644
index 0000000000000000000000000000000000000000..66a67eaee75e26e99fb08043ceaf18d9ff8e6c86
--- /dev/null
+++ b/c++/example/Protocol2.0/MultiPort/win64/MultiPort.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MultiPort", "MultiPort\MultiPort.vcxproj", "{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}.Debug|x64.ActiveCfg = Debug|x64
+		{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}.Debug|x64.Build.0 = Debug|x64
+		{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}.Debug|x86.ActiveCfg = Debug|Win32
+		{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}.Debug|x86.Build.0 = Debug|Win32
+		{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}.Release|x64.ActiveCfg = Release|x64
+		{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}.Release|x64.Build.0 = Release|x64
+		{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}.Release|x86.ActiveCfg = Release|Win32
+		{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/MultiPort/win64/MultiPort/MultiPort.vcxproj b/c++/example/Protocol2.0/MultiPort/win64/MultiPort/MultiPort.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..d7b83c04740fcd1c64c94f1eabdfecee099b2b61
--- /dev/null
+++ b/c++/example/Protocol2.0/MultiPort/win64/MultiPort/MultiPort.vcxproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{AB040A75-F2B9-43F6-8F7C-3785AC732A1D}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>MultiPort</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\MultiPort.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/MultiPort/win64/MultiPort/MultiPort.vcxproj.filters000664 b/c++/example/Protocol2.0/MultiPort/win64/MultiPort/MultiPort.vcxproj.filters000664
new file mode 100644
index 0000000000000000000000000000000000000000..e2132c99984459dda08d0b2f6c2d3f92654d4669
--- /dev/null
+++ b/c++/example/Protocol2.0/MultiPort/win64/MultiPort/MultiPort.vcxproj.filters000664
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\MultiPort.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/MultiPort/win64/MultiPort/MultiPort.vcxproj.user b/c++/example/Protocol2.0/MultiPort/win64/MultiPort/MultiPort.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..0ce4e91d42528f42176c819803d6d5181c74f844
--- /dev/null
+++ b/c++/example/Protocol2.0/MultiPort/win64/MultiPort/MultiPort.vcxproj.user
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/Ping/linux32/Makefile b/c++/example/Protocol2.0/Ping/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..37e250e1ddae396b75a0ec99fe9cdc2f9e706637
--- /dev/null
+++ b/c++/example/Protocol2.0/Ping/linux32/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 Ping Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = Ping
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m32
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = Ping.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/Ping/linux64/Makefile b/c++/example/Protocol2.0/Ping/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..7b08bb5b2a6eb4541550fbb55acda54df9407000
--- /dev/null
+++ b/c++/example/Protocol2.0/Ping/linux64/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 Ping Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = Ping
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m64
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = Ping.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/Ping/win32/.vs/Ping/v14/.suo b/c++/example/Protocol2.0/Ping/win32/.vs/Ping/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..37465b12bf4e94a2ccf0ac6e0f0eb4a95d97d4c6
Binary files /dev/null and b/c++/example/Protocol2.0/Ping/win32/.vs/Ping/v14/.suo differ
diff --git a/c++/example/Protocol2.0/Ping/win32/Ping.sln b/c++/example/Protocol2.0/Ping/win32/Ping.sln
new file mode 100644
index 0000000000000000000000000000000000000000..c2245fac1738f99013a3fe5a668cb15bd9461768
--- /dev/null
+++ b/c++/example/Protocol2.0/Ping/win32/Ping.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ping", "Ping\Ping.vcxproj", "{5C56C32D-A830-4568-9FFA-23AC8BC58521}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{5C56C32D-A830-4568-9FFA-23AC8BC58521}.Debug|x64.ActiveCfg = Debug|x64
+		{5C56C32D-A830-4568-9FFA-23AC8BC58521}.Debug|x64.Build.0 = Debug|x64
+		{5C56C32D-A830-4568-9FFA-23AC8BC58521}.Debug|x86.ActiveCfg = Debug|Win32
+		{5C56C32D-A830-4568-9FFA-23AC8BC58521}.Debug|x86.Build.0 = Debug|Win32
+		{5C56C32D-A830-4568-9FFA-23AC8BC58521}.Release|x64.ActiveCfg = Release|x64
+		{5C56C32D-A830-4568-9FFA-23AC8BC58521}.Release|x64.Build.0 = Release|x64
+		{5C56C32D-A830-4568-9FFA-23AC8BC58521}.Release|x86.ActiveCfg = Release|Win32
+		{5C56C32D-A830-4568-9FFA-23AC8BC58521}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/Ping/win32/Ping/Ping.vcxproj b/c++/example/Protocol2.0/Ping/win32/Ping/Ping.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..762bc4a309512a0fd9235522752c6a7d9c2b660b
--- /dev/null
+++ b/c++/example/Protocol2.0/Ping/win32/Ping/Ping.vcxproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{5C56C32D-A830-4568-9FFA-23AC8BC58521}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>Ping</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Ping.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/Ping/win32/Ping/Ping.vcxproj.filters b/c++/example/Protocol2.0/Ping/win32/Ping/Ping.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..87007caddf83787bed523632eb7b2b9e1500450b
--- /dev/null
+++ b/c++/example/Protocol2.0/Ping/win32/Ping/Ping.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Ping.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/Ping/win32/Ping/Ping.vcxproj.user b/c++/example/Protocol2.0/Ping/win32/Ping/Ping.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..0ce083d863c16fd0cb1cc1c528b2e7e7b9968675
--- /dev/null
+++ b/c++/example/Protocol2.0/Ping/win32/Ping/Ping.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/Ping/win64/.vs/Ping/v14/.suo b/c++/example/Protocol2.0/Ping/win64/.vs/Ping/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..fbe8edd7b4e0010413d84a7ba5160e51979aa12b
Binary files /dev/null and b/c++/example/Protocol2.0/Ping/win64/.vs/Ping/v14/.suo differ
diff --git a/c++/example/Protocol2.0/Ping/win64/Ping.sln b/c++/example/Protocol2.0/Ping/win64/Ping.sln
new file mode 100644
index 0000000000000000000000000000000000000000..c2245fac1738f99013a3fe5a668cb15bd9461768
--- /dev/null
+++ b/c++/example/Protocol2.0/Ping/win64/Ping.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ping", "Ping\Ping.vcxproj", "{5C56C32D-A830-4568-9FFA-23AC8BC58521}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{5C56C32D-A830-4568-9FFA-23AC8BC58521}.Debug|x64.ActiveCfg = Debug|x64
+		{5C56C32D-A830-4568-9FFA-23AC8BC58521}.Debug|x64.Build.0 = Debug|x64
+		{5C56C32D-A830-4568-9FFA-23AC8BC58521}.Debug|x86.ActiveCfg = Debug|Win32
+		{5C56C32D-A830-4568-9FFA-23AC8BC58521}.Debug|x86.Build.0 = Debug|Win32
+		{5C56C32D-A830-4568-9FFA-23AC8BC58521}.Release|x64.ActiveCfg = Release|x64
+		{5C56C32D-A830-4568-9FFA-23AC8BC58521}.Release|x64.Build.0 = Release|x64
+		{5C56C32D-A830-4568-9FFA-23AC8BC58521}.Release|x86.ActiveCfg = Release|Win32
+		{5C56C32D-A830-4568-9FFA-23AC8BC58521}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/Ping/win64/Ping/Ping.vcxproj b/c++/example/Protocol2.0/Ping/win64/Ping/Ping.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..6620b26b7748cc7f5969a4cc61fd14fc844332a6
--- /dev/null
+++ b/c++/example/Protocol2.0/Ping/win64/Ping/Ping.vcxproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{5C56C32D-A830-4568-9FFA-23AC8BC58521}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>Ping</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Ping.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/Ping/win64/Ping/Ping.vcxproj.filters b/c++/example/Protocol2.0/Ping/win64/Ping/Ping.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..87007caddf83787bed523632eb7b2b9e1500450b
--- /dev/null
+++ b/c++/example/Protocol2.0/Ping/win64/Ping/Ping.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Ping.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/Ping/win64/Ping/Ping.vcxproj.user b/c++/example/Protocol2.0/Ping/win64/Ping/Ping.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..0ce4e91d42528f42176c819803d6d5181c74f844
--- /dev/null
+++ b/c++/example/Protocol2.0/Ping/win64/Ping/Ping.vcxproj.user
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/ReadWrite/linux32/Makefile b/c++/example/Protocol2.0/ReadWrite/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..26cfaf7a2c301d612efc937ff43fda420306cd03
--- /dev/null
+++ b/c++/example/Protocol2.0/ReadWrite/linux32/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 Read/Write Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = ReadWrite
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m32
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = ReadWrite.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/ReadWrite/linux64/Makefile b/c++/example/Protocol2.0/ReadWrite/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..d702dfa6eafb95244d2cced638e9553308f6c3f4
--- /dev/null
+++ b/c++/example/Protocol2.0/ReadWrite/linux64/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 Read/Write Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = ReadWrite
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m64
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = ReadWrite.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/ReadWrite/win32/.vs/ReadWrite/v14/.suo b/c++/example/Protocol2.0/ReadWrite/win32/.vs/ReadWrite/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..950c45702b0078e2fbb7ebcbbaa183d493c99d88
Binary files /dev/null and b/c++/example/Protocol2.0/ReadWrite/win32/.vs/ReadWrite/v14/.suo differ
diff --git a/c++/example/Protocol2.0/ReadWrite/win32/ReadWrite.sln b/c++/example/Protocol2.0/ReadWrite/win32/ReadWrite.sln
new file mode 100644
index 0000000000000000000000000000000000000000..b16dbdc133b68578cdc08134aa5f33621c00c3f7
--- /dev/null
+++ b/c++/example/Protocol2.0/ReadWrite/win32/ReadWrite.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReadWrite", "ReadWrite\ReadWrite.vcxproj", "{DB3E3182-9D1F-475E-A791-A11183E6A9BD}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{DB3E3182-9D1F-475E-A791-A11183E6A9BD}.Debug|x64.ActiveCfg = Debug|x64
+		{DB3E3182-9D1F-475E-A791-A11183E6A9BD}.Debug|x64.Build.0 = Debug|x64
+		{DB3E3182-9D1F-475E-A791-A11183E6A9BD}.Debug|x86.ActiveCfg = Debug|Win32
+		{DB3E3182-9D1F-475E-A791-A11183E6A9BD}.Debug|x86.Build.0 = Debug|Win32
+		{DB3E3182-9D1F-475E-A791-A11183E6A9BD}.Release|x64.ActiveCfg = Release|x64
+		{DB3E3182-9D1F-475E-A791-A11183E6A9BD}.Release|x64.Build.0 = Release|x64
+		{DB3E3182-9D1F-475E-A791-A11183E6A9BD}.Release|x86.ActiveCfg = Release|Win32
+		{DB3E3182-9D1F-475E-A791-A11183E6A9BD}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj b/c++/example/Protocol2.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..b74af12353de3c7b11ad964ac02bc46017ec6c8f
--- /dev/null
+++ b/c++/example/Protocol2.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{DB3E3182-9D1F-475E-A791-A11183E6A9BD}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>ReadWrite</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\ReadWrite.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj.filters000664 b/c++/example/Protocol2.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj.filters000664
new file mode 100644
index 0000000000000000000000000000000000000000..19c984ea72b30f8a65a7878507b65a4df9be8022
--- /dev/null
+++ b/c++/example/Protocol2.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj.filters000664
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\ReadWrite.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj.user b/c++/example/Protocol2.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..0ce083d863c16fd0cb1cc1c528b2e7e7b9968675
--- /dev/null
+++ b/c++/example/Protocol2.0/ReadWrite/win32/ReadWrite/ReadWrite.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/ReadWrite/win64/.vs/ReadWrite/v14/.suo b/c++/example/Protocol2.0/ReadWrite/win64/.vs/ReadWrite/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..6af88ef1641f59b46ec7a004f7254dca29a313c1
Binary files /dev/null and b/c++/example/Protocol2.0/ReadWrite/win64/.vs/ReadWrite/v14/.suo differ
diff --git a/c++/example/Protocol2.0/ReadWrite/win64/ReadWrite.sln b/c++/example/Protocol2.0/ReadWrite/win64/ReadWrite.sln
new file mode 100644
index 0000000000000000000000000000000000000000..b16dbdc133b68578cdc08134aa5f33621c00c3f7
--- /dev/null
+++ b/c++/example/Protocol2.0/ReadWrite/win64/ReadWrite.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReadWrite", "ReadWrite\ReadWrite.vcxproj", "{DB3E3182-9D1F-475E-A791-A11183E6A9BD}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{DB3E3182-9D1F-475E-A791-A11183E6A9BD}.Debug|x64.ActiveCfg = Debug|x64
+		{DB3E3182-9D1F-475E-A791-A11183E6A9BD}.Debug|x64.Build.0 = Debug|x64
+		{DB3E3182-9D1F-475E-A791-A11183E6A9BD}.Debug|x86.ActiveCfg = Debug|Win32
+		{DB3E3182-9D1F-475E-A791-A11183E6A9BD}.Debug|x86.Build.0 = Debug|Win32
+		{DB3E3182-9D1F-475E-A791-A11183E6A9BD}.Release|x64.ActiveCfg = Release|x64
+		{DB3E3182-9D1F-475E-A791-A11183E6A9BD}.Release|x64.Build.0 = Release|x64
+		{DB3E3182-9D1F-475E-A791-A11183E6A9BD}.Release|x86.ActiveCfg = Release|Win32
+		{DB3E3182-9D1F-475E-A791-A11183E6A9BD}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj b/c++/example/Protocol2.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..cbee84f7762c9860dccb18b701001a9978c7ba81
--- /dev/null
+++ b/c++/example/Protocol2.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{DB3E3182-9D1F-475E-A791-A11183E6A9BD}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>ReadWrite</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\ReadWrite.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj.filters000664 b/c++/example/Protocol2.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj.filters000664
new file mode 100644
index 0000000000000000000000000000000000000000..19c984ea72b30f8a65a7878507b65a4df9be8022
--- /dev/null
+++ b/c++/example/Protocol2.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj.filters000664
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\ReadWrite.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj.user b/c++/example/Protocol2.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..689b680dbc26f6f0b05abc8bb38ffca1ea6189b7
--- /dev/null
+++ b/c++/example/Protocol2.0/ReadWrite/win64/ReadWrite/ReadWrite.vcxproj.user
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/Reboot/linux32/Makefile b/c++/example/Protocol2.0/Reboot/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..f413f3d5f092a61fbc2f935c40bca767b3f38ef1
--- /dev/null
+++ b/c++/example/Protocol2.0/Reboot/linux32/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 Reboot Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = Reboot
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m32
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = ../Reboot.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/Reboot/linux64/Makefile b/c++/example/Protocol2.0/Reboot/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..506c82247acbb772b31c3e39e6ce13daf12069f8
--- /dev/null
+++ b/c++/example/Protocol2.0/Reboot/linux64/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 Reboot Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = Reboot
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m64
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = ../Reboot.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/Reboot/win32/.vs/Reboot/v14/.suo b/c++/example/Protocol2.0/Reboot/win32/.vs/Reboot/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..62b9425faded36e778c75d50fd5cd6bbcd458261
Binary files /dev/null and b/c++/example/Protocol2.0/Reboot/win32/.vs/Reboot/v14/.suo differ
diff --git a/c++/example/Protocol2.0/Reboot/win32/Reboot.sln b/c++/example/Protocol2.0/Reboot/win32/Reboot.sln
new file mode 100644
index 0000000000000000000000000000000000000000..bb725b6a580ba2f9d1a40bc0f7cc6f78db072626
--- /dev/null
+++ b/c++/example/Protocol2.0/Reboot/win32/Reboot.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Reboot", "Reboot\Reboot.vcxproj", "{6DDF2F16-844E-479F-95D8-741E09586259}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{6DDF2F16-844E-479F-95D8-741E09586259}.Debug|x64.ActiveCfg = Debug|x64
+		{6DDF2F16-844E-479F-95D8-741E09586259}.Debug|x64.Build.0 = Debug|x64
+		{6DDF2F16-844E-479F-95D8-741E09586259}.Debug|x86.ActiveCfg = Debug|Win32
+		{6DDF2F16-844E-479F-95D8-741E09586259}.Debug|x86.Build.0 = Debug|Win32
+		{6DDF2F16-844E-479F-95D8-741E09586259}.Release|x64.ActiveCfg = Release|x64
+		{6DDF2F16-844E-479F-95D8-741E09586259}.Release|x64.Build.0 = Release|x64
+		{6DDF2F16-844E-479F-95D8-741E09586259}.Release|x86.ActiveCfg = Release|Win32
+		{6DDF2F16-844E-479F-95D8-741E09586259}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/Reboot/win32/Reboot/Reboot.vcxproj b/c++/example/Protocol2.0/Reboot/win32/Reboot/Reboot.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..07f05502b66bf6b028b35889132bf2cf5e167591
--- /dev/null
+++ b/c++/example/Protocol2.0/Reboot/win32/Reboot/Reboot.vcxproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{6DDF2F16-844E-479F-95D8-741E09586259}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>Reboot</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Reboot.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/Reboot/win32/Reboot/Reboot.vcxproj.filters b/c++/example/Protocol2.0/Reboot/win32/Reboot/Reboot.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..7d9cf3336df3757e571fd788b31da4762d523ea3
--- /dev/null
+++ b/c++/example/Protocol2.0/Reboot/win32/Reboot/Reboot.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Reboot.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/Reboot/win32/Reboot/Reboot.vcxproj.user b/c++/example/Protocol2.0/Reboot/win32/Reboot/Reboot.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..0ce083d863c16fd0cb1cc1c528b2e7e7b9968675
--- /dev/null
+++ b/c++/example/Protocol2.0/Reboot/win32/Reboot/Reboot.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/Reboot/win64/.vs/Reboot/v14/.suo b/c++/example/Protocol2.0/Reboot/win64/.vs/Reboot/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..18da52400ad6edca47865be5275e490a0002e00a
Binary files /dev/null and b/c++/example/Protocol2.0/Reboot/win64/.vs/Reboot/v14/.suo differ
diff --git a/c++/example/Protocol2.0/Reboot/win64/Reboot.sln b/c++/example/Protocol2.0/Reboot/win64/Reboot.sln
new file mode 100644
index 0000000000000000000000000000000000000000..bb725b6a580ba2f9d1a40bc0f7cc6f78db072626
--- /dev/null
+++ b/c++/example/Protocol2.0/Reboot/win64/Reboot.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Reboot", "Reboot\Reboot.vcxproj", "{6DDF2F16-844E-479F-95D8-741E09586259}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{6DDF2F16-844E-479F-95D8-741E09586259}.Debug|x64.ActiveCfg = Debug|x64
+		{6DDF2F16-844E-479F-95D8-741E09586259}.Debug|x64.Build.0 = Debug|x64
+		{6DDF2F16-844E-479F-95D8-741E09586259}.Debug|x86.ActiveCfg = Debug|Win32
+		{6DDF2F16-844E-479F-95D8-741E09586259}.Debug|x86.Build.0 = Debug|Win32
+		{6DDF2F16-844E-479F-95D8-741E09586259}.Release|x64.ActiveCfg = Release|x64
+		{6DDF2F16-844E-479F-95D8-741E09586259}.Release|x64.Build.0 = Release|x64
+		{6DDF2F16-844E-479F-95D8-741E09586259}.Release|x86.ActiveCfg = Release|Win32
+		{6DDF2F16-844E-479F-95D8-741E09586259}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/Reboot/win64/Reboot/Reboot.vcxproj b/c++/example/Protocol2.0/Reboot/win64/Reboot/Reboot.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..ec5726d353e7c6c55c403a8d467a29e390a76318
--- /dev/null
+++ b/c++/example/Protocol2.0/Reboot/win64/Reboot/Reboot.vcxproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{6DDF2F16-844E-479F-95D8-741E09586259}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>Reboot</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Reboot.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/Reboot/win64/Reboot/Reboot.vcxproj.filters b/c++/example/Protocol2.0/Reboot/win64/Reboot/Reboot.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..7d9cf3336df3757e571fd788b31da4762d523ea3
--- /dev/null
+++ b/c++/example/Protocol2.0/Reboot/win64/Reboot/Reboot.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\Reboot.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/Reboot/win64/Reboot/Reboot.vcxproj.user b/c++/example/Protocol2.0/Reboot/win64/Reboot/Reboot.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..0ce4e91d42528f42176c819803d6d5181c74f844
--- /dev/null
+++ b/c++/example/Protocol2.0/Reboot/win64/Reboot/Reboot.vcxproj.user
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/SyncReadWrite/linux32/Makefile b/c++/example/Protocol2.0/SyncReadWrite/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..2abda87aa98b0184bb64c5eb20c4cc7ddd2b4226
--- /dev/null
+++ b/c++/example/Protocol2.0/SyncReadWrite/linux32/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 SyncReadWrite Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = SyncReadWrite
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m32
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = ../SyncReadWrite.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/SyncReadWrite/linux64/Makefile b/c++/example/Protocol2.0/SyncReadWrite/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..abb3f1afc7dbc3991109ce16f5dba0fc3ac2be1f
--- /dev/null
+++ b/c++/example/Protocol2.0/SyncReadWrite/linux64/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL Protocol 2.0 SyncReadWrite Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = SyncReadWrite
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m64
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = ../SyncReadWrite.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/Protocol2.0/SyncReadWrite/win32/.vs/SyncReadWrite/v14/.suo b/c++/example/Protocol2.0/SyncReadWrite/win32/.vs/SyncReadWrite/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..eeadca2d39a8bb0e303cdad11a70c23a0faa252c
Binary files /dev/null and b/c++/example/Protocol2.0/SyncReadWrite/win32/.vs/SyncReadWrite/v14/.suo differ
diff --git a/c++/example/Protocol2.0/SyncReadWrite/win32/SyncReadWrite.sln b/c++/example/Protocol2.0/SyncReadWrite/win32/SyncReadWrite.sln
new file mode 100644
index 0000000000000000000000000000000000000000..7f03eab4d9bb9a21216951b5846bbdda1dd6a783
--- /dev/null
+++ b/c++/example/Protocol2.0/SyncReadWrite/win32/SyncReadWrite.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SyncReadWrite", "SyncReadWrite\SyncReadWrite.vcxproj", "{C29D550B-1664-4407-A5DE-C3F654A59E64}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{C29D550B-1664-4407-A5DE-C3F654A59E64}.Debug|x64.ActiveCfg = Debug|x64
+		{C29D550B-1664-4407-A5DE-C3F654A59E64}.Debug|x64.Build.0 = Debug|x64
+		{C29D550B-1664-4407-A5DE-C3F654A59E64}.Debug|x86.ActiveCfg = Debug|Win32
+		{C29D550B-1664-4407-A5DE-C3F654A59E64}.Debug|x86.Build.0 = Debug|Win32
+		{C29D550B-1664-4407-A5DE-C3F654A59E64}.Release|x64.ActiveCfg = Release|x64
+		{C29D550B-1664-4407-A5DE-C3F654A59E64}.Release|x64.Build.0 = Release|x64
+		{C29D550B-1664-4407-A5DE-C3F654A59E64}.Release|x86.ActiveCfg = Release|Win32
+		{C29D550B-1664-4407-A5DE-C3F654A59E64}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/SyncReadWrite/win32/SyncReadWrite/SyncReadWrite.vcxproj b/c++/example/Protocol2.0/SyncReadWrite/win32/SyncReadWrite/SyncReadWrite.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..3947d66f1240f233eaa707748f5ab389d247d983
--- /dev/null
+++ b/c++/example/Protocol2.0/SyncReadWrite/win32/SyncReadWrite/SyncReadWrite.vcxproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{C29D550B-1664-4407-A5DE-C3F654A59E64}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>SyncReadWrite</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\SyncReadWrite.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/SyncReadWrite/win32/SyncReadWrite/SyncReadWrite.vcxproj.filters b/c++/example/Protocol2.0/SyncReadWrite/win32/SyncReadWrite/SyncReadWrite.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..3849d3ceabdb5e819b2f7883392be6d5c4d27f46
--- /dev/null
+++ b/c++/example/Protocol2.0/SyncReadWrite/win32/SyncReadWrite/SyncReadWrite.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\SyncReadWrite.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/SyncReadWrite/win32/SyncReadWrite/SyncReadWrite.vcxproj.user b/c++/example/Protocol2.0/SyncReadWrite/win32/SyncReadWrite/SyncReadWrite.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..689b680dbc26f6f0b05abc8bb38ffca1ea6189b7
--- /dev/null
+++ b/c++/example/Protocol2.0/SyncReadWrite/win32/SyncReadWrite/SyncReadWrite.vcxproj.user
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/SyncReadWrite/win64/.vs/SyncReadWrite/v14/.suo b/c++/example/Protocol2.0/SyncReadWrite/win64/.vs/SyncReadWrite/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..e658b11c822f295b1d1bffdd593fcb87ca40257f
Binary files /dev/null and b/c++/example/Protocol2.0/SyncReadWrite/win64/.vs/SyncReadWrite/v14/.suo differ
diff --git a/c++/example/Protocol2.0/SyncReadWrite/win64/SyncReadWrite.sln b/c++/example/Protocol2.0/SyncReadWrite/win64/SyncReadWrite.sln
new file mode 100644
index 0000000000000000000000000000000000000000..7f03eab4d9bb9a21216951b5846bbdda1dd6a783
--- /dev/null
+++ b/c++/example/Protocol2.0/SyncReadWrite/win64/SyncReadWrite.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SyncReadWrite", "SyncReadWrite\SyncReadWrite.vcxproj", "{C29D550B-1664-4407-A5DE-C3F654A59E64}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{C29D550B-1664-4407-A5DE-C3F654A59E64}.Debug|x64.ActiveCfg = Debug|x64
+		{C29D550B-1664-4407-A5DE-C3F654A59E64}.Debug|x64.Build.0 = Debug|x64
+		{C29D550B-1664-4407-A5DE-C3F654A59E64}.Debug|x86.ActiveCfg = Debug|Win32
+		{C29D550B-1664-4407-A5DE-C3F654A59E64}.Debug|x86.Build.0 = Debug|Win32
+		{C29D550B-1664-4407-A5DE-C3F654A59E64}.Release|x64.ActiveCfg = Release|x64
+		{C29D550B-1664-4407-A5DE-C3F654A59E64}.Release|x64.Build.0 = Release|x64
+		{C29D550B-1664-4407-A5DE-C3F654A59E64}.Release|x86.ActiveCfg = Release|Win32
+		{C29D550B-1664-4407-A5DE-C3F654A59E64}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/Protocol2.0/SyncReadWrite/win64/SyncReadWrite/SyncReadWrite.vcxproj b/c++/example/Protocol2.0/SyncReadWrite/win64/SyncReadWrite/SyncReadWrite.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..81ebf08640c8eece671fee88363341a093f4112d
--- /dev/null
+++ b/c++/example/Protocol2.0/SyncReadWrite/win64/SyncReadWrite/SyncReadWrite.vcxproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{C29D550B-1664-4407-A5DE-C3F654A59E64}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>SyncReadWrite</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\..\build\win64\output</LibraryPath>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\SyncReadWrite.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/SyncReadWrite/win64/SyncReadWrite/SyncReadWrite.vcxproj.filters b/c++/example/Protocol2.0/SyncReadWrite/win64/SyncReadWrite/SyncReadWrite.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..3849d3ceabdb5e819b2f7883392be6d5c4d27f46
--- /dev/null
+++ b/c++/example/Protocol2.0/SyncReadWrite/win64/SyncReadWrite/SyncReadWrite.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\SyncReadWrite.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/Protocol2.0/SyncReadWrite/win64/SyncReadWrite/SyncReadWrite.vcxproj.user b/c++/example/Protocol2.0/SyncReadWrite/win64/SyncReadWrite/SyncReadWrite.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..0ce4e91d42528f42176c819803d6d5181c74f844
--- /dev/null
+++ b/c++/example/Protocol2.0/SyncReadWrite/win64/SyncReadWrite/SyncReadWrite.vcxproj.user
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/ProtocolCombined/linux32/Makefile b/c++/example/ProtocolCombined/linux32/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..06c552f3972d30541bbb6a228f2e5eec535efc07
--- /dev/null
+++ b/c++/example/ProtocolCombined/linux32/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL ProtocolCombined Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = ProtocolCombined
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m32
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = ProtocolCombined.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/ProtocolCombined/linux64/Makefile b/c++/example/ProtocolCombined/linux64/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..db0e2e846594bae14d49639392d35fba7b47f354
--- /dev/null
+++ b/c++/example/ProtocolCombined/linux64/Makefile
@@ -0,0 +1,80 @@
+##################################################
+# PROJECT: DXL ProtocolCombined Example Makefile
+# AUTHOR : ROBOTIS Ltd.
+##################################################
+
+#---------------------------------------------------------------------
+# Makefile template for projects using DXL SDK
+#
+# Please make sure to follow these instructions when setting up your
+# own copy of this file:
+#
+#   1- Enter the name of the target (the TARGET variable)
+#   2- Add additional source files to the SOURCES variable
+#   3- Add additional static library objects to the OBJECTS variable
+#      if necessary
+#   4- Ensure that compiler flags, INCLUDES, and LIBRARIES are
+#      appropriate to your needs
+#
+#
+# This makefile will link against several libraries, not all of which
+# are necessarily needed for your project.  Please feel free to
+# remove libaries you do not need.
+#---------------------------------------------------------------------
+
+# *** ENTER THE TARGET NAME HERE ***
+TARGET      = ProtocolCombined
+
+# important directories used by assorted rules and other variables
+DIR_DXL    = ../..
+DIR_OBJS   = .objects
+
+# compiler options
+CC          = gcc
+CX          = g++
+CCFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+CXFLAGS     = -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall $(INCLUDES) $(FORMAT) -g
+LNKCC       = $(CX)
+LNKFLAGS    = $(CXFLAGS) #-Wl,-rpath,$(DIR_THOR)/lib
+FORMAT      = -m64
+
+#---------------------------------------------------------------------
+# Core components (all of these are likely going to be needed)
+#---------------------------------------------------------------------
+INCLUDES   += -I$(DIR_DXL)/include
+LIBRARIES  += -ldxl
+LIBRARIES  += -lrt
+
+#---------------------------------------------------------------------
+# Files
+#---------------------------------------------------------------------
+SOURCES = ProtocolCombined.cpp \
+    # *** OTHER SOURCES GO HERE ***
+
+OBJECTS  = $(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(basename $(notdir $(SOURCES)))))
+#OBJETCS += *** ADDITIONAL STATIC LIBRARIES GO HERE ***
+
+
+#---------------------------------------------------------------------
+# Compiling Rules
+#---------------------------------------------------------------------
+$(TARGET): make_directory $(OBJECTS)
+	$(LNKCC) $(LNKFLAGS) $(OBJECTS) -o $(TARGET) $(LIBRARIES)
+
+all: $(TARGET)
+
+clean:
+	rm -rf $(TARGET) $(DIR_OBJS) core *~ *.a *.so *.lo
+
+make_directory:
+	mkdir -p $(DIR_OBJS)/
+
+$(DIR_OBJS)/%.o: ../%.c
+	$(CC) $(CCFLAGS) -c $? -o $@
+
+$(DIR_OBJS)/%.o: ../%.cpp
+	$(CX) $(CXFLAGS) -c $? -o $@
+
+#---------------------------------------------------------------------
+# End of Makefile
+#---------------------------------------------------------------------
diff --git a/c++/example/ProtocolCombined/win32/.vs/ProtocolCombined/v14/.suo b/c++/example/ProtocolCombined/win32/.vs/ProtocolCombined/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..2197bfcac6c5ca0e12bfce8ad1c3e38fc9c0570c
Binary files /dev/null and b/c++/example/ProtocolCombined/win32/.vs/ProtocolCombined/v14/.suo differ
diff --git a/c++/example/ProtocolCombined/win32/ProtocolCombined.sln b/c++/example/ProtocolCombined/win32/ProtocolCombined.sln
new file mode 100644
index 0000000000000000000000000000000000000000..e4e724328185c3a26978b02b1252d92cdbf0a17f
--- /dev/null
+++ b/c++/example/ProtocolCombined/win32/ProtocolCombined.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ProtocolCombined", "ProtocolCombined\ProtocolCombined.vcxproj", "{79686009-F7AC-49D2-8F02-5E9DAE701970}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{79686009-F7AC-49D2-8F02-5E9DAE701970}.Debug|x64.ActiveCfg = Debug|x64
+		{79686009-F7AC-49D2-8F02-5E9DAE701970}.Debug|x64.Build.0 = Debug|x64
+		{79686009-F7AC-49D2-8F02-5E9DAE701970}.Debug|x86.ActiveCfg = Debug|Win32
+		{79686009-F7AC-49D2-8F02-5E9DAE701970}.Debug|x86.Build.0 = Debug|Win32
+		{79686009-F7AC-49D2-8F02-5E9DAE701970}.Release|x64.ActiveCfg = Release|x64
+		{79686009-F7AC-49D2-8F02-5E9DAE701970}.Release|x64.Build.0 = Release|x64
+		{79686009-F7AC-49D2-8F02-5E9DAE701970}.Release|x86.ActiveCfg = Release|Win32
+		{79686009-F7AC-49D2-8F02-5E9DAE701970}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/ProtocolCombined/win32/ProtocolCombined/ProtocolCombined.vcxproj b/c++/example/ProtocolCombined/win32/ProtocolCombined/ProtocolCombined.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..69863673fc02faf2c1d76dc4a1e3bd29b29f0ccc
--- /dev/null
+++ b/c++/example/ProtocolCombined/win32/ProtocolCombined/ProtocolCombined.vcxproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{79686009-F7AC-49D2-8F02-5E9DAE701970}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>ProtocolCombined</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\build\win32\output</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\ProtocolCombined.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/ProtocolCombined/win32/ProtocolCombined/ProtocolCombined.vcxproj.filters b/c++/example/ProtocolCombined/win32/ProtocolCombined/ProtocolCombined.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..268548681ea6fdbd00c3cfeeabd1e7f02266bcf5
--- /dev/null
+++ b/c++/example/ProtocolCombined/win32/ProtocolCombined/ProtocolCombined.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\ProtocolCombined.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/ProtocolCombined/win32/ProtocolCombined/ProtocolCombined.vcxproj.user b/c++/example/ProtocolCombined/win32/ProtocolCombined/ProtocolCombined.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..b01e4cf4da5a3a27e6e59aa4ef24b2f56470dd5d
--- /dev/null
+++ b/c++/example/ProtocolCombined/win32/ProtocolCombined/ProtocolCombined.vcxproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\build\win32\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/ProtocolCombined/win64/.vs/ProtocolCombined/v14/.suo b/c++/example/ProtocolCombined/win64/.vs/ProtocolCombined/v14/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..e1c2dd9c12930efaa493786ce2631fb6faf8a868
Binary files /dev/null and b/c++/example/ProtocolCombined/win64/.vs/ProtocolCombined/v14/.suo differ
diff --git a/c++/example/ProtocolCombined/win64/ProtocolCombined.sln b/c++/example/ProtocolCombined/win64/ProtocolCombined.sln
new file mode 100644
index 0000000000000000000000000000000000000000..e4e724328185c3a26978b02b1252d92cdbf0a17f
--- /dev/null
+++ b/c++/example/ProtocolCombined/win64/ProtocolCombined.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ProtocolCombined", "ProtocolCombined\ProtocolCombined.vcxproj", "{79686009-F7AC-49D2-8F02-5E9DAE701970}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{79686009-F7AC-49D2-8F02-5E9DAE701970}.Debug|x64.ActiveCfg = Debug|x64
+		{79686009-F7AC-49D2-8F02-5E9DAE701970}.Debug|x64.Build.0 = Debug|x64
+		{79686009-F7AC-49D2-8F02-5E9DAE701970}.Debug|x86.ActiveCfg = Debug|Win32
+		{79686009-F7AC-49D2-8F02-5E9DAE701970}.Debug|x86.Build.0 = Debug|Win32
+		{79686009-F7AC-49D2-8F02-5E9DAE701970}.Release|x64.ActiveCfg = Release|x64
+		{79686009-F7AC-49D2-8F02-5E9DAE701970}.Release|x64.Build.0 = Release|x64
+		{79686009-F7AC-49D2-8F02-5E9DAE701970}.Release|x86.ActiveCfg = Release|Win32
+		{79686009-F7AC-49D2-8F02-5E9DAE701970}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/c++/example/ProtocolCombined/win64/ProtocolCombined/ProtocolCombined.vcxproj b/c++/example/ProtocolCombined/win64/ProtocolCombined/ProtocolCombined.vcxproj
new file mode 100644
index 0000000000000000000000000000000000000000..2d7d95bc23ffcd44c744d02e337bb7a6b68ef4f2
--- /dev/null
+++ b/c++/example/ProtocolCombined/win64/ProtocolCombined/ProtocolCombined.vcxproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{79686009-F7AC-49D2-8F02-5E9DAE701970}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>ProtocolCombined</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v140</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;..\..\..\..\build\dynamixel_win32</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir>$(Configuration)\</IntDir>
+    <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;..\..\..\..\build\win64\output</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>dynamixel_win32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>..\..\..\..\include</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>win64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\ProtocolCombined.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/ProtocolCombined/win64/ProtocolCombined/ProtocolCombined.vcxproj.filters b/c++/example/ProtocolCombined/win64/ProtocolCombined/ProtocolCombined.vcxproj.filters
new file mode 100644
index 0000000000000000000000000000000000000000..268548681ea6fdbd00c3cfeeabd1e7f02266bcf5
--- /dev/null
+++ b/c++/example/ProtocolCombined/win64/ProtocolCombined/ProtocolCombined.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="소스 파일">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="헤더 파일">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="리소스 파일">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\ProtocolCombined.cpp">
+      <Filter>소스 파일</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/example/ProtocolCombined/win64/ProtocolCombined/ProtocolCombined.vcxproj.user b/c++/example/ProtocolCombined/win64/ProtocolCombined/ProtocolCombined.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..f0b3b980bdff22157e88a9e47095c64f8150d8d0
--- /dev/null
+++ b/c++/example/ProtocolCombined/win64/ProtocolCombined/ProtocolCombined.vcxproj.user
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\build\dynamixel_win32;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LocalDebuggerEnvironment>PATH=%PATH%;..\..\..\..\build\win64\output;</LocalDebuggerEnvironment>
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/c++/include/dynamixel_sdk_windows/PortHandlerWindows.h b/c++/include/dynamixel_sdk_windows/PortHandlerWindows.h
new file mode 100644
index 0000000000000000000000000000000000000000..062d1a917afce02520217d15cef6417a7c129c65
--- /dev/null
+++ b/c++/include/dynamixel_sdk_windows/PortHandlerWindows.h
@@ -0,0 +1,61 @@
+/*
+* PortHandlerLinux.h
+*
+*  Created on: 2016. 4. 26.
+*      Author: leon
+*/
+
+#ifndef DYNAMIXEL_SDK_INCLUDE_DYNAMIXEL_SDK_WINDOWS_PORTHANDLERWINDOWS_H_
+#define DYNAMIXEL_SDK_INCLUDE_DYNAMIXEL_SDK_WINDOWS_PORTHANDLERWINDOWS_H_
+
+#include <Windows.h>
+#include "dynamixel_sdk/PortHandler.h"
+
+namespace ROBOTIS
+{
+    class WINDECLSPEC PortHandlerWindows : public PortHandler
+    {
+    private:
+        HANDLE  serial_handle;
+        LARGE_INTEGER freq, counter;
+
+        int     baudrate_;
+        char    port_name_[30];
+
+        double  packet_start_time_;
+        double  packet_timeout_;
+        double  tx_time_per_byte;
+
+        bool    SetupPort(const int baudrate);
+
+#undef GetCurrentTime
+        double  GetCurrentTime();
+        double  GetTimeSinceStart();
+
+    public:
+        PortHandlerWindows(const char *port_name);
+        virtual ~PortHandlerWindows() { ClosePort(); }
+
+        bool    OpenPort();
+        void    ClosePort();
+        void    ClearPort();
+
+        void    SetPortName(const char *port_name);
+        char   *GetPortName();
+
+        bool    SetBaudRate(const int baudrate);
+        int     GetBaudRate();
+
+        int     GetBytesAvailable();
+
+        int     ReadPort(UINT8_T *packet, int length);
+        int     WritePort(UINT8_T *packet, int length);
+
+        void    SetPacketTimeout(UINT16_T packet_length);
+        void    SetPacketTimeout(double msec);
+        bool    IsPacketTimeout();
+    };
+
+}
+
+#endif /* DYNAMIXEL_SDK_INCLUDE_DYNAMIXEL_SDK_LINUX_PORTHANDLERWINDOWS_H_ */
diff --git a/c++/src/dynamixel_sdk_windows/PortHandlerWindows.cpp b/c++/src/dynamixel_sdk_windows/PortHandlerWindows.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..c6de97ebffbda7dbeb4f76cad505a266ec2f790e
--- /dev/null
+++ b/c++/src/dynamixel_sdk_windows/PortHandlerWindows.cpp
@@ -0,0 +1,214 @@
+/*
+* PortHandlerWindows.cpp
+*
+*  Created on: 2016. 4. 06.
+*      Author: leon
+*/
+#if defined(_WIN32) || defined(_WIN64)
+#define WINDLLEXPORT
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include <time.h>
+#include "dynamixel_sdk_windows/PortHandlerWindows.h"
+
+#define LATENCY_TIMER  16 // msec (USB latency timer) 
+
+using namespace ROBOTIS;
+
+PortHandlerWindows::PortHandlerWindows(const char *port_name)
+    : serial_handle(INVALID_HANDLE_VALUE),
+    baudrate_(DEFAULT_BAUDRATE),
+    packet_start_time_(0.0),
+    packet_timeout_(0.0),
+    tx_time_per_byte(0.0)
+{
+    is_using = false;
+
+    char PortName[15];
+    sprintf_s(PortName, sizeof(PortName), "\\\\.\\", port_name);
+    SetPortName(port_name);
+}
+
+bool PortHandlerWindows::OpenPort()
+{
+    return SetBaudRate(baudrate_);
+}
+
+void PortHandlerWindows::ClosePort()
+{
+    if (serial_handle != INVALID_HANDLE_VALUE) 
+    {
+        CloseHandle(serial_handle);
+        serial_handle = INVALID_HANDLE_VALUE;
+    }
+}
+
+void PortHandlerWindows::ClearPort()
+{
+    PurgeComm(serial_handle, PURGE_RXABORT | PURGE_RXCLEAR);
+}
+
+void PortHandlerWindows::SetPortName(const char *port_name)
+{
+    strcpy_s(port_name_, sizeof(port_name_), port_name);
+}
+
+char *PortHandlerWindows::GetPortName()
+{
+    return port_name_;
+}
+
+bool PortHandlerWindows::SetBaudRate(const int baudrate)
+{
+    ClosePort();
+
+    baudrate_ = baudrate;
+    return SetupPort(baudrate);
+}
+
+int PortHandlerWindows::GetBaudRate()
+{
+    return baudrate_;
+}
+
+int PortHandlerWindows::GetBytesAvailable()
+{
+    DWORD retbyte = 2;
+    BOOL res = DeviceIoControl(serial_handle, GENERIC_READ | GENERIC_WRITE, NULL, 0, 0, 0, &retbyte, (LPOVERLAPPED)NULL);
+    
+    printf("%d", (int)res);
+    return (int)retbyte;
+}
+
+int PortHandlerWindows::ReadPort(UINT8_T *packet, int length)
+{
+    DWORD dwRead = 0;
+
+    if (ReadFile(serial_handle, packet, (DWORD)length, &dwRead, NULL) == FALSE)
+        return -1;
+
+    return (int)dwRead;
+}
+
+int PortHandlerWindows::WritePort(UINT8_T *packet, int length)
+{
+    DWORD dwWrite = 0;
+
+    if (WriteFile(serial_handle, packet, (DWORD)length, &dwWrite, NULL) == FALSE)
+        return -1;
+
+    return (int)dwWrite;
+}
+
+void PortHandlerWindows::SetPacketTimeout(UINT16_T packet_length)
+{
+    packet_start_time_ = GetCurrentTime();
+    packet_timeout_ = (tx_time_per_byte * (double)packet_length) + (LATENCY_TIMER * 2.0) + 2.0;
+}
+
+void PortHandlerWindows::SetPacketTimeout(double msec)
+{
+    packet_start_time_ = GetCurrentTime();
+    packet_timeout_ = msec;
+}
+
+bool PortHandlerWindows::IsPacketTimeout()
+{
+    if (GetTimeSinceStart() > packet_timeout_)
+    {
+        packet_timeout_ = 0;
+        return true;
+    }
+    return false;
+}
+#undef GetCurrentTime
+double PortHandlerWindows::GetCurrentTime()
+{
+    QueryPerformanceCounter(&counter);
+    QueryPerformanceFrequency(&freq);
+    return (double)counter.QuadPart / (double)freq.QuadPart * 1000.0;
+}
+
+double PortHandlerWindows::GetTimeSinceStart()
+{
+    double _time;
+
+    _time = GetCurrentTime() - packet_start_time_;
+    if (_time < 0.0)
+        packet_start_time_ = GetCurrentTime();
+
+    return _time;
+}
+
+bool PortHandlerWindows::SetupPort(int baudrate)
+{
+    DCB Dcb;
+    COMMTIMEOUTS Timeouts;
+    DWORD dwError;
+
+    ClosePort();
+
+    serial_handle = CreateFileA(port_name_, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+    if (serial_handle == INVALID_HANDLE_VALUE)
+    {
+        printf("[PortHandlerWindows::SetupPort] Error opening serial port!\n");
+        return false;
+    }
+
+    Dcb.DCBlength = sizeof(DCB);
+    if (GetCommState(serial_handle, &Dcb) == FALSE)
+        goto DXL_HAL_OPEN_ERROR;
+
+    // Set baudrate
+    Dcb.BaudRate = (DWORD)baudrate;
+    Dcb.ByteSize = 8;                    // Data bit = 8bit
+    Dcb.Parity = NOPARITY;             // No parity
+    Dcb.StopBits = ONESTOPBIT;           // Stop bit = 1
+    Dcb.fParity = NOPARITY;             // No Parity check
+    Dcb.fBinary = 1;                    // Binary mode
+    Dcb.fNull = 0;                    // Get Null byte
+    Dcb.fAbortOnError = 0;
+    Dcb.fErrorChar = 0;
+    // Not using XOn/XOff
+    Dcb.fOutX = 0;
+    Dcb.fInX = 0;
+    // Not using H/W flow control
+    Dcb.fDtrControl = DTR_CONTROL_DISABLE;
+    Dcb.fRtsControl = RTS_CONTROL_DISABLE;
+    Dcb.fDsrSensitivity = 0;
+    Dcb.fOutxDsrFlow = 0;
+    Dcb.fOutxCtsFlow = 0;
+
+    if (SetCommState(serial_handle, &Dcb) == FALSE)
+        goto DXL_HAL_OPEN_ERROR;
+
+    if (SetCommMask(serial_handle, 0) == FALSE) // Not using Comm event
+        goto DXL_HAL_OPEN_ERROR;
+    if (SetupComm(serial_handle, 4096, 4096) == FALSE) // Buffer size (Rx,Tx)
+        goto DXL_HAL_OPEN_ERROR;
+    if (PurgeComm(serial_handle, PURGE_TXABORT | PURGE_TXCLEAR | PURGE_RXABORT | PURGE_RXCLEAR) == FALSE) // Clear buffer
+        goto DXL_HAL_OPEN_ERROR;
+    if (ClearCommError(serial_handle, &dwError, NULL) == FALSE)
+        goto DXL_HAL_OPEN_ERROR;
+
+    if (GetCommTimeouts(serial_handle, &Timeouts) == FALSE)
+        goto DXL_HAL_OPEN_ERROR;
+    // Timeout (Not using timeout)
+    // Immediatly return
+    Timeouts.ReadIntervalTimeout = 0;
+    Timeouts.ReadTotalTimeoutMultiplier = 0;
+    Timeouts.ReadTotalTimeoutConstant = 1; // must not be zero.
+    Timeouts.WriteTotalTimeoutMultiplier = 0;
+    Timeouts.WriteTotalTimeoutConstant = 0;
+    if (SetCommTimeouts(serial_handle, &Timeouts) == FALSE)
+        goto DXL_HAL_OPEN_ERROR;
+
+    tx_time_per_byte = (1000.0 / (double)baudrate_) * 10.0;
+    return true;
+
+DXL_HAL_OPEN_ERROR:
+    ClosePort();
+    return false;
+}