diff --git a/Readme.md b/Readme.md
index a692c4d..02b0ef2 100644
--- a/Readme.md
+++ b/Readme.md
@@ -13,6 +13,7 @@ Weitere Fingerabdruckleser können bei Bedarf angebunden werden.
## Kompatible Hardware
+### AB-Tools Fingerprint-Modul
Die kompakte Steuerplatine kann vollständig in ein Standard-Schalterprogramm integriert werden. Hier als Beispiel mit Gira-Schalterprogramm in matt schwarz und Edelstahlrahmen:

@@ -23,4 +24,12 @@ Dabei ist lediglich eine Einbautiefe von ca. 2 cm in einer Standard-60-mm-Unterp

-Alle Infos zur kompatiblen Hardware findet sich [hier](https://www.ab-smarthouse.com/produkt/openknx-fingerprint-leser/) oder bei Interesse einfach Kontakt per [E-Mail](mailto:info@ab-smarthouse.com?subject=[OpenKNX]%20Fingerprint) aufnehmen.
\ No newline at end of file
+Alle Infos zur kompatiblen Hardware findet sich [hier](https://www.ab-smarthouse.com/produkt/openknx-fingerprint-leser/) oder bei Interesse einfach Kontakt per [E-Mail](mailto:info@ab-smarthouse.com?subject=[OpenKNX]%20Fingerprint) aufnehmen.
+
+### SEN-UP1-8xTH
+Ursprünglich als Sensormodul entwickelt, kann dieses Modul auch für den Fingerprint genutzt wwerden.
+
+Dabei wird allerdings kein Relais (Schaltaktorkanal) unterstützt.
+
+
+https://muster.ing-dom.de/OpenKNX-UP1/OpenKNX-SEN-UP1-8xTH.html
\ No newline at end of file
diff --git a/hardware/PinoutSenUP1-8TH.png b/hardware/PinoutSenUP1-8TH.png
new file mode 100644
index 0000000..ec5b0c5
Binary files /dev/null and b/hardware/PinoutSenUP1-8TH.png differ
diff --git a/hardware/PinoutSenUP1-8TH.pptx b/hardware/PinoutSenUP1-8TH.pptx
new file mode 100644
index 0000000..6bf5bac
Binary files /dev/null and b/hardware/PinoutSenUP1-8TH.pptx differ
diff --git a/include/hardware.h b/include/hardware.h
index 083ea93..dd29f9d 100644
--- a/include/hardware.h
+++ b/include/hardware.h
@@ -1,6 +1,8 @@
#include
#ifdef BOARD_ABTOOLS_FINGERPRINT_V13
+ #define SCANNER_RX_PIN 5
+ #define SCANNER_TX_PIN 4
#define INFO_LED_PIN 11
#define INFO_LED_PIN_ACTIVE_ON HIGH
#define PROG_LED_PIN 10
@@ -28,3 +30,63 @@
#define OPENKNX_BI_GPIO_PINS 28, 18, 29, 19
#define OPENKNX_BI_GPIO_COUNT 4
#endif
+
+
+#ifdef OKNXHW_REG1_BASE_V1
+ #define SCANNER_RX_PIN 5
+ #define SCANNER_TX_PIN 4
+ #define SCANNER_TOUCH_PIN 2
+ #define TOUCH_LEFT_PIN 26
+ #define TOUCH_RIGHT_PIN 27
+ #define LED_GREEN_PIN 24
+ #define LED_RED_PIN 25
+
+ #define OPENKNX_SWA_CHANNEL_COUNT 1
+ #define OPENKNX_SWA_SET_PINS 14
+ #define OPENKNX_SWA_RESET_PINS 15
+ #define OPENKNX_SWA_SET_ACTIVE_ON LOW
+ #define OPENKNX_SWA_RESET_ACTIVE_ON LOW
+ #define OPENKNX_SWA_BISTABLE_IMPULSE_LENGTH 50
+
+ #define OPENKNX_BI_GPIO_PINS 28, 18, 29, 19
+ #define OPENKNX_BI_GPIO_COUNT 4
+#endif
+
+
+#ifdef OKNXHW_UP1_CONTROLLER2040
+
+ #define THPCHANNEL_A_SCL 29 // Relais (future)
+ #define THPCHANNEL_A_SDA 28 // Relais (future)
+ #define THPCHANNEL_B_SCL 27 // Touch Right
+ #define THPCHANNEL_B_SDA 26 // Touch Left
+ #define THPCHANNEL_C_SCL 25 // LED Red
+ #define THPCHANNEL_C_SDA 24 // LED Green
+ #define THPCHANNEL_D_SCL 23 // Binary
+ #define THPCHANNEL_D_SDA 22 // Binary
+ #define THPCHANNEL_E_SCL 21 // RX
+ #define THPCHANNEL_E_SDA 20 // TX
+ #define THPCHANNEL_F_SCL 19 // Touch
+ #define THPCHANNEL_F_SDA 18
+ #define THPCHANNEL_G_SCL 17 // Binary
+ #define THPCHANNEL_G_SDA 16 // Binary
+ #define THPCHANNEL_H_SCL 15
+ #define THPCHANNEL_H_SDA 14
+
+ #define SCANNER_RX_PIN THPCHANNEL_E_SCL // fingerprint.cpp L23
+ #define SCANNER_TX_PIN THPCHANNEL_E_SDA // fingerprint.cpp L23
+ #define SCANNER_TOUCH_PIN THPCHANNEL_F_SCL
+ #define TOUCH_LEFT_PIN THPCHANNEL_B_SDA
+ #define TOUCH_RIGHT_PIN THPCHANNEL_B_SCL
+ #define LED_GREEN_PIN THPCHANNEL_C_SDA
+ #define LED_RED_PIN THPCHANNEL_C_SCL
+
+ #define OPENKNX_SWA_CHANNEL_COUNT 0
+ #define OPENKNX_SWA_SET_PINS //THPCHANNEL_A_SCL (future)
+ #define OPENKNX_SWA_RESET_PINS //THPCHANNEL_A_SDA (future)
+ #define OPENKNX_SWA_SET_ACTIVE_ON LOW
+ #define OPENKNX_SWA_RESET_ACTIVE_ON LOW
+ #define OPENKNX_SWA_BISTABLE_IMPULSE_LENGTH 50
+
+ #define OPENKNX_BI_GPIO_PINS THPCHANNEL_D_SCL, THPCHANNEL_D_SDA, THPCHANNEL_G_SCL, THPCHANNEL_G_SDA
+ #define OPENKNX_BI_GPIO_COUNT 4
+#endif
\ No newline at end of file
diff --git a/include/versions.h b/include/versions.h
index 0e95e8c..5c72cd5 100644
--- a/include/versions.h
+++ b/include/versions.h
@@ -1,6 +1,6 @@
#pragma once
-#define MAIN_Version "8a724e6"
+#define MAIN_Version "67f7ec1"
#define KNX_Version "2.1.0+84a0ce3"
#define MODULE_Common_Version "1.2.0+8410b2a"
#define MODULE_Common_ETS 18
diff --git a/platformio.custom.ini b/platformio.custom.ini
index 63fb209..b002d55 100644
--- a/platformio.custom.ini
+++ b/platformio.custom.ini
@@ -39,7 +39,8 @@ build_flags =
${RP2040_develop.build_flags}
${RP2040_custom.build_flags}
${custom_develop.build_flags}
- -D BOARD_ABTOOLS_FINGERPRINT_V13
+ ;-D BOARD_ABTOOLS_FINGERPRINT_V13
+ -D OKNXHW_UP1_CONTROLLER2040
;-D USE_DATASECURE
debug_build_flags =
${custom_develop.debug_build_flags}
@@ -55,6 +56,9 @@ build_flags =
[env:debug_RP2040]
extends = RP2040_custom_develop
upload_protocol = mbed
+build_flags =
+ ${RP2040_custom_releases.build_flags}
+ -D OKNXHW_UP1_CONTROLLER2040
;upload_port = D:\
[env:upload_JLINK_RP2040]
@@ -77,3 +81,9 @@ extends = RP2040_custom_releases
build_flags =
${RP2040_custom_releases.build_flags}
-D OKNXHW_REG1_BASE_V1
+
+[env:release_UP1]
+extends = RP2040_custom_releases
+build_flags =
+ ${RP2040_custom_releases.build_flags}
+ -D OKNXHW_UP1_CONTROLLER2040
\ No newline at end of file
diff --git a/src/fingerprint.cpp b/src/fingerprint.cpp
index 2af8250..0a6c7a3 100644
--- a/src/fingerprint.cpp
+++ b/src/fingerprint.cpp
@@ -21,7 +21,7 @@ bool Fingerprint::start()
#elif ESP32_POE_ISO
_finger.begin(57600, 36, 4);
#elif ARDUINO_ARCH_RP2040
- _finger.begin(57600, 5, 4);
+ _finger.begin(57600, SCANNER_RX_PIN, SCANNER_TX_PIN);
#else
_finger.begin(57600, 39, 33);
#endif