diff --git a/meta-python/recipes-devtools/python3-esptool/python3-esptool_4.4.bb b/meta-python/recipes-devtools/python3-esptool/python3-esptool_4.4.bb
new file mode 100644
index 0000000000..573e5fbdd1
--- /dev/null
+++ b/meta-python/recipes-devtools/python3-esptool/python3-esptool_4.4.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A Python-based, open-source, platform-independent utility to communicate with the ROM bootloader in Espressif chips."
+HOMEPAGE = "https://github.com/espressif/esptool"
+BUGTRACKER = "https://github.com/espressif/esptool/issues"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI[sha256sum] = "8acd4dfe70819b1302861ae92894380fb4700b377f5a4739479a4ec276e0b256"
+
+inherit pypi setuptools3
+
+# Split the Python package into multiple Yocto packages to avoid bringing in
+# heavy dependencies like python3-cryptography when only esptool.py might be
+# needed.
+PACKAGE_BEFORE_PN += "${PN}-espefuse ${PN}-espsecure"
+
+RDEPENDS:${PN} += "python3-core python3-pyserial"
+
+RDEPENDS:${PN}-espsecure += "${PN} python3-cryptography python3-ecdsa"
+FILES:${PN}-espsecure = "${bindir}/espsecure.py ${PYTHON_SITEPACKAGES_DIR}/espsecure/*"
+
+RDEPENDS:${PN}-espefuse += "${PN} python3-bitstring ${PN}-espsecure python3-reedsolo"
+FILES:${PN}-espefuse = "${bindir}/espefuse.py ${PYTHON_SITEPACKAGES_DIR}/espefuse/*"
