diff --git a/Hello_World_FreeRTOS/.cproject b/Hello_World_FreeRTOS/.cproject
deleted file mode 100644
index b8312be2fc33854528253ad89f2e3137d25fa173..0000000000000000000000000000000000000000
--- a/Hello_World_FreeRTOS/.cproject
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
-	<storageModule moduleId="org.eclipse.cdt.core.settings">
-		<cconfiguration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962">
-			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962" moduleId="org.eclipse.cdt.core.settings" name="Debug">
-				<externalSettings/>
-				<extensions>
-					<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
-					<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-				</extensions>
-			</storageModule>
-			<storageModule moduleId="cdtBuildSystem" version="4.0.0">
-				<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962" name="Debug" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug">
-					<folderInfo id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962." name="/" resourcePath="">
-						<toolChain id="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug.548125692" name="Cross ARM GCC" superClass="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug">
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.1448195934" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.none" valueType="enumerated"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.989348626" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength" value="true" valueType="boolean"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.573934961" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar" value="true" valueType="boolean"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.1195068176" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections" value="true" valueType="boolean"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.1035348629" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections" value="true" valueType="boolean"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.31679983" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.max" valueType="enumerated"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.1676901946" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1729767352" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" value="GNU Tools for ARM Embedded Processors" valueType="string"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.1708484008" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture" value="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.arm" valueType="enumerated"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.178519983" name="ARM family" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-m3" valueType="enumerated"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.956545422" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.thumb" valueType="enumerated"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.1580514969" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix" value="arm-none-eabi-" valueType="string"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.1246670973" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c" value="gcc" valueType="string"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.1674926322" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp" value="g++" valueType="string"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.2051566192" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar" value="ar" valueType="string"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.408066731" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy" value="objcopy" valueType="string"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.1900584936" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump" value="objdump" valueType="string"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1096852527" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size" value="size" valueType="string"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.937347953" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make" value="make" valueType="string"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.1468247042" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm" value="rm" valueType="string"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1529750846" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash" value="true" valueType="boolean"/>
-							<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.667765305" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize" value="true" valueType="boolean"/>
-							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.786533016" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
-							<builder arguments="ECLIPSE=1" buildPath="${workspace_loc:/FreeRTOSDemo}" command="make" id="ilg.gnuarmeclipse.managedbuild.cross.builder.592880777" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"/>
-							<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1648672385" name="Cross ARM GNU Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
-								<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1969112665" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
-								<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.507854261" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
-							</tool>
-							<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1576427906" name="Cross ARM C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler">
-									<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.1576427906" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/CMSIS/Device/Maxim/MAX32665/Include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/MAX32665PeriphDriver/Include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/Boards/EvKit_V1/Include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/Boards/Include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/CMSIS/Include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Toolchain/arm-none-eabi/include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Toolchain/arm-none-eabi/include/sys&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Toolchain/lib/gcc/arm-none-eabi/6.3.1/include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/FreeRTOS/Source/include&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/FreeRTOS/Source/portable/GCC/ARM_CM4F&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;${MAXIM_PATH}/Firmware/MAX32665/Libraries/FreeRTOS-Plus/Source/FreeRTOS-Plus-CLI&quot;"/>
-										<listOptionValue builtIn="false" value="&quot;.././&quot;"/>
-									</option>
-								<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.68945223" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
-							</tool>
-							<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.794996645" name="Cross ARM C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler"/>
-							<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.675776866" name="Cross ARM C Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker">
-								<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections.185399645" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections" value="true" valueType="boolean"/>
-								<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.input.246156916" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.input">
-									<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
-									<additionalInput kind="additionalinput" paths="$(LIBS)"/>
-								</inputType>
-							</tool>
-							<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.391142733" name="Cross ARM C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker">
-								<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections.2099090970" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections" value="true" valueType="boolean"/>
-							</tool>
-							<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.399743328" name="Cross ARM GNU Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver"/>
-							<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.822983655" name="Cross ARM GNU Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash"/>
-							<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.1050446219" name="Cross ARM GNU Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting">
-								<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.335976671" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"/>
-								<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders.964898349" name="Display all headers (--all-headers|-x)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders" value="true" valueType="boolean"/>
-								<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle.972868647" name="Demangle names (--demangle|-C)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle" value="true" valueType="boolean"/>
-								<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers.890608562" name="Display line numbers (--line-numbers|-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers" value="true" valueType="boolean"/>
-								<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide.1669392057" name="Wide lines (--wide|-w)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide" value="true" valueType="boolean"/>
-							</tool>
-							<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.403251962" name="Cross ARM GNU Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize">
-								<option id="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format.1919947275" name="Size format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format"/>
-							</tool>
-						</toolChain>
-					</folderInfo>
-				</configuration>
-			</storageModule>
-			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
-		</cconfiguration>
-	</storageModule>
-	<storageModule moduleId="cdtBuildSystem" version="4.0.0">
-		<project id="FreeRTOSDemo.ilg.gnuarmeclipse.managedbuild.cross.target.elf.737306620" name="Executable" projectType="ilg.gnuarmeclipse.managedbuild.cross.target.elf"/>
-	</storageModule>
-	<storageModule moduleId="scannerConfiguration">
-		<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
-		<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962;ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1576427906;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.68945223">
-			<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
-		</scannerConfigBuildInfo>
-	</storageModule>
-	<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-	<storageModule moduleId="refreshScope" versionNumber="2">
-		<configuration configurationName="Debug">
-			<resource resourceType="PROJECT" workspacePath="/FreeRTOSDemo"/>
-		</configuration>
-	</storageModule>
-	<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
-</cproject>
diff --git a/Hello_World_FreeRTOS/.gdbinit b/Hello_World_FreeRTOS/.gdbinit
deleted file mode 100644
index 85b92cf79c0f29f412a886e093c13da55dfc1bcc..0000000000000000000000000000000000000000
--- a/Hello_World_FreeRTOS/.gdbinit
+++ /dev/null
@@ -1,3 +0,0 @@
-file build/max32665.elf
-target remote localhost:3333
-
diff --git a/Hello_World_FreeRTOS/.project b/Hello_World_FreeRTOS/.project
deleted file mode 100644
index c2534f428006bd61ca588800d1201ca4404267e1..0000000000000000000000000000000000000000
--- a/Hello_World_FreeRTOS/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>FreeRTOSDemo</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
-			<triggers>clean,full,incremental,</triggers>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
-			<triggers>full,incremental,</triggers>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.cdt.core.cnature</nature>
-		<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
-		<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
-	</natures>
-</projectDescription>
diff --git a/Hello_World_FreeRTOS/.settings/language.settings.xml b/Hello_World_FreeRTOS/.settings/language.settings.xml
deleted file mode 100644
index e5a1647610f97197abe406e8ef1bb9e62065f5a1..0000000000000000000000000000000000000000
--- a/Hello_World_FreeRTOS/.settings/language.settings.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<project>
-    <configuration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1674944962" name="Debug">
-        <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
-            <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
-            <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
-            <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-        </extension>
-    </configuration>
-</project>
diff --git a/Hello_World_FreeRTOS/Makefile b/Hello_World_FreeRTOS/Makefile
deleted file mode 100644
index 7884dea65c84788e2eef511fa3dcd917fc115ffa..0000000000000000000000000000000000000000
--- a/Hello_World_FreeRTOS/Makefile
+++ /dev/null
@@ -1,153 +0,0 @@
-################################################################################
-# Copyright (C) 2016 Maxim Integrated Products, Inc., All Rights Reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-# IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
-# OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-# OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of Maxim Integrated
-# Products, Inc. shall not be used except as stated in the Maxim Integrated
-# Products, Inc. Branding Policy.
-#
-# The mere transfer of this software does not imply any licenses
-# of trade secrets, proprietary technology, copyrights, patents,
-# trademarks, maskwork rights, or any other form of intellectual
-# property whatsoever. Maxim Integrated Products, Inc. retains all
-# ownership rights.
-#
-###############################################################################
-
-# This is the name of the build output file
-ifeq "$(PROJECT)" ""
-PROJECT=max32665
-endif
-
-# Specify the target processor
-ifeq "$(TARGET)" ""
-TARGET=MAX32665
-endif
-
-# Create Target name variables
-TARGET_UC:=$(shell echo $(TARGET) | tr a-z A-Z)
-TARGET_LC:=$(shell echo $(TARGET) | tr A-Z a-z)
-
-# Select 'GCC' or 'IAR' compiler
-COMPILER=GCC
-
-# Specify the board used
-ifeq "$(BOARD)" ""
-#BOARD=EvKit_V1
-BOARD=card10
-endif
-
-# This is the path to the CMSIS root directory
-ifeq "$(MAXIM_PATH)" ""
-LIBS_DIR=../sdk/Libraries
-else
-LIBS_DIR=/$(subst \,/,$(subst :,,$(MAXIM_PATH))/Firmware/$(TARGET_UC)/Libraries)
-endif
-CMSIS_ROOT=$(LIBS_DIR)/CMSIS
-
-# Source files for this test (add path to VPATH below)
-SRCS  = main.c
-SRCS += FreeRTOS_CLI.c
-SRCS += CLI-commands.c
-SRCS += freertos_tickless.c
-SRCS  += pmic.c
-SRCS  += bosch.c
-SRCS  += bhy_support.c bhy_uc_driver.c bhy.c
-SRCS  += MAX77650-Arduino-Library.c
-SRCS  += bme680.h
-SRCS  += bma400.c
-
-
-# Where to find source files for this test
-VPATH = .
-
-# Where to find header files for this test
-IPATH = .
-
-IPATH += ../lib/card10
-VPATH += ../lib/card10
-
-IPATH += ../lib/bosch/BHy1_driver_and_MCU_solution/driver/inc
-IPATH += ../lib/bosch/BHy1_driver_and_MCU_solution/examples/firmware/
-VPATH += ../lib/bosch/BHy1_driver_and_MCU_solution/driver/src
-
-IPATH += ../lib/maxim/MAX77650-Arduino-Library
-VPATH += ../lib/maxim/MAX77650-Arduino-Library
-
-IPATH += ../lib/bosch/BME680_driver
-VPATH += ../lib/bosch/BME680_driver
-
-IPATH += ../lib/bosch/BMA400-API
-VPATH += ../lib/bosch/BMA400-API
-
-# Enable assertion checking for development
-PROJ_CFLAGS+=-DMXC_ASSERT_ENABLE
-
-# Specify the target revision to override default
-# "A2" in ASCII
-# TARGET_REV=0x4132
-
-# Use this variables to specify and alternate tool path
-#TOOL_DIR=/opt/gcc-arm-none-eabi-4_8-2013q4/bin
-
-# Use these variables to add project specific tool options
-#PROJ_CFLAGS+=--specs=nano.specs
-#PROJ_LDFLAGS+=--specs=nano.specs
-
-PROJ_CFLAGS+=-std=c99
-
-# Point this variable to a startup file to override the default file
-#STARTUPFILE=start.S
-
-# Override the default optimization level using this variable
-#MXC_OPTIMIZE_CFLAGS=-O1
-
-# Point this variable to a linker file to override the default file
-ifneq "$(APP)" ""
-LINKERFILE=$(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source/GCC/$(TARGET_LC)_app.ld
-endif
-
-################################################################################
-# Include external library makefiles here
-
-# Include the BSP
-BOARD_DIR=$(LIBS_DIR)/Boards/$(BOARD)
-include $(BOARD_DIR)/board.mk
-
-# Include the peripheral driver
-PERIPH_DRIVER_DIR=$(LIBS_DIR)/$(TARGET_UC)PeriphDriver
-include $(PERIPH_DRIVER_DIR)/periphdriver.mk
-
-# Include the FreeRTOS library, and specify a local FreeRTOSConfig.h file
-RTOS_CONFIG_DIR=.
-RTOS_DIR=$(LIBS_DIR)/FreeRTOS
-include $(RTOS_DIR)/freertos.mk
-# Include the FreeRTOS-Plus-CLI (please read license file before using commercially)
-IPATH +=$(LIBS_DIR)/FreeRTOS-Plus/Source/FreeRTOS-Plus-CLI
-VPATH +=$(LIBS_DIR)/FreeRTOS-Plus/Source/FreeRTOS-Plus-CLI
-
-################################################################################
-# Include the rules for building for this target. All other makefiles should be
-# included before this one.
-include $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source/$(COMPILER)/$(TARGET_LC).mk
-
-# The rule to clean out all the build products.
-distclean: clean
-	$(MAKE) -C ${PERIPH_DRIVER_DIR} clean
diff --git a/Hello_World_FreeRTOS/build_image b/Hello_World_FreeRTOS/build_image
deleted file mode 100755
index 5feeda9e451ec5e5449a0dd509ddc4fe597d9767..0000000000000000000000000000000000000000
--- a/Hello_World_FreeRTOS/build_image
+++ /dev/null
@@ -1,5 +0,0 @@
-make clean
-make APP=1
-make build/max32665.bin
-cp build/max32665.bin card10.bin
-../bootloader/crc_patch.py card10.bin
diff --git a/Hello_World_FreeRTOS/CLI-commands.c b/hw-tests/hello-freertos/CLI-commands.c
similarity index 100%
rename from Hello_World_FreeRTOS/CLI-commands.c
rename to hw-tests/hello-freertos/CLI-commands.c
diff --git a/Hello_World_FreeRTOS/FreeRTOSConfig.h b/hw-tests/hello-freertos/FreeRTOSConfig.h
similarity index 100%
rename from Hello_World_FreeRTOS/FreeRTOSConfig.h
rename to hw-tests/hello-freertos/FreeRTOSConfig.h
diff --git a/Hello_World_FreeRTOS/freertos_tickless.c b/hw-tests/hello-freertos/freertos_tickless.c
similarity index 100%
rename from Hello_World_FreeRTOS/freertos_tickless.c
rename to hw-tests/hello-freertos/freertos_tickless.c
diff --git a/Hello_World_FreeRTOS/main.c b/hw-tests/hello-freertos/main.c
similarity index 100%
rename from Hello_World_FreeRTOS/main.c
rename to hw-tests/hello-freertos/main.c
diff --git a/hw-tests/hello-freertos/meson.build b/hw-tests/hello-freertos/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..7a8b45bccba1a09d884221bf6ee581593b8019ae
--- /dev/null
+++ b/hw-tests/hello-freertos/meson.build
@@ -0,0 +1,28 @@
+name = 'hello-freertos'
+
+freertos = static_library(
+  'freertos-sdk',
+  freertos_sdk_sources,
+  dependencies: periphdriver,
+  include_directories: [
+    freertos_sdk_includes,
+    include_directories('./'),
+  ]
+)
+
+sources = files(
+  'CLI-commands.c',
+  'freertos_tickless.c',
+  'main.c',
+)
+
+executable(
+  name + '.elf',
+  sources,
+  include_directories: freertos_sdk_includes,
+  dependencies: [libcard10],
+  link_with: freertos,
+  link_args: [
+    '-Wl,-Map=' + meson.current_build_dir() + '/' + name + '.map',
+  ],
+)
diff --git a/hw-tests/meson.build b/hw-tests/meson.build
index f5302d2cb32629ad59be041f2de8d2d6956ddaf9..537bbcfded3d00ff4cc9c4b2758195d65ac8aefe 100644
--- a/hw-tests/meson.build
+++ b/hw-tests/meson.build
@@ -1,6 +1,7 @@
 subdir('bmatest/')
 subdir('bmetest/')
 subdir('ecgtest/')
+subdir('hello-freertos/')
 subdir('hello-world/')
 subdir('imutest/')
 subdir('ips/')
diff --git a/lib/sdk/Libraries/FreeRTOS/meson.build b/lib/sdk/Libraries/FreeRTOS/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..71efeaf7d234373cad50f2dfb02f82ce2a8beae1
--- /dev/null
+++ b/lib/sdk/Libraries/FreeRTOS/meson.build
@@ -0,0 +1,17 @@
+freertos_sdk_includes = include_directories(
+  './Source/include/',
+  './Source/portable/GCC/ARM_CM4F/',
+  '../FreeRTOS-Plus/Source/FreeRTOS-Plus-CLI/',
+)
+
+freertos_sdk_sources = files(
+  './Source/croutine.c',
+  './Source/event_groups.c',
+  './Source/list.c',
+  './Source/queue.c',
+  './Source/tasks.c',
+  './Source/timers.c',
+  './Source/portable/GCC/ARM_CM4F/port.c',
+  '../FreeRTOS-Plus/Source/FreeRTOS-Plus-CLI/FreeRTOS_CLI.c',
+  './Source/portable/MemMang/heap_2.c',
+)
diff --git a/lib/sdk/meson.build b/lib/sdk/meson.build
index a2f64eb7a3a7f212482f3b76fcba1c813f93552d..b78dc88f303266b52edfd30f8c255c0d3aca2d68 100644
--- a/lib/sdk/meson.build
+++ b/lib/sdk/meson.build
@@ -2,3 +2,5 @@ subdir('./Libraries/MAX32665PeriphDriver/')
 subdir('./Libraries/CMSIS/Device/Maxim/MAX32665/')
 
 subdir('./Libraries/Boards/card10/')
+
+subdir('./Libraries/FreeRTOS/')