diff --git a/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventreceiver_temperature_1.0.0/EventReceiver_temperature.xml b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventreceiver_temperature_1.0.0/EventReceiver_temperature.xml
new file mode 100644
index 0000000000..6786696c7a
--- /dev/null
+++ b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventreceiver_temperature_1.0.0/EventReceiver_temperature.xml
@@ -0,0 +1,8 @@
+
+
+
+ false
+
+
+
+
diff --git a/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventreceiver_temperature_1.0.0/artifact.xml b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventreceiver_temperature_1.0.0/artifact.xml
new file mode 100644
index 0000000000..b72e1ff7a4
--- /dev/null
+++ b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventreceiver_temperature_1.0.0/artifact.xml
@@ -0,0 +1,4 @@
+
+
+ EventReceiver_temperature.xml
+
diff --git a/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventstore_temperature_1.0.0/artifact.xml b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventstore_temperature_1.0.0/artifact.xml
new file mode 100644
index 0000000000..90b14c1165
--- /dev/null
+++ b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventstore_temperature_1.0.0/artifact.xml
@@ -0,0 +1,4 @@
+
+
+ org_wso2_iot_devices_temperature.xml
+
diff --git a/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventstore_temperature_1.0.0/org_wso2_iot_devices_temperature.xml b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventstore_temperature_1.0.0/org_wso2_iot_devices_temperature.xml
new file mode 100644
index 0000000000..13a625bde9
--- /dev/null
+++ b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventstore_temperature_1.0.0/org_wso2_iot_devices_temperature.xml
@@ -0,0 +1,44 @@
+
+
+
+ EVENT_STORE
+
+
+ meta_owner
+ true
+ true
+ false
+ STRING
+
+
+ meta_deviceType
+ true
+ true
+ false
+ STRING
+
+
+ meta_deviceId
+ true
+ true
+ false
+ STRING
+
+
+ meta_time
+ true
+ true
+ false
+ LONG
+
+
+ temperature
+ false
+ false
+ false
+ FLOAT
+
+
+
\ No newline at end of file
diff --git a/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventstream_temperature_1.0.0/artifact.xml b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventstream_temperature_1.0.0/artifact.xml
new file mode 100644
index 0000000000..61e7903b89
--- /dev/null
+++ b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventstream_temperature_1.0.0/artifact.xml
@@ -0,0 +1,5 @@
+
+
+ org.wso2.iot.devices.temperature_1.0.0.json
+
+
diff --git a/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventstream_temperature_1.0.0/org.wso2.iot.devices.temperature_1.0.0.json b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventstream_temperature_1.0.0/org.wso2.iot.devices.temperature_1.0.0.json
new file mode 100644
index 0000000000..5d94b9821b
--- /dev/null
+++ b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Eventstream_temperature_1.0.0/org.wso2.iot.devices.temperature_1.0.0.json
@@ -0,0 +1,20 @@
+{
+ "name": "org.wso2.iot.devices.temperature",
+ "version": "1.0.0",
+ "nickName": "Temperature Data",
+ "description": "Temperature data received from the Device",
+ "metaData": [
+ {"name":"owner","type":"STRING"},
+ {"name":"deviceType","type":"STRING"},
+ {"name":"deviceId","type":"STRING"},
+ {"name":"time","type":"LONG"}
+ ],
+ "payloadData": [
+ {
+ "name": "temperature","type": "FLOAT"
+ }
+ ]
+}
+
+
+
diff --git a/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Sparkscripts_1.0.0/Temperature_Sensor_Script.xml b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Sparkscripts_1.0.0/Temperature_Sensor_Script.xml
new file mode 100644
index 0000000000..ee6a7195d6
--- /dev/null
+++ b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Sparkscripts_1.0.0/Temperature_Sensor_Script.xml
@@ -0,0 +1,13 @@
+
+
+ IoTServer_Sensor_Script
+
+ 0 * * * * ?
+
diff --git a/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Sparkscripts_1.0.0/artifact.xml b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Sparkscripts_1.0.0/artifact.xml
new file mode 100644
index 0000000000..58c2dcc17f
--- /dev/null
+++ b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/Sparkscripts_1.0.0/artifact.xml
@@ -0,0 +1,4 @@
+
+
+ Temperature_Sensor_Script.xml
+
diff --git a/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/artifacts.xml b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/artifacts.xml
new file mode 100644
index 0000000000..b53507636b
--- /dev/null
+++ b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/Temperature_Sensor/artifacts.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/build.xml b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/build.xml
new file mode 100644
index 0000000000..71411aa34f
--- /dev/null
+++ b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/build.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/pom.xml b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/pom.xml
new file mode 100644
index 0000000000..64a7b148f5
--- /dev/null
+++ b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.analytics/pom.xml
@@ -0,0 +1,68 @@
+
+
+
+
+
+ org.wso2.carbon.devicemgt-plugins
+ device-mgt-iot-arduino-feature
+ 1.9.2-SNAPSHOT
+ ../pom.xml
+
+
+ 4.0.0
+ org.wso2.carbon.device.mgt.iot.arduino.analytics
+ WSO2 Carbon - IoT Server Arduino Analytics capp
+ pom
+
+
+
+
+ maven-clean-plugin
+ 2.4.1
+
+
+ auto-clean
+ initialize
+
+ clean
+
+
+
+
+
+ maven-antrun-plugin
+ 1.7
+
+
+ process-resources
+
+
+
+
+
+
+ run
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/configs/arduino.json b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/configs/arduino.json
new file mode 100644
index 0000000000..e18a6a60e1
--- /dev/null
+++ b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/configs/arduino.json
@@ -0,0 +1,18 @@
+{
+ "deviceType": {
+ "label": "Arduino",
+ "category": "iot",
+ "downloadAgentUri": "manager/device/arduino/download",
+ },
+ "analyticStreams": {
+ "name": "Temperature",
+ "table": "DEVICE_TEMPERATURE_SUMMARY",
+ "ui_unit": {
+ "name": "cdmf.unit.analytics.line-chart",
+ "data":[
+ {"column": {"name":"TIME", "label":"time", "ui-mapping":"x-axis"}},
+ {"column": {"name":"ACCELEROMETER", "label":"Accelerometer", "ui-mapping":"y-axis"}}
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/p2.inf b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/p2.inf
index 7bdbcad9c9..44f7e5c70e 100644
--- a/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/p2.inf
+++ b/features/device-mgt-iot-arduino-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/p2.inf
@@ -1,4 +1,6 @@
instructions.configure = \
+org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../conf/device-types/);\
+org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.arduino_${feature.version}/configs/,target:${installFolder}/../../conf/device-types/,overwrite:true);\
org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../conf/devicetype-conf/);\
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.arduino_${feature.version}/configs/,target:${installFolder}/../../conf/devicetype-conf/,overwrite:true);\
org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../deployment/server/webapps/);\
diff --git a/features/device-mgt-iot-arduino-feature/pom.xml b/features/device-mgt-iot-arduino-feature/pom.xml
index 2dba8b7603..3fcae4bb6d 100644
--- a/features/device-mgt-iot-arduino-feature/pom.xml
+++ b/features/device-mgt-iot-arduino-feature/pom.xml
@@ -36,6 +36,7 @@
org.wso2.carbon.device.mgt.iot.arduino.feature
-
+ org.wso2.carbon.device.mgt.iot.arduino.analytics
+
diff --git a/features/device-mgt-mdm-android-feature/org.wso2.carbon.device.mgt.mobile.android.feature/src/main/resources/configs/android.json b/features/device-mgt-mdm-android-feature/org.wso2.carbon.device.mgt.mobile.android.feature/src/main/resources/configs/android.json
new file mode 100644
index 0000000000..3601ecb510
--- /dev/null
+++ b/features/device-mgt-mdm-android-feature/org.wso2.carbon.device.mgt.mobile.android.feature/src/main/resources/configs/android.json
@@ -0,0 +1,6 @@
+{
+ "deviceType": {
+ "label": "Android",
+ "category" : "mobile"
+ }
+}
diff --git a/features/device-mgt-mdm-android-feature/org.wso2.carbon.device.mgt.mobile.android.feature/src/main/resources/p2.inf b/features/device-mgt-mdm-android-feature/org.wso2.carbon.device.mgt.mobile.android.feature/src/main/resources/p2.inf
index 0bc0624e24..9469fa7958 100644
--- a/features/device-mgt-mdm-android-feature/org.wso2.carbon.device.mgt.mobile.android.feature/src/main/resources/p2.inf
+++ b/features/device-mgt-mdm-android-feature/org.wso2.carbon.device.mgt.mobile.android.feature/src/main/resources/p2.inf
@@ -1,4 +1,6 @@
instructions.configure = \
+org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../conf/device-types/);\
+org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.android_${feature.version}/configs/,target:${installFolder}/../../conf/device-types/,overwrite:true);\
org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../deployment/server/webapps/);\
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.mobile.android_${feature.version}/webapps/,target:${installFolder}/../../deployment/server/webapps/,overwrite:true);\
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.mobile.android_${feature.version}/jaggeryapps/,target:${installFolder}/../../deployment/server/jaggeryapps/,overwrite:true);\
diff --git a/features/device-mgt-mdm-windows-feature/org.wso2.carbon.device.mgt.mobile.windows.feature/src/main/resources/configs/windows.json b/features/device-mgt-mdm-windows-feature/org.wso2.carbon.device.mgt.mobile.windows.feature/src/main/resources/configs/windows.json
new file mode 100644
index 0000000000..33823e6653
--- /dev/null
+++ b/features/device-mgt-mdm-windows-feature/org.wso2.carbon.device.mgt.mobile.windows.feature/src/main/resources/configs/windows.json
@@ -0,0 +1,6 @@
+{
+ "deviceType": {
+ "label": "Windows",
+ "category" : "mobile"
+ }
+}
diff --git a/features/device-mgt-mdm-windows-feature/org.wso2.carbon.device.mgt.mobile.windows.feature/src/main/resources/p2.inf b/features/device-mgt-mdm-windows-feature/org.wso2.carbon.device.mgt.mobile.windows.feature/src/main/resources/p2.inf
index f7de186327..217d8d8fca 100644
--- a/features/device-mgt-mdm-windows-feature/org.wso2.carbon.device.mgt.mobile.windows.feature/src/main/resources/p2.inf
+++ b/features/device-mgt-mdm-windows-feature/org.wso2.carbon.device.mgt.mobile.windows.feature/src/main/resources/p2.inf
@@ -1,4 +1,6 @@
instructions.configure = \
+org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../conf/device-types/);\
+org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.windows_${feature.version}/configs/,target:${installFolder}/../../conf/device-types/,overwrite:true);\
org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../deployment/server/webapps/);\
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.mobile.windows_${feature.version}/jaggeryapps/,target:${installFolder}/../../deployment/server/jaggeryapps/,overwrite:true);\
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.mobile.windows_${feature.version}/webapps/,target:${installFolder}/../../deployment/server/webapps/,overwrite:true);\