diff --git a/meta-oniro-blueprints/conf/distro/oniro-zephyr-blueprint-doorlock.conf b/meta-oniro-blueprints/conf/distro/oniro-zephyr-blueprint-doorlock.conf
new file mode 100644
index 0000000000000000000000000000000000000000..70f0330abcb19977314b3a48a8f7e1cf2e881937
--- /dev/null
+++ b/meta-oniro-blueprints/conf/distro/oniro-zephyr-blueprint-doorlock.conf
@@ -0,0 +1,17 @@
+# SPDX-FileCopyrightText: Huawei Inc.
+#
+# SPDX-License-Identifier: Apache-2.0
+
+# Distro configuration for the dashboard blueprint
+
+require conf/distro/oniro-zephyr.conf
+
+DISTRO = "oniro-zephyr-blueprint-doorlock"
+DISTRO_NAME = "Oniro Project Doorlock Blueprint Zephyr Distro"
+
+# With our layer setup we would add any bbappend found from our
+# layers.conf. This means blueprint-specific appends would leak
+# into the package in our main distribution. To avoid this we
+# mask out the blueprint layers in the main distro and unmask
+# them only the blueprint distributions.
+BBMASK = ""
diff --git a/meta-oniro-blueprints/recipes-kernel/zephyr-kernel/zephyr-blueprint-doorlock-factoryreset.bb b/meta-oniro-blueprints/recipes-kernel/zephyr-kernel/zephyr-blueprint-doorlock-factoryreset.bb
new file mode 100644
index 0000000000000000000000000000000000000000..c5c1babebb9cd4e16d15051ba50bfc17f3496599
--- /dev/null
+++ b/meta-oniro-blueprints/recipes-kernel/zephyr-kernel/zephyr-blueprint-doorlock-factoryreset.bb
@@ -0,0 +1,26 @@
+# SPDX-FileCopyrightText: Huawei Inc.
+#
+# SPDX-License-Identifier: Apache-2.0
+
+require recipes-kernel/zephyr-kernel/zephyr-sample.inc
+
+SUMMARY = "Doorlock factory reset image"
+DESCRIPTION = "Zephyr based image for doing a factory reset on the doorlock blueprint"
+LICENSE = "Apache-2.0"
+
+SRC_OPT_PROTO = "protocol=https"
+SRC_OPT_DEST = "destsuffix=git/apps/doorlock-factoryreset"
+SRC_OPT_NAME = "name=doorlock-factoryreset"
+SRC_OPT_BRANCH = "branch=main"
+
+SRC_OPTIONS = "${SRC_OPT_PROTO};${SRC_OPT_DEST};${SRC_OPT_NAME};${SRC_OPT_BRANCH}"
+SRC_URI += "git://booting.oniroproject.org/distro/blueprints/doorlock/doorlock-factoryreset.git;${SRC_OPTIONS}"
+
+SRCREV_doorlock-factoryreset = "375df8948aff9aca79c6e766f070b82e6ca087f7"
+
+ZEPHYR_SRC_DIR = "${S}/apps/doorlock-factoryreset"
+
+# For the moment, other boards don't have the devicetree
+# overlays describing how the locks, keypad etc. are
+# supposed to be connected.
+COMPATIBLE_MACHINE = "(arduino-nano-33-ble)"
diff --git a/meta-oniro-blueprints/recipes-kernel/zephyr-kernel/zephyr-blueprint-doorlock.bb b/meta-oniro-blueprints/recipes-kernel/zephyr-kernel/zephyr-blueprint-doorlock.bb
new file mode 100644
index 0000000000000000000000000000000000000000..a14c4a80cf50475bf1bdc2afde9b7fecee7a6c4c
--- /dev/null
+++ b/meta-oniro-blueprints/recipes-kernel/zephyr-kernel/zephyr-blueprint-doorlock.bb
@@ -0,0 +1,26 @@
+# SPDX-FileCopyrightText: Huawei Inc.
+#
+# SPDX-License-Identifier: Apache-2.0
+
+require recipes-kernel/zephyr-kernel/zephyr-sample.inc
+
+SUMMARY = "Doorlock blueprint image"
+DESCRIPTION = "Zephyr based image for handling door locks"
+LICENSE = "Apache-2.0"
+
+SRC_OPT_PROTO = "protocol=https"
+SRC_OPT_DEST = "destsuffix=git/apps/doorlock"
+SRC_OPT_NAME = "name=doorlock"
+SRC_OPT_BRANCH = "branch=main"
+
+SRC_OPTIONS = "${SRC_OPT_PROTO};${SRC_OPT_DEST};${SRC_OPT_NAME};${SRC_OPT_BRANCH}"
+SRC_URI += "git://booting.oniroproject.org/distro/blueprints/doorlock/doorlock-zephyr.git;${SRC_OPTIONS}"
+
+SRCREV_doorlock = "7d7f093c5a1285027bea3d070760b48e25ba8ced"
+
+ZEPHYR_SRC_DIR = "${S}/apps/doorlock"
+
+# For the moment, other boards don't have the devicetree
+# overlays describing how the locks, keypad etc. are
+# supposed to be connected.
+COMPATIBLE_MACHINE = "(arduino-nano-33-ble)"