diff --git a/pycardium/modules/qstrdefs.h b/pycardium/modules/qstrdefs.h
index 0430d4d7c2df04658765d8cfa99b475ff84c6d87..d4a83022550a11dc70e845d3e851aee16fb96852 100644
--- a/pycardium/modules/qstrdefs.h
+++ b/pycardium/modules/qstrdefs.h
@@ -52,6 +52,8 @@ Q(monotonic)
 Q(monotonic_ms)
 Q(time)
 Q(time_ms)
+Q(unix_time)
+Q(unix_time_ms)
 Q(set_time)
 Q(set_unix_time)
 
diff --git a/pycardium/modules/utime.c b/pycardium/modules/utime.c
index 9f71eef51e0dd22bec48f9c2091851c8c509cb27..99bb52f93a7b308af80af5877df67dd1ea2b20a9 100644
--- a/pycardium/modules/utime.c
+++ b/pycardium/modules/utime.c
@@ -51,6 +51,20 @@ static mp_obj_t time_time_ms(void)
 }
 MP_DEFINE_CONST_FUN_OBJ_0(time_time_ms_obj, time_time_ms);
 
+static mp_obj_t time_unix_time(void)
+{
+	mp_int_t seconds = epic_rtc_get_seconds();
+	return mp_obj_new_int(seconds);
+}
+MP_DEFINE_CONST_FUN_OBJ_0(time_unix_time_obj, time_unix_time);
+
+static mp_obj_t time_unix_time_ms(void)
+{
+	uint64_t milliseconds = epic_rtc_get_milliseconds();
+	return mp_obj_new_int_from_ull(milliseconds);
+}
+MP_DEFINE_CONST_FUN_OBJ_0(time_unix_time_ms_obj, time_unix_time_ms);
+
 static mp_obj_t time_monotonic(void)
 {
 	mp_int_t seconds;
@@ -146,6 +160,9 @@ static const mp_rom_map_elem_t time_module_globals_table[] = {
 	{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_utime) },
 	{ MP_ROM_QSTR(MP_QSTR_time), MP_ROM_PTR(&time_time_obj) },
 	{ MP_ROM_QSTR(MP_QSTR_time_ms), MP_ROM_PTR(&time_time_ms_obj) },
+	{ MP_ROM_QSTR(MP_QSTR_unix_time), MP_ROM_PTR(&time_unix_time_obj) },
+	{ MP_ROM_QSTR(MP_QSTR_unix_time_ms),
+	  MP_ROM_PTR(&time_unix_time_ms_obj) },
 	{ MP_ROM_QSTR(MP_QSTR_monotonic), MP_ROM_PTR(&time_monotonic_obj) },
 	{ MP_ROM_QSTR(MP_QSTR_monotonic_ms),
 	  MP_ROM_PTR(&time_monotonic_ms_obj) },