diff --git a/docs/_static/404-page.svg b/docs/_static/404-page.svg
new file mode 100644
index 0000000000..e5485d7dde
--- /dev/null
+++ b/docs/_static/404-page.svg
@@ -0,0 +1,743 @@
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/404.rst b/docs/en/404.rst
new file mode 100644
index 0000000000..3f7aa413e7
--- /dev/null
+++ b/docs/en/404.rst
@@ -0,0 +1,18 @@
+:orphan:
+
+Page not Found
+==============
+:link_to_translation:`zh_CN:[中文]`
+
+.. note::
+
+ We're sorry. The page you requested could not be found.
+
+Please use menu on the left to navigate through documentation contents. Optionally type the phrase you are looking for in a search box above the menu and press enter.
+
+.. figure:: ../_static/404-page.svg
+ :align: center
+ :alt: We're sorry. The page you requested could not be found.
+ :figclass: align-center
+
+* :ref:`genindex`
diff --git a/docs/en/contribute/documenting-code.rst b/docs/en/contribute/documenting-code.rst
index 990665dd6c..fb83f73e18 100644
--- a/docs/en/contribute/documenting-code.rst
+++ b/docs/en/contribute/documenting-code.rst
@@ -246,10 +246,11 @@ You can setup environment to build documentation locally on your PC by installin
1. Doxygen - https://www.stack.nl/~dimitri/doxygen/
2. Sphinx - https://github.com/sphinx-doc/sphinx/#readme-for-sphinx
-3. Docment theme "sphinx_rtd_theme" - https://github.com/rtfd/sphinx_rtd_theme
-4. Breathe - https://github.com/michaeljones/breathe#breathe
-5. Blockdiag - http://blockdiag.com/en/index.html
-6. Recommonmark - https://github.com/rtfd/recommonmark
+3. Breathe - https://github.com/michaeljones/breathe#breathe
+4. Document theme "sphinx_rtd_theme" - https://github.com/rtfd/sphinx_rtd_theme
+5. Custom 404 page "sphinx-notfound-page" - https://github.com/rtfd/sphinx-notfound-page
+6. Blockdiag - http://blockdiag.com/en/index.html
+7. Recommonmark - https://github.com/rtfd/recommonmark
The package "sphinx_rtd_theme" is added to have the same "look and feel" of `ESP32 Programming Guide `_ documentation like on the "Read the Docs" hosting site.
diff --git a/docs/requirements.txt b/docs/requirements.txt
index 6dca554cbc..c7f0710292 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -4,6 +4,7 @@
sphinx>=1.8.4
breathe>=4.11.1
sphinx-rtd-theme
+sphinx-notfound-page
sphinxcontrib-blockdiag>=1.5.5
sphinxcontrib-seqdiag>=0.8.5
sphinxcontrib-actdiag>=0.8.5
diff --git a/docs/zh_CN/404.rst b/docs/zh_CN/404.rst
new file mode 100644
index 0000000000..812cff3d16
--- /dev/null
+++ b/docs/zh_CN/404.rst
@@ -0,0 +1,18 @@
+:orphan:
+
+Page not Found
+==============
+:link_to_translation:`en:[English]`
+
+.. note::
+
+ We're sorry. The page you requested could not be found.
+
+Please use menu on the left to navigate through documentation contents. Optionally type the phrase you are looking for in a search box above the menu and press enter.
+
+.. figure:: ../_static/404-page.svg
+ :align: center
+ :alt: We're sorry. The page you requested could not be found.
+ :figclass: align-center
+
+* :ref:`genindex`