diff --git a/.github/workflows/build-check-html.yml b/.github/workflows/build-check-html.yml
new file mode 100644
index 0000000..41724f9
--- /dev/null
+++ b/.github/workflows/build-check-html.yml
@@ -0,0 +1,36 @@
+name: Build Documentation
+
+on:
+ push:
+ branches:
+ - main # Replace with your default branch
+ pull_request:
+ branches:
+ - main # Replace with your default branch
+
+jobs:
+ build-:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v3
+
+ - name: Set up Python
+ uses: actions/setup-python@v4
+ with:
+ python-version: '3.x' # Specify the Python version used by RTD
+
+ - name: Install dependencies
+ run: |
+ python -m pip install --upgrade pip
+ pip install -r requirements.txt # Install Sphinx and other dependencies
+
+ - name: Build documentation
+ run: |
+ make html # Build the HTML documentation
+
+# - name: Trigger Read the Docs build
+# run: |
+# curl -X POST -d "" https://readthe.org/api/v2/projects/ameba-arduino-pro2-doc/versions/latest/build/ \
+# -H "Authorization: token ${{ secrets.RTD_API_TOKEN }}"
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
new file mode 100644
index 0000000..c594f42
--- /dev/null
+++ b/.readthedocs.yaml
@@ -0,0 +1,32 @@
+# .readthedocs.yaml
+# Read the Docs configuration file
+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
+
+# Required
+version: 2
+
+# Set the OS, Python version and other tools you might need
+build:
+ os: ubuntu-22.04
+ tools:
+ python: "3.11"
+ # You can also specify other tool versions:
+ # nodejs: "19"
+ # rust: "1.64"
+ # golang: "1.19"
+
+# Build documentation in the "docs/" directory with Sphinx
+sphinx:
+ configuration: source/conf.py
+
+# Optionally build your docs in additional formats such as PDF and ePub
+formats:
+ - pdf
+# - epub
+
+# Optional but recommended, declare the Python requirements required
+# to build your documentation
+# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
+python:
+ install:
+ - requirements: requirements.txt
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..fd3d3a4
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,21 @@
+# Minimal makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line, and also
+# from the environment for the first two.
+SPHINXOPTS ?=
+SPHINXBUILD ?= sphinx-build
+SOURCEDIR = source
+BUILDDIR = build
+SPHINXOPTS = -W
+
+# Put it first so that "make" without argument is like "make help".
+help:
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+
+.PHONY: help Makefile
+
+# Catch-all target: route all unknown targets to Sphinx using the new
+# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
+%: Makefile
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
diff --git a/README.md b/README.md
index 72855cf..3d329d4 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,4 @@
# ameba-docs
-Ameba documents homepage
+## Ameba documents homepage
+
+https://ameba-docs-homepage.readthedocs.io/en/latest/index.html
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..c849bf3
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,3 @@
+sphinx-markdown-tables==0.0.17
+sphinx-rtd-theme==2.0.0rc2
+recommonmark
diff --git a/source/_static/Realtek_logo.png b/source/_static/Realtek_logo.png
new file mode 100644
index 0000000..f9169df
Binary files /dev/null and b/source/_static/Realtek_logo.png differ
diff --git a/source/_static/Realtek_logo_bak.png b/source/_static/Realtek_logo_bak.png
new file mode 100644
index 0000000..92dc350
Binary files /dev/null and b/source/_static/Realtek_logo_bak.png differ
diff --git a/source/conf.py b/source/conf.py
new file mode 100644
index 0000000..0031cb5
--- /dev/null
+++ b/source/conf.py
@@ -0,0 +1,43 @@
+# Configuration file for the Sphinx documentation builder.
+#
+# For the full list of built-in configuration values, see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+# -- Project information -----------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
+
+project = 'Ameba Documentation Homapage'
+copyright = '2024 Realtek Semiconductor Corp. All rights reserved'
+author = 'REALTEK SG'
+release = 'v1.0'
+
+# -- General configuration ---------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
+
+extensions = [
+ 'recommonmark',
+ 'sphinx_markdown_tables',
+ 'sphinx.ext.intersphinx'
+]
+
+templates_path = ['_templates']
+exclude_patterns = []
+
+# -- Options for HTML output -------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
+
+html_context = {
+ "display_github": True,
+ "github_user": "Ameba-AIoT",
+ "github_repo": "ameba-docs",
+ "github_version": "main",
+ "conf_py_path": "/source/",
+}
+
+html_logo = '_static/Realtek_logo.png'
+html_theme = 'sphinx_rtd_theme'
+html_static_path = ['_static']
+html_css_files = [
+ 'custom.css',
+]
+numfig = True
diff --git a/source/index.rst b/source/index.rst
new file mode 100644
index 0000000..ee89f03
--- /dev/null
+++ b/source/index.rst
@@ -0,0 +1,15 @@
+Welcome to Ameba Documentation Homepage!
+===========================================
+
+Documentation page
+------------------
+
+* `AmebaPro2 freertos `_
+* `AmebaPro2 arduino `_
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`