diff --git a/avr/devices/all/modules_1m.asm b/avr/devices/all/modules_1m.asm
index e082d36..6e93ca8 100644
--- a/avr/devices/all/modules_1m.asm
+++ b/avr/devices/all/modules_1m.asm
@@ -29,6 +29,10 @@ modulesOnEveryMinute:
bigcall Ds3231_OnEveryMinute
#endif
+#ifdef MODULES_DS1307
+ bigcall Ds1307_OnEveryMinute
+#endif
+
ret
; @end
diff --git a/avr/devices/all/modules_include.asm b/avr/devices/all/modules_include.asm
index eaf6f3f..4d599ff 100644
--- a/avr/devices/all/modules_include.asm
+++ b/avr/devices/all/modules_include.asm
@@ -212,6 +212,17 @@ MODULE_END_COM2W:
#endif
#endif
+#ifdef MODULES_DS1307
+.include "modules/rtc/ds1307/main.asm"
+ #ifdef MODULES_NETWORK
+ .include "modules/network/msg/time-d.asm"
+ .include "modules/network/msg/time-r.asm"
+ .include "modules/network/msg/time-w.asm"
+ .include "modules/rtc/ds1307/recv.asm"
+ .include "modules/rtc/ds1307/send.asm"
+ #endif
+#endif
+
#ifdef MODULES_MOTION
.include "modules/motion/main2.asm"
#endif
diff --git a/avr/devices/all/modules_init.asm b/avr/devices/all/modules_init.asm
index b099a89..c8ff154 100644
--- a/avr/devices/all/modules_init.asm
+++ b/avr/devices/all/modules_init.asm
@@ -207,6 +207,10 @@ modulesInit:
bigcall Ds3231_Init
#endif
+#ifdef MODULES_DS1307
+ bigcall Ds1307_Init
+#endif
+
; done
ret
; @end
diff --git a/avr/devices/all/modules_msg.asm b/avr/devices/all/modules_msg.asm
index 9bab54d..79d206f 100644
--- a/avr/devices/all/modules_msg.asm
+++ b/avr/devices/all/modules_msg.asm
@@ -35,6 +35,12 @@ modulesOnPacketReceived:
#endif
#endif
+#ifdef MODULES_DS1307
+ #ifdef MODULES_NETWORK
+ bigcall Ds1307_OnPacketReceived
+ #endif
+#endif
+
; add more here
diff --git a/avr/modules/rtc/0BUILD b/avr/modules/rtc/0BUILD
index 8a211af..97dd6b1 100644
--- a/avr/modules/rtc/0BUILD
+++ b/avr/modules/rtc/0BUILD
@@ -4,6 +4,7 @@
ds3231
+ ds1307
diff --git a/avr/modules/rtc/ds1307/0BUILD b/avr/modules/rtc/ds1307/0BUILD
new file mode 100644
index 0000000..c7ca6fd
--- /dev/null
+++ b/avr/modules/rtc/ds1307/0BUILD
@@ -0,0 +1,13 @@
+
+
+
+
+
+ main.asm
+ recv.asm
+ send.asm
+
+
+
+
+
diff --git a/avr/modules/rtc/ds1307/main.asm b/avr/modules/rtc/ds1307/main.asm
new file mode 100644
index 0000000..bdc85ba
--- /dev/null
+++ b/avr/modules/rtc/ds1307/main.asm
@@ -0,0 +1,226 @@
+; ***************************************************************************
+; copyright : (C) 2026 by Martin Preuss
+; email : martin@libchipcard.de
+;
+; ***************************************************************************
+; * This file is part of the project "AqHome". *
+; * Please see toplevel file COPYING of that project for license details. *
+; ***************************************************************************
+
+
+
+; ***************************************************************************
+; defs
+
+.equ DS1307_FLAGS_PRESENT_BIT = 7
+.equ DS1307_FLAGS_VALID_BIT = 6
+
+
+
+
+
+; ***************************************************************************
+; data
+
+.dseg
+
+ds1307DataBegin:
+ ds1307Flags: .byte 1
+ ds1307RecvBuffer: .byte 7
+ds1307DataEnd:
+
+
+
+
+; ***************************************************************************
+; code
+
+.cseg
+
+
+
+; ---------------------------------------------------------------------------
+; @routine Ds1307_Init @global
+;
+; @return CFLAG set if okay, cleared on error
+; @clobbers
+
+Ds1307_Init:
+ ldi xh, HIGH(ds1307DataBegin)
+ ldi xl, LOW(ds1307DataBegin)
+ clr r16
+ ldi r17, (ds1307DataEnd-ds1307DataBegin)
+ rcall Utils_FillSram
+
+ rcall ds1307CheckPresence
+ brcc Ds1307_Init_ret
+ ldi r16, (1<