--- a
+++ b/pi-plate.devdesc.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<DeviceDescription xmlns="http://www.3s-software.com/schemas/DeviceDescription-1.0.xsd" xmlns:ts="http://www.3s-software.com/schemas/TargetSettings-0.1.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <Types namespace="local"></Types>
+  <Strings namespace="local">
+    <Language lang="en"></Language>
+  </Strings>
+  <Files namespace="local">
+    <Language lang="en">
+      <File fileref="local" identifier="Icon">
+        <LocalFile>icon.ico</LocalFile>
+      </File>
+    </Language>
+  </Files>
+  <Device hideInCatalogue="false">
+    <DeviceIdentification>
+      <Type>501</Type>
+      <Id>0003 0001</Id>
+      <Version>1.0.0.0</Version>
+    </DeviceIdentification>
+    <DeviceInfo>
+      <Name name="local:ModelName">Relay Pi-Plate</Name>
+      <Description name="local:DeviceDescription">Relay Pi Plate for Codesys</Description>
+      <Vendor name="local:VendorName">Open Source</Vendor>
+      <OrderNumber>-</OrderNumber>
+      <Icon name="local:Icon">icon.ico</Icon>
+    </DeviceInfo>
+    <Connector moduleType="501" interface="Raspberry.SPI" role="child" explicit="false" connectorId="1" hostpath="-1">
+      <InterfaceName name="local:SPI">SPI devices</InterfaceName>
+      <Slot count="1" allowEmpty="false"></Slot>
+      <DriverInfo needsBusCycle="false">
+        <RequiredLib libname="Relay Pi-Plate" vendor="Open Source" version="1.0.0.0" identifier="Relay Pi-Plate">
+          <FBInstance basename="$(DeviceName)" fbname="RelayPlate">
+            <Initialize methodName="Initialize" />
+            <CyclicCall methodname="AfterReadInputs" task="#buscycletask" whentocall="afterReadInputs" />
+            <CyclicCall methodname="BeforeWriteOutputs" task="#buscycletask" whentocall="beforeWriteOutputs" />
+          </FBInstance>
+        </RequiredLib>
+      </DriverInfo>
+      <HostParameterSet>
+        <Parameter ParameterId="1000" type="std:BYTE">
+          <Attributes channel="none" download="true" functional="false" onlineaccess="read" />
+          <Default>0</Default>
+          <Name name="local:State">State</Name>
+          <Description name="local:State">State of the relay</Description>
+        </Parameter>
+      </HostParameterSet>
+    </Connector>
+  </Device>
+</DeviceDescription>
+