diff --git a/docs/assets/img/product_pics/1.jpg b/docs/assets/img/product_pics/1.jpg
deleted file mode 100644
index 6bdbc10d..00000000
Binary files a/docs/assets/img/product_pics/1.jpg and /dev/null differ
diff --git a/docs/assets/img/product_pics/2.jpg b/docs/assets/img/product_pics/2.jpg
deleted file mode 100644
index 65d0ce4e..00000000
Binary files a/docs/assets/img/product_pics/2.jpg and /dev/null differ
diff --git a/docs/assets/img/product_pics/3.jpg b/docs/assets/img/product_pics/3.jpg
deleted file mode 100644
index bde5489a..00000000
Binary files a/docs/assets/img/product_pics/3.jpg and /dev/null differ
diff --git a/docs/assets/img/product_pics/4.jpg b/docs/assets/img/product_pics/4.jpg
deleted file mode 100644
index 691a4a75..00000000
Binary files a/docs/assets/img/product_pics/4.jpg and /dev/null differ
diff --git a/docs/assets/img/product_pics/5.jpg b/docs/assets/img/product_pics/5.jpg
deleted file mode 100644
index 17fbe018..00000000
Binary files a/docs/assets/img/product_pics/5.jpg and /dev/null differ
diff --git a/docs/assets/img/product_pics/6.jpg b/docs/assets/img/product_pics/6.jpg
deleted file mode 100644
index 82f33cc9..00000000
Binary files a/docs/assets/img/product_pics/6.jpg and /dev/null differ
diff --git a/docs/assets/img/product_pics/icon_accessory.png b/docs/assets/img/product_pics/icon_accessory.png
new file mode 100644
index 00000000..cee272fa
Binary files /dev/null and b/docs/assets/img/product_pics/icon_accessory.png differ
diff --git a/docs/assets/img/product_pics/icon_app.png b/docs/assets/img/product_pics/icon_app.png
new file mode 100644
index 00000000..903f0974
Binary files /dev/null and b/docs/assets/img/product_pics/icon_app.png differ
diff --git a/docs/assets/img/product_pics/icon_base.png b/docs/assets/img/product_pics/icon_base.png
new file mode 100644
index 00000000..85c07d2e
Binary files /dev/null and b/docs/assets/img/product_pics/icon_base.png differ
diff --git a/docs/assets/img/product_pics/icon_module.png b/docs/assets/img/product_pics/icon_module.png
new file mode 100644
index 00000000..607a769a
Binary files /dev/null and b/docs/assets/img/product_pics/icon_module.png differ
diff --git a/docs/assets/img/product_pics/icon_unit.png b/docs/assets/img/product_pics/icon_unit.png
new file mode 100644
index 00000000..a53ab068
Binary files /dev/null and b/docs/assets/img/product_pics/icon_unit.png differ
diff --git a/docs/assets/img/product_pics/module.png b/docs/assets/img/product_pics/module.png
index 6fef6f17..176cc637 100644
Binary files a/docs/assets/img/product_pics/module.png and b/docs/assets/img/product_pics/module.png differ
diff --git a/docs/assets/img/product_pics/module/module_example/STEPMOTOR/example_module_stepmotor_01.png b/docs/assets/img/product_pics/module/module_example/STEPMOTOR/example_module_stepmotor_01.png
index cc84486d..a5c43fc3 100644
Binary files a/docs/assets/img/product_pics/module/module_example/STEPMOTOR/example_module_stepmotor_01.png and b/docs/assets/img/product_pics/module/module_example/STEPMOTOR/example_module_stepmotor_01.png differ
diff --git a/docs/assets/img/product_pics/unit/unit_example/ANGLE/example_unit_angle_04.png b/docs/assets/img/product_pics/unit/unit_example/ANGLE/example_unit_angle_04.png
new file mode 100644
index 00000000..b0f7f453
Binary files /dev/null and b/docs/assets/img/product_pics/unit/unit_example/ANGLE/example_unit_angle_04.png differ
diff --git a/docs/assets/img/product_pics/unit/unit_example/DUAL_BUTTON/example_unit_dual_button_05.png b/docs/assets/img/product_pics/unit/unit_example/DUAL_BUTTON/example_unit_dual_button_05.png
index fcbc0266..acfe4db9 100644
Binary files a/docs/assets/img/product_pics/unit/unit_example/DUAL_BUTTON/example_unit_dual_button_05.png and b/docs/assets/img/product_pics/unit/unit_example/DUAL_BUTTON/example_unit_dual_button_05.png differ
diff --git a/docs/assets/img/product_pics/unit/unit_example/JOYSTICK/example_unit_joystick_04.png b/docs/assets/img/product_pics/unit/unit_example/JOYSTICK/example_unit_joystick_04.png
new file mode 100644
index 00000000..d8240e79
Binary files /dev/null and b/docs/assets/img/product_pics/unit/unit_example/JOYSTICK/example_unit_joystick_04.png differ
diff --git a/docs/assets/img/product_pics/unit/unit_example/LIGHT/example_unit_light_04.png b/docs/assets/img/product_pics/unit/unit_example/LIGHT/example_unit_light_04.png
new file mode 100644
index 00000000..ffdec3aa
Binary files /dev/null and b/docs/assets/img/product_pics/unit/unit_example/LIGHT/example_unit_light_04.png differ
diff --git a/docs/assets/img/product_pics/unit/unit_example/NCIR/example_unit_ncir_03.png b/docs/assets/img/product_pics/unit/unit_example/NCIR/example_unit_ncir_03.png
index 3c7fe626..fe704e2c 100644
Binary files a/docs/assets/img/product_pics/unit/unit_example/NCIR/example_unit_ncir_03.png and b/docs/assets/img/product_pics/unit/unit_example/NCIR/example_unit_ncir_03.png differ
diff --git a/docs/assets/img/product_pics/unit/unit_example/NCIR/example_unit_ncir_04.png b/docs/assets/img/product_pics/unit/unit_example/NCIR/example_unit_ncir_04.png
new file mode 100644
index 00000000..602ce322
Binary files /dev/null and b/docs/assets/img/product_pics/unit/unit_example/NCIR/example_unit_ncir_04.png differ
diff --git a/docs/assets/img/product_pics/unit/unit_example/TOF/example_unit_tof_01.png b/docs/assets/img/product_pics/unit/unit_example/TOF/example_unit_tof_01.png
new file mode 100644
index 00000000..31b6685e
Binary files /dev/null and b/docs/assets/img/product_pics/unit/unit_example/TOF/example_unit_tof_01.png differ
diff --git a/docs/en/app/bala.md b/docs/en/app/bala.md
index b3ef0a8c..83e5545c 100644
--- a/docs/en/app/bala.md
+++ b/docs/en/app/bala.md
@@ -4,7 +4,7 @@
* * *
-:memo:**[Description](#Description)** :bulb:**[Quick Start](en/quick_start/bala/bala_quick_start)** :octocat:**[Example](https://github.com/m5stack/M5Bala/tree/master/examples)** 🛒**[Purchase](https://www.aliexpress.com/store/product/M5Satck-New-BALA-Car-ESP32-Development-Mini-Electric-Self-balancing-Car-2DC-Motor-with-Encoder-PSRAM/3226069_32904033658.html?spm=2114.12010615.8148356.40.1fd3724dW3O2Bu.html)**
+:memo:**[Description](#Description)** :bulb:**[Quick Start](en/quick_start/bala/bala_quick_start)** :octocat:**[Example](https://github.com/m5stack/M5Bala/tree/master/examples)** 🛒**[Purchase](https://www.aliexpress.com/store/product/M5Satck-New-BALA-Car-ESP32-Development-Mini-Electric-Self-balancing-Car-2DC-Motor-with-Encoder-PSRAM/3226069_32904033658.html?spm=2114.12010615.8148356.40.1fd3724dW3O2Bu.html)** :clapper:**[Related Video](#Related-Video)**
## Description
@@ -49,3 +49,9 @@ Weight | 56g
- Type-C USB Cable
+
+## Related Video
+
+**BALA Case - 01**
+
+
diff --git a/docs/en/app/piano.md b/docs/en/app/piano.md
index 5cb58c33..d0e9c461 100644
--- a/docs/en/app/piano.md
+++ b/docs/en/app/piano.md
@@ -18,6 +18,10 @@ PIANO needs access to the [base](en/base/core_bottom) of the M5Core as shown bel
+## Example
+
+- https://github.com/m5stack/M5-ProductExampleCodes/blob/master/App/PIANO/Arduino/M5PIANO/M5PIANO.ino
+
## PinMap
**Touch Sensor (TS20) & LED**
diff --git a/docs/en/base/core_bottom.md b/docs/en/base/core_bottom.md
index c7f79169..c5177faa 100644
--- a/docs/en/base/core_bottom.md
+++ b/docs/en/base/core_bottom.md
@@ -10,7 +10,7 @@
## Description
-**M5GO BOTTOM** is a base of [M5Core BASIC](en/core/basic) kit and [M5Core GRAY](en/core/gray) kit. This base has extended part of the interface of M-Bus in the form of pin headers and female headers so that you can connect other devices more conveniently.
+**Core BOTTOM** is a base of [M5Core BASIC](en/core/basic) kit and [M5Core GRAY](en/core/gray) kit. This base has extended part of the interface of M-Bus in the form of pin headers and female headers so that you can connect other devices more conveniently.
diff --git a/docs/en/base/lan_base.md b/docs/en/base/lan_base.md
index 858c1c04..3e42b571 100644
--- a/docs/en/base/lan_base.md
+++ b/docs/en/base/lan_base.md
@@ -37,6 +37,12 @@ In addition, if you want to communicate with LAN through RS485, we also supply a
- HT3.96 port for supporting RS485
- Easy to fixed on the wall
+## Include
+
+- 1x LAN Module
+- Wall holder
+- 4x screws
+- 4x Type-C USB Cable
## Related Link
diff --git a/docs/en/module/joystick.md b/docs/en/module/joystick.md
index 6525fdc6..e03c1d25 100644
--- a/docs/en/module/joystick.md
+++ b/docs/en/module/joystick.md
@@ -4,7 +4,9 @@
***
-:memo:**[Description](#Description)** :octocat:**[Example](#Example)** 🛒**[Purchase](https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-1172588106.15.6c7f425eQd3OmC&id=581195019026)** :clapper:**[Related Video](#Related-Video)**
+:memo:**[Description](#Description)** :octocat:**[Example](#Example)** 🛒**[Purchase](https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-1172588106.15.6c7f425eQd3OmC&id=581195019026)**
+
+
## Description
@@ -118,7 +120,7 @@ Wire.write(b);
Wire.endTransmission();
```
-## Related Video
+
\ No newline at end of file
diff --git a/docs/en/module/stepmotor.md b/docs/en/module/stepmotor.md
index dd81aab7..3e706c8e 100644
--- a/docs/en/module/stepmotor.md
+++ b/docs/en/module/stepmotor.md
@@ -79,7 +79,7 @@ while (Serial.available() > 0) {
### 2. UIFlow
-*If you want the complete code, please click [here](https://github.com/m5stack/stepmotor_module/tree/master/Example/UIFlow).*
+*If you want the complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/blob/master/Module/STEPMOTOR/UIFlow).*
diff --git a/docs/en/quick_start/m5camera/m5camera_quick_start.md b/docs/en/quick_start/m5camera/m5camera_quick_start.md
index 765556c4..6cc39bc0 100644
--- a/docs/en/quick_start/m5camera/m5camera_quick_start.md
+++ b/docs/en/quick_start/m5camera/m5camera_quick_start.md
@@ -1,6 +1,8 @@
# ESP32Cam/M5Camera Quick Start {docsify-ignore-all}
-## Out-of-the-box Demo
+:clapper: **[Video Tutorial](#Video-Tutorial)** :memo: **[Text Tutorial](#Text-Tutorial)**
+
+## Text Tutorial
It is really really out of the box. Your ESP32Cam/M5Camera will immediately run without any code after you power it.
@@ -39,3 +41,7 @@ M5Camera(A model default) Firmware: https://github.com/m5stack/m5stack-cam-psram
M5CameraX Firmware: https://github.com/m5stack/m5stack-cam-psram/tree/master
M5CameraF Firmware: https://github.com/m5stack/m5stack-cam-psram/tree/master
+
+## Video Tutorial
+
+
diff --git a/docs/en/unit/angle.md b/docs/en/unit/angle.md
index 4e6dc9e3..8fc9c4fb 100644
--- a/docs/en/unit/angle.md
+++ b/docs/en/unit/angle.md
@@ -45,6 +45,8 @@ pinMode(sensorPin, INPUT);
cur_sensorValue = analogRead(sensorPin);
```
+
+
### 2. UIFlow
*If you want the complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/ANGLE/UIFlow).*
diff --git a/docs/en/unit/dual_button.md b/docs/en/unit/dual_button.md
index ff48e5f5..a00e4417 100644
--- a/docs/en/unit/dual_button.md
+++ b/docs/en/unit/dual_button.md
@@ -4,7 +4,7 @@
***
-:memo:**[Description](#Description)** :octocat:**[Example](#Example)** :electric_plug:**[Schematic](#Schematic)** 🛒**[Purchase](https://www.aliexpress.com/store/product/M5Stack-Official-New-Mini-Dual-Button-Unit-Mini-with-GROVE-Port-Cable-Connector-Compatible-with-FIRE/3226069_32923126250.html?spm=a2g1x.12024536.productList_2187621.9)**
+:memo:**[Description](#Description)** :octocat:**[Example](#Example)** :electric_plug:**[Schematic](#Schematic)** 🛒**[Purchase](https://www.aliexpress.com/store/product/M5Stack-Official-New-Mini-Dual-Button-Unit-Mini-with-GROVE-Port-Cable-Connector-Compatible-with-FIRE/3226069_32923126250.html?spm=a2g1x.12024536.productList_2187621.9)** :clapper:**[Related Video](#Related-Video)**
## Description
@@ -51,7 +51,7 @@ M5.update();
-
+
## Schematic
@@ -62,4 +62,10 @@ M5.update();
M5Core(GROVE B)
GPIO36
GPIO26
5V
GND
DUAL_BUTTON Unit
Blue Button Pin
Red Button Pin
5V
GND
-
\ No newline at end of file
+
+
+## Related Video
+
+**Joystick Case - Page flipping and selection of menu interface**
+
+
\ No newline at end of file
diff --git a/docs/en/unit/joystick.md b/docs/en/unit/joystick.md
index 6b3f34a2..994d2b9f 100644
--- a/docs/en/unit/joystick.md
+++ b/docs/en/unit/joystick.md
@@ -4,7 +4,7 @@
***
-:memo:**[Description](#Description)** :octocat:**[Example](#Example)** :electric_plug:**[Schematic](#Schematic)** 🛒**[Purchase](https://www.aliexpress.com/store/product/M5Stack-Official-New-Joystick-Unit-MEGA328P-I2C-Grove-Connector-Compatible-X-Y-Axis-Button-for-ESP32/3226069_32921785624.html?spm=a2g1x.12024536.productList_2187621.10)**
+:memo:**[Description](#Description)** :octocat:**[Example](#Example)** :electric_plug:**[Schematic](#Schematic)** 🛒**[Purchase](https://www.aliexpress.com/store/product/M5Stack-Official-New-Joystick-Unit-MEGA328P-I2C-Grove-Connector-Compatible-X-Y-Axis-Button-for-ESP32/3226069_32921785624.html?spm=a2g1x.12024536.productList_2187621.10)** :clapper:**[Related Video](#Related-Video)**
## Description
@@ -31,7 +31,7 @@ The Joystick Unit is controlled by PORT A (I2C) after connected with the M5Core,
### 1. Arduino IDE
-*The below code is incomplete(just for usage). If you want the complete code, please click [here]https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/JOYSTICK/Arduino).*
+*The below code is incomplete(just for usage). If you want the complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/JOYSTICK/Arduino).*
```arduino
#include
@@ -60,6 +60,8 @@ if (Wire.available()) {
}
```
+
+
### 2. UIFlow
*If you want the complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/JOYSTICK/UIFlow).*
@@ -75,4 +77,14 @@ if (Wire.available()) {