diff --git a/.gitignore b/.gitignore
index 836a4ebb..09e3aea9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,4 @@ node_modules
._*
.cache
.DS_Store
+*.mp4
diff --git a/docs/assets/img/m5stack_case/units/TempHumiMeter_01.png b/docs/assets/img/m5stack_case/units/TempHumiMeter_01.png
new file mode 100644
index 00000000..fa906423
Binary files /dev/null and b/docs/assets/img/m5stack_case/units/TempHumiMeter_01.png differ
diff --git a/docs/assets/img/product_pics/core/basic/basic_06.JPG b/docs/assets/img/product_pics/core/basic/basic_06.JPG
new file mode 100644
index 00000000..1af5e757
Binary files /dev/null and b/docs/assets/img/product_pics/core/basic/basic_06.JPG differ
diff --git a/docs/assets/img/product_pics/core/basic/basic_07.JPG b/docs/assets/img/product_pics/core/basic/basic_07.JPG
new file mode 100644
index 00000000..1ef2e167
Binary files /dev/null and b/docs/assets/img/product_pics/core/basic/basic_07.JPG differ
diff --git a/docs/assets/img/product_pics/core/basic/basic_08.JPG b/docs/assets/img/product_pics/core/basic/basic_08.JPG
new file mode 100644
index 00000000..98a3d9f8
Binary files /dev/null and b/docs/assets/img/product_pics/core/basic/basic_08.JPG differ
diff --git a/docs/assets/img/product_pics/core/basic/basic_09.JPG b/docs/assets/img/product_pics/core/basic/basic_09.JPG
new file mode 100644
index 00000000..c855086d
Binary files /dev/null and b/docs/assets/img/product_pics/core/basic/basic_09.JPG differ
diff --git a/docs/assets/img/product_pics/core/basic/basic_10.JPG b/docs/assets/img/product_pics/core/basic/basic_10.JPG
new file mode 100644
index 00000000..fa7b6747
Binary files /dev/null and b/docs/assets/img/product_pics/core/basic/basic_10.JPG differ
diff --git a/docs/assets/img/product_pics/modules/lego+_01.jpg b/docs/assets/img/product_pics/modules/lego+_01.jpg
index 14acefa1..2c227355 100644
Binary files a/docs/assets/img/product_pics/modules/lego+_01.jpg and b/docs/assets/img/product_pics/modules/lego+_01.jpg differ
diff --git a/docs/assets/img/product_pics/modules/usb_01.jpg b/docs/assets/img/product_pics/modules/usb_01.jpg
index 49cf522a..6b7d0635 100644
Binary files a/docs/assets/img/product_pics/modules/usb_01.jpg and b/docs/assets/img/product_pics/modules/usb_01.jpg differ
diff --git a/docs/assets/img/product_pics/units/adc_sch.JPG b/docs/assets/img/product_pics/units/adc_sch.JPG
new file mode 100644
index 00000000..604b5efb
Binary files /dev/null and b/docs/assets/img/product_pics/units/adc_sch.JPG differ
diff --git a/docs/assets/img/product_pics/units/adc_schematic.JPG b/docs/assets/img/product_pics/units/adc_schematic.JPG
new file mode 100644
index 00000000..f1a2b54e
Binary files /dev/null and b/docs/assets/img/product_pics/units/adc_schematic.JPG differ
diff --git a/docs/assets/img/product_pics/units/env_sch.JPG b/docs/assets/img/product_pics/units/env_sch.JPG
new file mode 100644
index 00000000..4ae17bb2
Binary files /dev/null and b/docs/assets/img/product_pics/units/env_sch.JPG differ
diff --git a/docs/assets/img/product_pics/units/hub_sch.JPG b/docs/assets/img/product_pics/units/hub_sch.JPG
new file mode 100644
index 00000000..4f0ca253
Binary files /dev/null and b/docs/assets/img/product_pics/units/hub_sch.JPG differ
diff --git a/docs/assets/img/product_pics/units/ir_sch.JPG b/docs/assets/img/product_pics/units/ir_sch.JPG
new file mode 100644
index 00000000..fd906c2d
Binary files /dev/null and b/docs/assets/img/product_pics/units/ir_sch.JPG differ
diff --git a/docs/en/product_documents.md b/docs/en/product_documents.md
index d976b887..599247b7 100644
--- a/docs/en/product_documents.md
+++ b/docs/en/product_documents.md
@@ -1,29 +1,73 @@
# Product Documents
-[中文](zh_CN/product_documents) | English | [日本語](ja/product_documents)
-
-?> The `Quick Start` section of each product is placed in the corresponding product document.
+***
-| M5Core | MiniCore |
+**M5Core**
+
+[](en/product_documents/m5stack-core/m5core_basic) [](en/product_documents/m5stack-core/m5core_gray) [](en/product_documents/m5stack-core/m5core_fire)
+
+**MiniCore**
+
+[](en/product_documents/m5stack-core/minicore_stick)
+
+**Kit**
+
+[](en/product_documents/m5stack-core/m5go_iot_starter_kit)[](en/product_documents/m5stack-core/face_kit)
+
+***
+
+
+
+**Communication Modules**
+
+[](en/product_documents/modules/module_gps)[](en/product_documents/modules/module_lora)[](en/product_documents/modules/module_sim800)[](en/product_documents/modules/module_commu)[](en/product_documents/modules/module_usb)
+
+**Expansion Modules**
+
+[](en/product_documents/modules/module_battery)[](en/product_documents/modules/module_proto)[](en/product_documents/modules/module_plus)
+
+**Drive Modules**
+
+[](en/product_documents/modules/module_stepmotor)[](en/product_documents/modules/module_servo)[](en/product_documents/modules/module_lego+)
+
+***
+
+
+
+**Input/Sensing Unit**
+
+[](en/product_documents/units/unit_env)[](en/product_documents/units/unit_ir)[](en/product_documents/units/unit_pir)[](en/product_documents/units/unit_angle)[](en/product_documents/units/unit_adc)
+
+[](en/product_documents/units/unit_dac)[](en/product_documents/units/unit_button)[](en/product_documents/units/unit_dual_button)
+
+**Output/Controlling Unit**
+
+[](en/product_documents/units/unit_rgb)[](en/product_documents/units/unit_relay)[](en/product_documents/units/unit_neopixel)
+
+**Interface Unit**
+
+[](en/product_documents/units/unit_hub)[](en/product_documents/units/unit_396port)
+
+
diff --git a/docs/en/product_documents/m5stack-core/m5core_basic.md b/docs/en/product_documents/m5stack-core/m5core_basic.md
index fcdd7257..b56071e6 100644
--- a/docs/en/product_documents/m5stack-core/m5core_basic.md
+++ b/docs/en/product_documents/m5stack-core/m5core_basic.md
@@ -1,39 +1,53 @@
# M5Core BASIC
-📝**[Example](https://github.com/m5stack/M5Stack/tree/master/examples)** | 💡**[Quick Start](en/quick_start/m5core/m5stack_core_quick_start)** | **[Schematic](https://github.com/m5stack/M5-3D_and_PCB/blob/master/M5_Core_SCH%2820171206%29.pdf)** | 🛒**[Purchase](https://www.aliexpress.com/store/product/M5Stack-Official-Stock-Offer-ESP32-Basic-Core-Development-Kit-Extensible-Micro-Control-Wifi-BLE-IoT-Prototype/3226069_32837164440.html?spm=2114.12010615.8148356.2.3b9b2de96y27jH)**
+
-## DESCRIPTION
+* * *
-The M5Stack **BASIC** is a black development kit based on ESP32 chip composed of a black M5Core and a Bottom Base board. You can even program The M5Stack BASIC through Blockly, Arduino or MicroPython. The black core is a basic kit and **it does not own any MEMS chip(like MPU9250...)**.
+:memo:**[Description](#Description)**|:bulb:**[Quick Start](en/quick_start/m5core/m5stack_core_quick_start)**|:octocat:**[Example](https://github.com/m5stack/M5Stack/tree/master/examples/Basics)** | :electric_plug:**[Schematic](https://github.com/m5stack/M5-3D_and_PCB/blob/master/M5_Core_SCH%2820171206%29.pdf)** | 🛒**[Purchase](https://www.aliexpress.com/store/product/M5Stack-Official-Stock-Offer-ESP32-Basic-Core-Development-Kit-Extensible-Micro-Control-Wifi-BLE-IoT-Prototype/3226069_32837164440.html?spm=2114.12010615.8148356.2.3b9b2de96y27jH)**:clapper:**[Related Video](#Related-Video)**
+
+## Description
+
+**The M5Stack BASIC** is a black development kit based on **ESP32** chip composed of a black M5Core and a Bottom Base board. You can even program The M5Stack BASIC through Blockly, Arduino or MicroPython. The black core is a basic kit and **it does not own any MEMS chip(like MPU9250...)**.
The a Bottom board on the back of M5Core. It's designed for expanding gpio on M-Bus besides I2S Pins(GPIO0, GPIO12, GPIO13, GPIO15, GPIO34)for DIY. Each gpio on M-Bus is expanded as pin and port for convenience and flexibility.
-## FEATURES
+## Feature
-- Programming Support
-- Arduino
-- ESP-IDF
-- MicroPython
-- TF Card Support
+- Programming Support: [UiFlow](http://flow.m5stack.com), [MicroPython](http://micropython.org/) and [Arduino](http://www.arduino.cc)
+- TF Card Support(Up to 16GB)
-## PARAMETER
+## Source PinMap
-| Source | Parameter |
-| :----------: |:------------: |
-| ESP32 | 240MHz dual core, 600 DMIPS, 520KB SRAM, Wi-Fi, dual mode Bluetooth |
-| Flash | 4M-Bytes |
-| Input | 5V @ 500mA |
-| Interface | TypeC x 1, GROVE(I2C+I/0+UART) x 1 |
-| LCD | 2 inch, 320x240 Colorful TFT LCD, ILI9342 |
-| Speaker | 1W-0928 |
-| Battery | 150mAh @ 3.7V, inside vb |
-| Op.Temp. | 32°F to 104°F ( 0°C to 40°C ) |
-| Size | 54 x 54 x 12.5 mm |
-| C.A.S.E | Plastic ( PC ) |
-| Weight | 120g with bottom, 100g only core |
+*We have several kinds of M5Cores, There is [their difference in schematic](https://github.com/m5stack/M5-Schematic/blob/master/Core/hardware_diff_between_m5cores.md).*
+**LCD & TF Card**
-## PinMap
+*LCD Resolution: 320x240*
+
+
+
+## Include
- 1x M5Stack BASIC
- 1x M5Stack BASIC Bottom
- Type-C USB Cable
- User Manual
-## DOCUMENTS
+
+
+
+
+
+## Related Link
- **Datasheet** - [ESP32](https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_cn.pdf)
-- **Quick Start**
- - Arduino - [MacOS](/en/quick_start/m5core/m5stack_core_get_started_Arduino_MacOS) - [Windows_64](/en/quick_start/m5core/m5stack_core_get_started_Arduino_Windows)
- - [MicroPython](/en/quick_start/m5core/m5stack_core_get_started_MicroPython)
+## Related Video
-- **[The difference between M5Cores](https://github.com/m5stack/M5-Schematic/blob/master/Core/hardware_diff_between_m5cores.md)**
+- **m5stack's instroduce**
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/docs/en/product_documents/m5stack-core/m5core_gray.md b/docs/en/product_documents/m5stack-core/m5core_gray.md
index b23a8082..6266f1c2 100644
--- a/docs/en/product_documents/m5stack-core/m5core_gray.md
+++ b/docs/en/product_documents/m5stack-core/m5core_gray.md
@@ -1,24 +1,21 @@
-# M5Core GRAY
+# 灰色升级版M5Core
-[中文](/zh_CN/product_documents/m5stack-core/m5core_gray) | English | [日本語](ja/product_documents/m5stack-core/m5core_gray)
+:octocat:**[Example](https://github.com/m5stack/M5Stack/tree/master/examples/Basics)** | :bulb:**[Quick Start](en/quick_start/m5core/m5stack_core_quick_start)** | :electric_plug:**[Schematic](https://github.com/m5stack/M5-3D_and_PCB/blob/master/M5_Core_SCH%2820171206%29.pdf)** | 🛒**[Purchase](https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-1172588101.23.f64c4476tugBw5&id=559226082388)**|**[M-Bus](#mbus)**
-## DESCRIPTION
+## Description
-The M5Core **GRAY** is a development kit based on ESP32 chip composed of a gray M5Core and a Bottom Base board. You can even program The M5Core GRAY through Blockly, Arduino or MicroPython.
+**M5Core GRAY** is a development kit based on ESP32 chip composed of a gray M5Core and a Bottom Base board. You can even program The M5Core GRAY through Blockly, Arduino or MicroPython.
-The M5Core GRAY equips the ESP32 with everything necessary to program, run and develop on the wonderchip. It also features a MEMS Chip(**MPU9250**), and a TFT LCD, so you can create a 3D remote gesture controller, a simple "Leap Motion" via M5Core GRAY in a day in stead of couple weeks and so on.
+The M5Core GRAY equips the ESP32 with everything necessary to program, run and develop on the wonderchip. It also features a MEMS Chip(**MPU9250**), and a TF `T LCD, so you can create a 3D remote gesture controller, a simple "Leap Motion" via M5Core GRAY in a day in stead of couple weeks and so on.
The a Bottom board on the back of M5Core. It's designed for expanding gpio on M-Bus besides I2S Pins(GPIO0, GPIO12, GPIO13, GPIO15, GPIO34)for DIY. Each gpio on M-Bus is expanded as pin and port for convenience and flexibility.
-## FEATURES
+## Feature
-- Programming Support
-- Arduino
-- ESP-IDF
-- MicroPython
-- TF Card Support
+- Programming Support: [UiFlow](http://flow.m5stack.com), [MicroPython](http://micropython.org/) and [Arduino](http://www.arduino.cc)
+- TF Card Support(Up to 16GB)
-## PARAMETER
+## Parameter
| Source | Parameter |
| :----------: |:------------: |
diff --git a/docs/en/product_documents/units/unit_env.md b/docs/en/product_documents/units/unit_env.md
index 4b31709b..836a6b13 100644
--- a/docs/en/product_documents/units/unit_env.md
+++ b/docs/en/product_documents/units/unit_env.md
@@ -1,14 +1,19 @@
# Unit ENV
-[中文](/zh_CN/product_documents/units/unit_env) | English | [日本語](ja/product_documents/units/unit_env)
+
-## DESCRIPTION
+***
+
+:memo:**[Description](#Description)**|:octocat:**[Example](Example)**| :electric_plug:**[Schematic](#Schematic)** | 🛒**[Purchase](https://www.aliexpress.com/store/product/M5Stack-Official-Mini-ENV-Unit-with-DHT12-BMP280-Digital-DHT-12-Temperature-Humidity-Aire-Pressure-Sensor/3226069_32933115893.html?spm=2114.12010615.8148356.2.758c5bcbURtQtR)**
+
+
+## Description
ENV is a environment sensor for M5GO that can easily detect
temperature, humidity and air pressure with M5GO Core, including
-temperature and humidity sensor and absolute barometric pressure sensor.
+temperature and humidity sensor and absolute barometric pressure sensor. Connect to GRVE A of M5Core.
-## FEATURES
+## Features
- Temperature:
- measuring range: 20 ~ 60℃
@@ -22,11 +27,26 @@ temperature and humidity sensor and absolute barometric pressure sensor.
- GROVE interface, support [UiFlow](http://flow.m5stack.com) and [Arduino](http://www.arduino.cc)
- Two Lego installation holes
-## DOCUMENTS
+## Example
-
-- **[Purchase](https://www.aliexpress.com/store/product/M5Stack-Official-Mini-ENV-Unit-with-DHT12-BMP280-Digital-DHT-12-Temperature-Humidity-Aire-Pressure-Sensor/3226069_32933115893.html?spm=a2g1y.12024536.productList_5885013.subject_22)**
+```c++
+DHT12 dht12; //new a object
+Adafruit_BMP280 bme;
-
-
-
\ No newline at end of file
+float tmp = dht12.readTemperature();//temperature
+float hum = dht12.readHumidity();//humidity
+float pressure = bme.readPressure();//pressure
+```
+
+Click [here]((https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Units/ENV)。) for Specific example.
+
+## Schematic
+
+
+
+### PinMap
+
+
+
M5Core(GROVE A)
GPIO22
GPIO21
+
ENV Unit
SCL
SDA
+
\ No newline at end of file
diff --git a/docs/en/product_documents/units/unit_relay.md b/docs/en/product_documents/units/unit_relay.md
index 0921a67a..aba24c52 100644
--- a/docs/en/product_documents/units/unit_relay.md
+++ b/docs/en/product_documents/units/unit_relay.md
@@ -1,6 +1,6 @@
# Unit relay
-[中文](/zh_CN/product_documents/units/unit_relay) | English | [日本語](ja/product_documents/units/unit_relay)
+[Example](#example)
## DESCRIPTION
@@ -25,6 +25,46 @@ Only a low electrial level is sent to this unit, the relay will be close and the
- **[Schematic](https://github.com/m5stack/M5-Schematic/blob/master/Units/UNIT_RELAY.pdf)**
- **[Purchase](https://www.aliexpress.com/store/product/M5Stack-Official-Mini-Relay-Unit-DC-3A-30V-AC-3A-220V-with-Triode-Driven-GROVE-Port/3226069_32922856211.html?spm=a2g1y.12024536.productList_5885013.subject_24)**
+
+
+
+*Example*
+
+
+
+#### ** Arduino Code**
+
+```c++
+#include
+
+void setup() {
+ M5.begin();
+ M5.Lcd.clear(BLACK);
+ M5.Lcd.setTextFont(4);
+ M5.Lcd.setTextColor(YELLOW, BLACK);
+ //disable the speak noise
+ dacWrite(25, 0);
+ pinMode(26, OUTPUT);
+}
+
+void loop(void) {
+ digitalWrite(26, HIGH);
+ delay(500);
+ digitalWrite(26, LOW);
+ delay(500);
+}
+```
+
+#### ** MicroPython Code **
+
+Coming soom...
+
+#### ** UIFlow **
+
+Coming soom...
+
+
+
diff --git a/docs/index.html b/docs/index.html
index ce81a9c9..e256ea00 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -21,7 +21,10 @@
-
+
+
@@ -76,5 +113,8 @@
+
+
+