diff --git a/docs/assets/img/product_pics/accessory/battery_base/battery_base_01.jpg b/docs/assets/img/product_pics/accessory/battery_base/battery_base_01.jpg
new file mode 100755
index 00000000..22adaaf3
Binary files /dev/null and b/docs/assets/img/product_pics/accessory/battery_base/battery_base_01.jpg differ
diff --git a/docs/assets/img/product_pics/accessory/battery_base/battery_base_02.jpg b/docs/assets/img/product_pics/accessory/battery_base/battery_base_02.jpg
new file mode 100755
index 00000000..9a2a668e
Binary files /dev/null and b/docs/assets/img/product_pics/accessory/battery_base/battery_base_02.jpg differ
diff --git a/docs/assets/img/product_pics/accessory/battery_base/battery_base_05.jpg b/docs/assets/img/product_pics/accessory/battery_base/battery_base_05.jpg
new file mode 100755
index 00000000..91ebf1f9
Binary files /dev/null and b/docs/assets/img/product_pics/accessory/battery_base/battery_base_05.jpg differ
diff --git a/docs/assets/img/product_pics/accessory/battery_base/battery_base_06.jpg b/docs/assets/img/product_pics/accessory/battery_base/battery_base_06.jpg
new file mode 100755
index 00000000..4883bc1d
Binary files /dev/null and b/docs/assets/img/product_pics/accessory/battery_base/battery_base_06.jpg differ
diff --git a/docs/assets/img/product_pics/accessory/battery_base/battery_base_07.jpg b/docs/assets/img/product_pics/accessory/battery_base/battery_base_07.jpg
new file mode 100755
index 00000000..a5764dc9
Binary files /dev/null and b/docs/assets/img/product_pics/accessory/battery_base/battery_base_07.jpg differ
diff --git a/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_01.jpg b/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_01.jpg
new file mode 100755
index 00000000..2b38b0be
Binary files /dev/null and b/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_01.jpg differ
diff --git a/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_02.jpg b/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_02.jpg
new file mode 100755
index 00000000..db0cf843
Binary files /dev/null and b/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_02.jpg differ
diff --git a/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_03.jpg b/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_03.jpg
new file mode 100755
index 00000000..8ac36727
Binary files /dev/null and b/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_03.jpg differ
diff --git a/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_04.jpg b/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_04.jpg
new file mode 100755
index 00000000..e7637d77
Binary files /dev/null and b/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_04.jpg differ
diff --git a/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_05.jpg b/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_05.jpg
new file mode 100755
index 00000000..3e0135bf
Binary files /dev/null and b/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_05.jpg differ
diff --git a/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_06.jpg b/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_06.jpg
new file mode 100755
index 00000000..2fbf13c1
Binary files /dev/null and b/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_06.jpg differ
diff --git a/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_07.jpg b/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_07.jpg
new file mode 100755
index 00000000..0edf421c
Binary files /dev/null and b/docs/assets/img/product_pics/core/minicore/m5stickv/m5stickv_07.jpg differ
diff --git a/docs/assets/img/product_pics/hat/adc_hat/adc_hat_01.jpg b/docs/assets/img/product_pics/hat/adc_hat/adc_hat_01.jpg
new file mode 100755
index 00000000..670f10ea
Binary files /dev/null and b/docs/assets/img/product_pics/hat/adc_hat/adc_hat_01.jpg differ
diff --git a/docs/assets/img/product_pics/hat/adc_hat/adc_hat_02.jpg b/docs/assets/img/product_pics/hat/adc_hat/adc_hat_02.jpg
new file mode 100755
index 00000000..b9b7492a
Binary files /dev/null and b/docs/assets/img/product_pics/hat/adc_hat/adc_hat_02.jpg differ
diff --git a/docs/assets/img/product_pics/hat/adc_hat/adc_hat_03.jpg b/docs/assets/img/product_pics/hat/adc_hat/adc_hat_03.jpg
new file mode 100755
index 00000000..a9f91a4e
Binary files /dev/null and b/docs/assets/img/product_pics/hat/adc_hat/adc_hat_03.jpg differ
diff --git a/docs/assets/img/product_pics/hat/dac_hat/dac_hat_01.jpg b/docs/assets/img/product_pics/hat/dac_hat/dac_hat_01.jpg
new file mode 100755
index 00000000..0a601853
Binary files /dev/null and b/docs/assets/img/product_pics/hat/dac_hat/dac_hat_01.jpg differ
diff --git a/docs/assets/img/product_pics/hat/dac_hat/dac_hat_02.jpg b/docs/assets/img/product_pics/hat/dac_hat/dac_hat_02.jpg
new file mode 100755
index 00000000..816183c2
Binary files /dev/null and b/docs/assets/img/product_pics/hat/dac_hat/dac_hat_02.jpg differ
diff --git a/docs/assets/img/product_pics/hat/dac_hat/dac_hat_03.jpg b/docs/assets/img/product_pics/hat/dac_hat/dac_hat_03.jpg
new file mode 100755
index 00000000..3fe14c77
Binary files /dev/null and b/docs/assets/img/product_pics/hat/dac_hat/dac_hat_03.jpg differ
diff --git a/docs/assets/img/product_pics/hat/rs485_hat/rs485_hat_01.jpg b/docs/assets/img/product_pics/hat/rs485_hat/rs485_hat_01.jpg
new file mode 100755
index 00000000..45585f47
Binary files /dev/null and b/docs/assets/img/product_pics/hat/rs485_hat/rs485_hat_01.jpg differ
diff --git a/docs/assets/img/product_pics/hat/rs485_hat/rs485_hat_02.jpg b/docs/assets/img/product_pics/hat/rs485_hat/rs485_hat_02.jpg
new file mode 100755
index 00000000..e3145225
Binary files /dev/null and b/docs/assets/img/product_pics/hat/rs485_hat/rs485_hat_02.jpg differ
diff --git a/docs/assets/img/product_pics/hat/rs485_hat/rs485_hat_03.jpg b/docs/assets/img/product_pics/hat/rs485_hat/rs485_hat_03.jpg
new file mode 100755
index 00000000..167d820b
Binary files /dev/null and b/docs/assets/img/product_pics/hat/rs485_hat/rs485_hat_03.jpg differ
diff --git a/docs/assets/img/product_pics/hat/rs485_hat/rs485_hat_05.jpg b/docs/assets/img/product_pics/hat/rs485_hat/rs485_hat_05.jpg
new file mode 100755
index 00000000..99823818
Binary files /dev/null and b/docs/assets/img/product_pics/hat/rs485_hat/rs485_hat_05.jpg differ
diff --git a/docs/assets/img/product_pics/unit/laser_rx/unit_laser_rx_01.jpg b/docs/assets/img/product_pics/unit/laser_rx/unit_laser_rx_01.jpg
new file mode 100755
index 00000000..73ba1ed8
Binary files /dev/null and b/docs/assets/img/product_pics/unit/laser_rx/unit_laser_rx_01.jpg differ
diff --git a/docs/assets/img/product_pics/unit/laser_rx/unit_laser_rx_02.jpg b/docs/assets/img/product_pics/unit/laser_rx/unit_laser_rx_02.jpg
new file mode 100755
index 00000000..08ed7dc6
Binary files /dev/null and b/docs/assets/img/product_pics/unit/laser_rx/unit_laser_rx_02.jpg differ
diff --git a/docs/assets/img/product_pics/unit/laser_tx/unit_laser_tx_01.jpg b/docs/assets/img/product_pics/unit/laser_tx/unit_laser_tx_01.jpg
new file mode 100755
index 00000000..a4c5b1c3
Binary files /dev/null and b/docs/assets/img/product_pics/unit/laser_tx/unit_laser_tx_01.jpg differ
diff --git a/docs/assets/img/product_pics/unit/laser_tx/unit_laser_tx_02.jpg b/docs/assets/img/product_pics/unit/laser_tx/unit_laser_tx_02.jpg
new file mode 100755
index 00000000..4f9610b6
Binary files /dev/null and b/docs/assets/img/product_pics/unit/laser_tx/unit_laser_tx_02.jpg differ
diff --git a/docs/assets/img/product_pics/unit/mini_proto/unit_mini_proto_01.jpg b/docs/assets/img/product_pics/unit/mini_proto/unit_mini_proto_01.jpg
new file mode 100755
index 00000000..493ec6be
Binary files /dev/null and b/docs/assets/img/product_pics/unit/mini_proto/unit_mini_proto_01.jpg differ
diff --git a/docs/assets/img/product_pics/unit/mini_proto/unit_mini_proto_02.jpg b/docs/assets/img/product_pics/unit/mini_proto/unit_mini_proto_02.jpg
new file mode 100755
index 00000000..254284bf
Binary files /dev/null and b/docs/assets/img/product_pics/unit/mini_proto/unit_mini_proto_02.jpg differ
diff --git a/docs/assets/img/product_pics/unit/mini_proto/unit_mini_proto_03.jpg b/docs/assets/img/product_pics/unit/mini_proto/unit_mini_proto_03.jpg
new file mode 100755
index 00000000..9213eecf
Binary files /dev/null and b/docs/assets/img/product_pics/unit/mini_proto/unit_mini_proto_03.jpg differ
diff --git a/docs/en/accessory/battery_base.md b/docs/en/accessory/battery_base.md
new file mode 100644
index 00000000..d7a84889
--- /dev/null
+++ b/docs/en/accessory/battery_base.md
@@ -0,0 +1,34 @@
+# Accessory BATTERY-BASE {docsify-ignore-all}
+
+
+
+***
+
+:memo:**[Description](#Description)** 🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-adc-hat)**
+
+## Description
+This is a battery base for 3 types of M5Cameras: M5Camera, M5Camera_X, M5Camera_F. It is a 400mAh Lipo battery.
+You can wire it with the battery interface on M5camera board. Pay attention to the polarity. You can get extra power back up for your M5Camera.
+- red (positive)
+- black(Negative)
+
+
+
+## Product Features
+
+- Dimension: 8mmX20mmX30mm,
+- Capacity: 400mAh
+- Poly Lithium Battery
+
+## Include
+
+- 1x BATTERY-BASE
+
+## Application
+
+- Power back up
+
+
+
+
+
diff --git a/docs/en/core/m5stickv.md b/docs/en/core/m5stickv.md
new file mode 100644
index 00000000..e0fdebc5
--- /dev/null
+++ b/docs/en/core/m5stickv.md
@@ -0,0 +1,187 @@
+# Core M5StickV {docsify-ignore-all}
+
+
+
+
+
+***
+
+:memo:**[Description](#Description)** :electric_plug:**[Schematic](#Schematic)** 🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-adc-hat)**
+
+## Description
+
+**M5Stick-V RISC-V AI Camera**
+
+### General Description
+M5Stack recently launched the new AIOT(AI+IOT) Camera powered by Kendryte K210 -an edge computing system-on-chip(SoC) with dual-core 64bit RISC-V CPU and state-of-art neural network processor.
+
+M5stick-V AI Camera features its integration with machine vision capabilities, featuring the unprocessed acceptability to AI Visioning with high energy efficiency and low cost. We co-oped with Sipeed providing the MicroPython environment makes programming onM5stick-V easier.
+
+The module comes with the OmniVision OV7740 sensor, using the OmniPixel®3-HS technology, providing a best-in-class low light sensitivity, making it ideal for machine vision. In addition to an OV7740 sensor, M5stick-V features more hardware resources such as a speaker with built-in I2S Class-D DAC, MEMS Microphone, IPS screen, 6-axis IMU, 200mAh Li-po battery, and more.
+
+More than the visioning, M5stick-V also features the embedded APU - Audio Processor. With its hardware beam-forming support and dual 512-point FFT units, the M5stick-V is also capable of a series of machine hearing works like voice wake-up to speech recognition.
+
+
+
+
+
+### Features:
+- Dual-Core 64-bit RISC-V RV64IMAFDC (RV64GC) CPU / 400Mhz(Normal)
+- Dual Independent Double Precision FPU
+- 8MiB 64bit width On-Chip SRAM
+- Neural Network Processor(KPU) / 0.8Tops
+- Field-Programmable IO Array (FPIOA)
+- Dual hardware 512-point 16bit Complex FFT
+- SPI, I2C, UART, I2S, RTC, PWM, Timer Support
+- AES, SHA256 Accelerator
+- Direct Memory Access Controller (DMAC)
+- Micropython Support
+- Firmware encryption support
+- On-board Hardware resources:
+ - Flash: 16M.
+ - TFT: ST7789. 135*240 IPS 1.14 SPI
+ - Camera :OV7740
+ - PCM: MAX98357
+ - PMIC: AXP192
+ - Button: Front and side.
+ - Battery: 200mAh.
+ - Indicator light: RGBW .
+ - External storage: TF card/Micro SD
+ - Microphone: MSM261S4030HOR.
+ - Gyro: MPU6886.
+ - Interface: CONNEXT.
+
+### Package Includes
+- M5Stick-V
+- USB cable
+
+
+### FUNCTIONAL DESCRIPTION
+#### 1.1 KENDRYTE K210
+The Kendryte K210 is a system-on-chip (SoC) that integrates machine vision and machine hearing. Using TSMC’s ultra-low-power 28-nm advanced process with dualcore 64-bit processors for better power efficiency, stability and reliability. The SoC strives for ”zero threshold” development and to be deployable in the user’s products in the shortest possible time, giving the product artificial intelligence
+- Machine Vision
+- Machine Hearing
+- Better low power vision processing speed and accuracy
+- KPU high performance Convolutional Neural Network (CNN) hardware accelerator
+- Advanced TSMC 28nm process, temperature range -40°C to 125°C
+- Firmware encryption support
+- Unique programmable IO array maximises design flexibility
+- Low voltage, reduced power consumption compared to other systems with the same processing power
+- 3.3V/1.8V dual voltage IO support eliminates need for level shifters
+
+##### 1.1.1 CPU
+The chip contains a high-performance, low power RISC-V ISA-based dual core 64-bit CPU with the following features:
+
+- Core Count: Dual-core processor
+- Bit Width: 64-bit CPU 400MHz
+- Frequency: 400MHz
+- ISA extensions: IMAFDC
+- FPU: Double Precision
+- Platform Interrupts: PLIC
+- Local Interrupts: CLINT
+- I-Cache: 32KiB x 2
+- D-Cache: 32KiB x 2
+- On-Chip SRAM: 8MiB
+
+
+#### 1.2 OV7740
+- support for output formats: RAW RGB and YUV
+- support for image sizes: VGA, QVGA, CIF and any size smaller
+- support for black sun cancellation
+- support for internal and external frame synchronization
+- standard SCCB serial interface
+- digital video port (DVP) parallel output interface
+- embedded one-time programmable (OTP) memory
+- on-chip phase lock loop (PLL)
+- embedded 1.5 V regulator for core
+- Sophisticated Edge Rate Control Enables Filterless Class D Outputs
+- 77dB PSRR at 1kHz
+- Low RF Susceptibility Rejects TDMA Noise from GSM Radios
+- Extensive Click-and-Pop Reduction Circuitry
+
+##### 1.2.1 SPECIFICATION
+- array size: 656 x 488
+- power supply: – core: 1.5VDC ± 5% – analog: 3.3V ± 5% – I/O: 1.7 ~ 3.47V
+- temperature range: – operating: -30° C to 70°C – stable image: 0° C to 50° C
+- output format: – 8-/10-bit raw RGB data – 8-bit YUV
+- lens size: 1/5"
+- input clock frequency: 6 ~ 27 MHz
+- max image transfer rate: VGA (640x480): 60 fps – QVGA (320 x 240): 120 fp
+- sensitivity: 6800 mV/(Lux-sec)
+- maximum exposure interval: 502 x tROW
+- pixel size: 4.2 μm x 4.2 μm
+- image area: 2755.2 μm x 2049.6 μm
+- package/die dimensions: – CSP3: 4185 μm x 4345 μm – COB: 4200 μm x 4360 μm
+
+
+#### 1.3 MAX98357
+- Single-Supply Operation (2.5V to 5.5V).
+- 3.2W Output Power into 4Ω at 5V
+- 2.4mA Quiescent Current
+- 92% Efficiency (RL = 8Ω, POUT = 1W)
+- 22.8µVRMS Output Noise (AV = 15dB)
+- Low 0.013% THD+N at 1kHz
+- No MCLK Required
+- Sample Rates of 8kHz to 96kHz
+- Supports Left, Right, or (Left/2 + Right/2) Output
+- Sophisticated Edge Rate Control Enables Filterless Class D Outputs
+- 77dB PSRR at 1kHz
+- Low RF Susceptibility Rejects TDMA Noise from GSM Radios
+- Extensive Click-and-Pop Reduction Circuitry
+
+#### 1.4 AXP192
+- Operation Voltage: 2.9V~6.3V (AMR:-0.3V~15V)
+- Configurable Intelligent Power Select system
+- Current and voltage limit of adaptive USB or AC adapter input
+- The resistance of internal ideal diode lower than 100mΩ
+
+#### 1.5 MPU6886
+
+##### 1.5.1 GYROSCOPE FEATURES
+The triple-axis MEMS gyroscope in the MPU-6886 includes a wide range of features:
+- Digital-output X-, Y-, and Z-axis angular rate sensors (gyroscopes) with a user-programmable full-scale range of ±250 dps, ±500 dps, ±1000 dps, and ±2000 dps and integrated 16-bit ADCs
+- Digitally-programmable low-pass filter
+- Low-power gyroscope operation
+- Factory calibrated sensitivity scale factor
+- lens size: 1/5"
+- Self-test
+
+##### 1.5.2 ACCELEROMETER FEATURES
+The triple-axis MEMS accelerometer in MPU-6886 includes a wide range of features:
+- Digital-output X-, Y-, and Z-axis accelerometer with a programmable full scale range of ±2g, ±4g, ±8g and ±16g and integrated 16-bit ADCs
+- User-programmable interrupts
+- Wake-on-motion interrupt for low power operation of applications processor
+- Self-test
+
+#### 1.6. ANOTHER HARDWARES
+- Flash: 16M.
+- TFT: ST7789. 135*240 IPS 1.14 SPI
+- Button: Front and side.
+- Battery: 200mAh.
+- Indicator light: RGBW.
+- External storage: TF card/Micro SD
+- Microphone: MSM261S4030HOR.
+- Gyro: MPU6886.
+- Interface: CONNECT.
+
+## Applications/What can M5Stick-V do?
+- Face recognition/detection
+- Object detection/classification
+- Obtaining size and coordinates of the target in real-time
+- Obtaining the type of detected target in real-time
+- Shape recognition
+- Video/Audio Record/Display
+- Game simulator
+
+
+## Links
+
+- **Web page** - [sipeed](https://maixpy.sipeed.com/en/)
+- **Quick Start Guide** - [M5StickV Guide](https://docs.m5stack.com/#/en/quick_start/m5stickv/m5stickv_quick_start)
+
+## Schematic
+
+
+
+
+
diff --git a/docs/en/hat/hat-adc.md b/docs/en/hat/hat-adc.md
index 0007ab1f..e0ef2d25 100644
--- a/docs/en/hat/hat-adc.md
+++ b/docs/en/hat/hat-adc.md
@@ -1,44 +1,116 @@
# Hat ADC {docsify-ignore-all}
-
+
***
-:memo:**[Description](#Description)** :electric_plug:**[Schematic](#Schematic)** 🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-env-hat)** **[EasyLoader](#EasyLoader)**
+:memo:**[Description](#Description)** :electric_plug:**[Schematic](#Schematic)** :octocat:**[Code](#Code)** **[EasyLoader](#EasyLoader)** 🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-adc-hat)**
+## Description
+ADC_HAT is another type of C-HAT specifically design for M5StickC controller. Same as ADC unit, this is an ADC converter component for stickc. Packed with an ADC converter chip ADS1100, which is a fully differential, 16-bit, self-calibrating, delta-sigma A/D converter. Extremely easy to design with and configure, the ADS1100 allows you to obtain precise measurements with a minimum of effort.
+
+The ADS1100 consists of a delta-sigma A/D converter core with adjustable gain, a clock generator, and an I2C interface.
+
+ADS1100 itself is able to accept a differential input from -5 ~ +5 V, but we have limited the input to 0~12V by adding on the peripheral circuit design of this IC.
+
+### Product Features
+- M5StickC Compatible
+- Input: 0-12V
+- Software Development Platform: Arduino, UIFlow(Blockly, Python)
+- ADS1100
+ - 16-bits Resolution
+ - CONTINUOUS SELF-CALIBRATION
+ - SINGLE-CYCLE CONVERSION
+ - PROGRAMMABLE GAIN AMPLIFIER GAIN = 1, 2, 4, OR 8
+ - LOW NOISE: 4μVp-p
+ - PROGRAMMABLE DATA RATE: 8SPS to 128SPS
+ - INTERNAL SYSTEM CLOCK
+ - I2C INTERFACE: address 0x48
+## Include
+- 1x ADC HAT
+- 1x 2 Pin 3.96 Pitch Terminal
+## Application
-
-
-
-
-
+- Analog Signal Capture
+## Links
+- **Datasheet** - [ADS1100](http://www.ti.com/lit/ds/symlink/ads1100.pdf)
+
## Schematic
-
-
+
## EasyLoader
-
+
>1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader.
>2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning.
+## Code
-## Links
+### 1. Arduino IDE
-- **Datasheet** - [ADS1100](http://pdf1.alldatasheet.com/datasheet-pdf/view/619024/TI1/ADS1100.html)
+*To get complete code, please click [here](https://github.com/m5stack/M5StickC/tree/master/examples/Hat/ADC).*
+
+```arduino
+#include
+#include
+#include "ADS1100.h"
+
+ADS1100 ads;
+#define REF_VOL 3.3
+#define ADC_BASE REF_VOL/32768
+void setup(void)
+{
+ M5.begin(true,true,false);
+ // The address can be changed making the option of connecting multiple devices
+ ads.getAddr_ADS1100(ADS1100_DEFAULT_ADDRESS); // 0x48, 1001 000 (ADDR = GND)
+ // The ADC gain (PGA), Device operating mode, Data rate
+ // can be changed via the following functions
+ ads.setGain(GAIN_ONE); // 1x gain(default)
+ ads.setMode(MODE_CONTIN); // Continuous conversion mode (default)
+ ads.setRate(RATE_8); // 8SPS (default)
+ ads.setOSMode(OSMODE_SINGLE); // Set to start a single-conversion
+ ads.begin();
+}
+void loop() {
+byte error;
+ int8_t address;
+ address = ads.ads_i2cAddress;
+ // The i2c_scanner uses the return value of
+ // the Write.endTransmisstion to see if
+ // a device did acknowledge to the address.
+ Wire.beginTransmission(address);
+ error = Wire.endTransmission();
+ result = ads.Measure_Differential();
+}
+```
+
+### Pin Map
+
+
+
M5StickC
GPIO0
GPIO26
5V
GND
+
HAT ADC
SDA
SCL
5V
GND
+
+
+
+## Video
+**Demo**
+
+
diff --git a/docs/en/hat/hat-dac.md b/docs/en/hat/hat-dac.md
index b27b3ca2..9378cf05 100644
--- a/docs/en/hat/hat-dac.md
+++ b/docs/en/hat/hat-dac.md
@@ -1,28 +1,59 @@
# Hat DAC {docsify-ignore-all}
-
+
***
-:memo:**[Description](#Description)** :electric_plug:**[Schematic](#Schematic)** 🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-env-hat)** **[EasyLoader](#EasyLoader)**
-
-
-
-
-
-
-
-
-
-
-
-
+:memo:**[Description](#Description)** :electric_plug:**[Schematic](#Schematic)** :octocat:**[Code](#Code)** **[EasyLoader](#EasyLoader)** 🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-adc-hat)**
+
+## Description
+
+DAC_HAT is also a type of C-HAT specifically design for M5StickC controller. Same as DAC unit, this is a voltage output DAC converter for stickc. It can generate a voltage of 0~3.3V.
+
+Packed with a DAC converter chip MCP4725, which is low-power, high accuracy, single-channel, 12-bit buffered voltage output Digital-to-Analog Converter (DAC) with a non-volatile memory (EEPROM). Its on-board precision output amplifier allows it to achieve rail-to-rail analog output swing.
+
+The DAC input and configuration data can be programmed to the non-volatile memory (EEPROM) by the user using the I2C interface command.
+I2C address: 0x60
+
+
+
+## Product Features
+- M5StickC Compatible
+- Output: 0~3.3V
+- Software Development Platform: Arduino, UIFlow(Blockly, Python)
+- MCP4725
+ - 12-BitResolution
+ - External A0 Address Pin
+ - NormalorPower-DownMode
+ - Fast Settling Time of 6 μs (typical)
+ - ExternalVoltageReference(VDD)
+ - Rail-to-RailOutput
+ - LowPowerConsumption
+ - Single-SupplyOperation:2.7V to 5.5V
+ - I2C Interface: address 0x60
+ - ExtendedTemperatureRange:-40°Cto+125°C
+
+## Include
+
+- 1x DAC HAT
+- 1x 2 Pin 3.96 Pitch Terminal
+
+## Application
+
+- SetPointorOffsetTrimming
+- SensorCalibration
+- Closed-LoopServoControl
+- LowPowerPortableInstrumentation • PCPeripherals
+- DataAcquisitionSystems
+## Links
+- **Datasheet** - [MCP4725](http://pdf1.alldatasheet.com/datasheet-pdf/view/233449/MICROCHIP/MCP4725.html)
+
## Schematic
-
+
@@ -30,14 +61,55 @@
-
+
>1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader.
>2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning.
+## Code
+
+### 1. Arduino IDE
+
+*To get complete code, please click [here](https://github.com/m5stack/M5StickC/blob/master/examples/Hat/DAC).*
+
+```arduino
+#include
+#include
+#include "Adafruit_MCP4725.h"
+#define DAC_ADDR
+Adafruit_MCP4725 dac;
+
+void setup(void) {
+ M5.begin(true,true,false);
+ dac.begin(0x60);
+ dac.setVoltage(2048, false);
+
+}
+
+void loop(void) {
+ // 12bit value , false mean not write EEPROM
+ dac.setVoltage(1024, false);
+ dac.setVoltage(2048, false);
+}
+
+```
+
+### Pin Map
+
+
+
M5StickC
GPIO0
GPIO26
5V
GND
+
HAT ADC
SDA
SCL
5V
GND
+
+
+
+## Video
+**Demo**
+
+
+
-## Links
-- **Datasheet** - [MCP4725](http://pdf1.alldatasheet.com/datasheet-pdf/view/233449/MICROCHIP/MCP4725.html)
\ No newline at end of file
diff --git a/docs/en/hat/hat-proto.md b/docs/en/hat/hat-proto.md
index c7a17a77..2a3a1fb3 100644
--- a/docs/en/hat/hat-proto.md
+++ b/docs/en/hat/hat-proto.md
@@ -9,7 +9,7 @@
## Description
-**PROTO_HAT** is a HAT size of universal prototyping board. You can have the total freedom to make your own project as you want it, with prototyping boards that allow laying out the customized circuit to interact with the M5 core GROVE Port.
+**PROTO_HAT** is a HAT size of universal prototyping board. You can have the total freedom to make your own project as you want it, with prototyping boards that allow laying out the customized circuit to interact with stickC port on top.
PINs on top of the device is ported out for building more connections.
@@ -29,7 +29,7 @@ For example, since m5stickc have less hardware resource than m5stack, we can mak
## Application
-- Prototying
+- Prototyping
## Schematic
diff --git a/docs/en/hat/hat-rs485.md b/docs/en/hat/hat-rs485.md
index 041927a5..db372ca6 100644
--- a/docs/en/hat/hat-rs485.md
+++ b/docs/en/hat/hat-rs485.md
@@ -1,31 +1,107 @@
# Hat RS485 {docsify-ignore-all}
-
+
+
***
-:memo:**[Description](#Description)** :electric_plug:**[Schematic](#Schematic)** 🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-env-hat)** **[EasyLoader](#EasyLoader)**
+:memo:**[Description](#Description)** :electric_plug:**[Schematic](#Schematic)** :octocat:**[Code](#Code)** **[EasyLoader](#EasyLoader)** 🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-adc-hat)**
+## Description
+
+**RS485-HAT** is a TTL to RS485 converter for M5StickC. Among M5stack products we have 5 items that include TTL to RS485, they are RS485 unit, RS485 HAT, PLC, LAN, BASE26 they have different input voltage, vary from 5V - 12V.
+
+In this RS485-HAT, it consists of a 485 automatic transceiver circuit and a DC-DC buck circuit which can drop an input 12V to 5V.
+
+RS485 is a standard defining the electrical characteristics of drivers and receivers for use in serial communications systems, widely used in the industrial field. multipoint systems are supported.
+
+It is used to convert the TTL standard to the RS485 standard. If the outside serial device is RS485 standard, you can attach this hat on top of stickc, therefore, to implement the communication with RS485 device by TTL protocol.
+
+
+
+## Product Features
+
+- Built-in SP485EEN
+- The built-in automatic transceiver circuit
+- Built-in DC-DC buck circuit
+- AOZ1282CI
+- input DC 5~12 V
+- BandRate up to 115200
+- Program Platform: Arduino, UIFlow(Blockly, Python)
+
+## Include
+
+- 1x RS485 HAT
+- 1x 4 Pin 3.96 Pitch Terminal
+
+## Application
+
+- RS485 multipoint systems
+- Serial communication in industrial field.
+## Links
+- **Datasheet** - [SP485EEN](https://pdf1.alldatasheet.com/datasheet-pdf/view/45954/SIPEX/SP485EEN.html)
+
## Schematic
-
+
## EasyLoader
-
+
>1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader.
>2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning.
+## Code
+
+### 1. Arduino IDE
+
+*To get complete code, please click [here](https://github.com/m5stack/M5StickC/tree/master/examples/Hat/RS485).*
+
+```arduino
+#include
+
+/* This demo is for RS485 Hat uart write and read ,
+AutoSend Hello M5! AutoReceive and diaplay on screen */
+
+void setup() {
+
+ M5.begin(true,true,true);
+ Serial.begin(115200);
+ // Serial2.begin(unsigned long baud, uint32_t config, int8_t rxPin, int8_t txPin, bool invert)
+ Serial2.begin(115200, SERIAL_8N1, 26, 0);
+
+ Serial.println("RS485");
+
+}
+void loop() {
+ Serial2.print("Hello M5!");
+
+ if(Serial2.available()) {
+ char ch = Serial2.read();
+ M5.Lcd.setTextSize(2);
+ }
+}
+```
+
+### Pin Map
+
+
+
M5StickC
GPIO0
GPIO26
5V
GND
+
HAT ADC
TX
RX
5V
GND
+
-## Links
+## Video
+**Demo**
-- **Datasheet** - [SP485EEN](https://pdf1.alldatasheet.com/datasheet-pdf/view/45954/SIPEX/SP485EEN.html)
\ No newline at end of file
+
diff --git a/docs/en/quick_start/m5stickv/m5stickv_quick_start.md b/docs/en/quick_start/m5stickv/m5stickv_quick_start.md
index df32e733..e4bac769 100644
--- a/docs/en/quick_start/m5stickv/m5stickv_quick_start.md
+++ b/docs/en/quick_start/m5stickv/m5stickv_quick_start.md
@@ -1,30 +1,30 @@
-# M5StickV 上手指南 {docsify-ignore-all}
+# M5StickV Quick Start {docsify-ignore-all}
-## 目录
+## CONTENT
-**[1. 下载固件](#下载固件)**
+**[1. Download Firmware](#Download)**
-**[2. 烧录固件](#烧录固件)**
+**[2. Flash Firmware](#Flash)**
-**[3. 串口调试工具](#串口调试工具)**
+**[3. Serial Debugging Tool](#Serial-Tool)**
**[4. Hello World](#Hello-World)**
-**[5. 编辑与运行文件](#编辑与运行文件)**
+**[5. Edit and Run the Code](#Edit-and-Run-the-Code)**
-**[6. 程序库](#程序库)**
+**[6. Library](#Library)**
-## 下载固件
+## Download
-
+
-## 烧录固件
+## Flash
->1.点击下方对应自己操作系统的 Kflash_GUI烧录工具进行下载.
+>1. Flash tool Kflash_GUI.
->2.将设备通过Tpye-C数据线连接至电脑,双击打开烧录工具**Kflash_GUI**应用程序,选择对应的设备端口、固件程序、波特率. 点击下载,开始烧录 .
-
+>2.Connect the device to your computer via Type-C cable, double click to open up flash tool **Kflash_GUI**, choose the right com number, firmware, bandrate and click download to start it.
### Kflash
->3.对于习惯使用命令行操作的用户来说还可以选择Kflash作为固件烧录工具.[点击此处查看详情](https://github.com/kendryte/kflash.py)
+>3.For people who are used to operate by shell command, you can choose Kfalsh as your firmware falshing tool .[click for more detail](https://github.com/kendryte/kflash.py)
-## 串口调试工具
+## Serial-Tool
->1.编程M5StickV需要使用到串口调试工具,您可以使用Putty作为串口调试工具, [点击此处](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)访问Putty资源页面,选择对应自己操作系统Putty进行下载,并安装.
+>1. You will need a serial debugging tool for programming M5StickV, you can use Putty [in here](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html),for download and information.
->2.运行Putty后,将M5StickV通过Tpye-C数据线连接至电脑端口,在Putty中设置相应的端口号与波特率,点击"open",开始连接. (你可以通过查看设备管理器得到M5StickV所使用的端口号)
+>2. Run Putty, connect M5StickV to your PC, in Putty, set com number, baudrate, click "open", by now the connect process should started.(you can check the com number in device manager on your PC)
-> 连接成功后,将自动进入,MaixPy 的交互界面. 此时设备正在运行着默认程序,您可以通过按下快捷键"Ctrl+C"中断其运行,并进入命令行.
+> When connected, it will automatically enter Maixpy UI. Now the device is runing the default code, you can terminate it by "Ctrl+C".
## Hello World
->在命令行输入下方代码,M5StickV屏幕将显示"hello world".
+>Type in the following code, a display "hello world" will show on the screen .
```
import lcd
@@ -70,46 +69,50 @@ lcd.draw_string(100, 100, "hello world", lcd.RED, lcd.BLACK)
```
-## 编辑与运行文件
+## Edit and Run the Code
-### 编辑文件
-
->在交互解释器(REPL)中,我们能够便捷的输入程序并马上得到运行结果,但这仅适合用作短程序的验证,在实际项目中,庞大代码量使得我们不得不将代码编辑成一个个的文件.
-
->在 MaixPy 中,内置了一款编开源编辑器 [Micropython Editor(pye)](https://github.com/robert-hh/Micropython-Editor),这使得我们能够非常方便的修改程序文件.
-
-使用 `os.listdir()` 可以查看当前目录下的文件,
-
-使用 `pye("hello.py")` 可以创建文件并进入编辑模式(已存在同名文件,则仅进入编辑), 快捷键等使用说明可以在[这里查看](https://github.com/robert-hh/Micropython-Editor/blob/master/Pyboard%20Editor.pdf)
-
-在编辑器中完成编辑后,按 `Ctrl+S` > `Enter` 键进行保存, 按 `Ctrl+Q` 退出编辑
-
-**注意**: 使用这款编辑器对使用的串口工具有一定要求, 必须将 `BackSpace` 按键设置为 `DEL` 功能, 否则按 `BackSpace` 调用的是 `Ctrl+H` 一样的功能(即字符替换)
-
-### 上传文件
-
->虽然 MaixPy 内置编辑器使得我们能够直接操作文件内容.但对于多文件的情况下,使用电脑的其他编辑器编写代码然后再将文件上传,将大大提升工作效率.
-
->[uPyLoader](https://github.com/BetaRavener/uPyLoader) 是一款开源软件,使用它可以方便地连接 MaixPy 并且上传、下载、执行文件,同时监控输出等等功能,功能比较完善
-
-
+### Editting
-### 运行文件
+> The language shell programm(REPL) is good for instant code validatation, it can be used at short code programming and validation. In real project where we will have massive amount of code, in that case we will need a Code Editor for better orgnization of the code files.
-使用 `os.chdir()` 切换当前目录到文件的目录,比如 `os.chdir("/flash")`
-#### 方法一: `import`
+>Inside MaixPy,integrates a open source Editor [Micropython Editor(pye)](https://github.com/robert-hh/Micropython-Editor),which is convenient for us to manage the code.
-然后执行 `import hello`
+function `os.listdir()` is for checking the files in current directory.
-即可看到输出 `hello maixpy`
-使用此方法简单易用,但是需要注意的是, 目前 `import` 只能使用一次, 如果第二次 `import`, 则文件不会再执行, 如果需要多次执行,建议使用下面的方法
+With function `pye("hello.py")`, you can create new files and enter editing mode(if file exist, only enter editting mode)[click for more](https://github.com/robert-hh/Micropython-Editor/blob/master/Pyboard%20Editor.pdf)
-#### 方法二: `exec()`
+If editing finished, you can do `Ctrl+S` > `Enter` to save the script. `Ctrl+Q` to exit edit mode.
-使用 `exec()` 函数来执行
+
+**Notice**: This editor have some requiremnt on the Serial tool, KEY `BackSpace` have to set as `DEL` function,or `BackSpace` will implement the same function as `Ctrl+H`(charater replacement)
+
+### Upload File
+
+> Although inner editor of MaixPy can help us manage the file, for better experience and efficiency we recommend using other editors and upload the project after finish editing.
+
+>[uPyLoader](https://github.com/BetaRavener/uPyLoader) is opensource, which is pretty full-function and gives you the permit to upload, download, file excution, output monitoring, etc.
+
+
+
+
+### File Execution
+
+Function `os.chdir()` is used for switch current directory to a certain directory, for example `os.chdir("/flash")`
+
+#### Solution 1: `import`
+
+Run `import hello`
+
+You can see the output: `hello maixpy`
+
+In this way, it is simple and handy, but thers something worth your attention, `import` can only be utilized once, the second time `import` won't work. If you need to use `import` mutiple times, please refers to solution 2 below
+
+#### Solution 2: `exec()`
+
+Use `exec()` function:
```python
with open("hello.py") as f:
@@ -117,16 +120,15 @@ with open("hello.py") as f:
```
-### 开机自动运行脚本
-
-系统会在 `/flash` 或者 `/sd` 目录创建 `boot.py` 文件, 开机会自动先执行这个脚本, 编辑这个脚本的内容即可实现开机自启
+### AutoRun after Power On
+System will create a `boot.py` file at directory `/flash` or `/sd` , it will run this script after power on, modify this file will realize the AutoRun.
-## 程序库
+## Library
-
+
diff --git a/docs/en/unit/laser-rx.md b/docs/en/unit/laser-rx.md
index fc350b84..548885a4 100644
--- a/docs/en/unit/laser-rx.md
+++ b/docs/en/unit/laser-rx.md
@@ -1,17 +1,121 @@
+# Unit LASER.RX {docsify-ignore-all}
+
+
+
+
+***
+
+:memo:**[Description](#Description)** :electric_plug:**[Schematic](#Schematic)** :octocat:**[Code](#Code)** **[EasyLoader](#EasyLoader)** 🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-adc-hat)**
+
+## Description
+
+This is one of the communication devices among M5Units, a non-modulation Laser receiver. It is mainly built with a laser transistor.
+
+Laser communications devices are wireless connections through the atmosphere. They work similarly to fiber-optic links, except the beam is transmitted through free space. While the transmitter and receiver must require line-of-sight conditions, they have the benefit of eliminating the need for broadcast rights and buried cables. Laser communications systems can be easily deployed since they are inexpensive, small, low power and do not require any radio interference studies.
+Two parallel beams are needed, one for transmission and one for reception. Therefore we have a LASER.TX parallelly.
+
+Port type of this unit is PORTB.
+
+
+## Product Features
+
+- Laser receiver
+- non-modulation
+- Work voltage: 5V
+- Pair with LASER.TX
+- Response Frequency: 140KHz ~205KHz
+- Two Lego-compatible holes
+- Program Platform: Arduino, UIFlow(Blockly, Python)
+## Include
+
+- 1x LASER.RX unit
+- 1x GROVE cable
+
+## Application
+
+- Laser communication system on space.
-
-
-
-
-
-
-
-
+## Links
## Schematic
-
\ No newline at end of file
+
+
+## EasyLoader
+
+
+
+
+
+>1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader.
+
+>2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning.
+
+## Code
+
+### 1. Arduino IDE
+
+*To get complete code, please click [here](https://github.com/m5stack/M5Stack/tree/master/examples/Unit/LASER).*
+
+```arduino
+/* This demo is for LASER.TX and LASER.RX, utilized UART for transmittion and reception of
+ laser signals. In order to get the result of this demo, you will need to connect LASER.TX
+ and LASER.RX with PORTC(blue) respectively onto two different M5Cores with M5GO bases on
+ bottom. Then flash the demo into both M5Core device.
+ When testing the demo, you need to point the TX unit to RX, and press the button TX connected
+ device. RX connected device will reponse with a display,and will show what is received .
+ See this link for more detals: https://m5stack.oss-cn-shenzhen.aliyuncs.com/EasyLoader/Unit/LASER/EasyLoader_LASER_RX.exe
+ */
+
+#include
+
+char ch;
+// serial 2 write and read
+//#define RX
+void setup() {
+ M5.begin();
+ Serial.begin(115200);
+ // Serial2.begin(unsigned long baud, uint32_t config, int8_t rxPin, int8_t txPin, bool invert)
+ Serial2.begin(9600, SERIAL_8N1, 16, 17);
+
+}
+
+void loop() {
+M5.update();
+
+ if (M5.BtnA.wasReleased()) {
+ ch = 'A';
+ Serial2.write(ch);
+ } else if (M5.BtnB.wasReleased()) {
+ ch = 'B';
+ Serial2.write(ch);
+ } else if (M5.BtnC.wasReleased()) {
+ ch = 'C';
+ Serial2.write(ch);
+ }
+ M5.update();
+ if(Serial2.available()) {
+ char ch = Serial2.read();
+ M5.Lcd.print(ch);
+ }
+}
+```
+
+### Pin Map
+
+
+
M5 PORTB
GPIO36
GPIO26
5V
GND
+
LASER_RX
RX
/
5V
GND
+
+
+
+## Video
+**Demo**
+
+
diff --git a/docs/en/unit/laser-tx.md b/docs/en/unit/laser-tx.md
index f80ff548..5c356bbf 100644
--- a/docs/en/unit/laser-tx.md
+++ b/docs/en/unit/laser-tx.md
@@ -1,25 +1,141 @@
+# Unit LASER.TX {docsify-ignore-all}
+
+
+
+
+***
+
+:memo:**[Description](#Description)** :electric_plug:**[Schematic](#Schematic)** :octocat:**[Code](#Code)** **[EasyLoader](#EasyLoader)** 🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-adc-hat)**
+
+## Description
+
+This is one of the communication devices among M5Units, a Laser emitter with adjustable focal length. It is mainly built with a laser diode
+
+Laser communications devices are wireless connections through the atmosphere. They work similarly to fiber-optic links, except the beam is transmitted through free space. While the transmitter and receiver must require line-of-sight conditions, they have the benefit of eliminating the need for broadcast rights and buried cables. Laser communications systems can be easily deployed since they are inexpensive, small, low power and do not require any radio interference studies.
+Two parallel beams are needed, one for transmission and one for reception. Therefore we have a LASER.RX parallelly.
+
+Port type of this unit is PORTB.
+
+*warning!!! laser is dangerous for human being, Don’t aim a laser pointer towards a person’s head. This is to prevent the beam from getting in their eyes, possibly causing eye damage. Remember that people can move unexpectedly, so keeping away from their heads is a good idea*
+
+## Product Features
+
+- Laser transmitter
+- adjustable focal length
+- Work voltage: 5V
+- Pair with LASER.RX
+- Two Lego-compatible holes
+- Program Platform: Arduino, UIFlow(Blockly, Python)
+## Include
+
+- 1x LASER.TX unit
+- 1x GROVE cable
+
+## Application
+
+- Laser communication system on space.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+## Links
## Schematic
-
\ No newline at end of file
+
+
+## EasyLoader
+
+
+
+
+
+>1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader.
+
+>2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning.
+
+## Code
+
+### 1. Arduino IDE
+
+*To get complete code, please click [here](https://github.com/m5stack/M5Stack/tree/master/examples/Unit/LASER).*
+
+```arduino
+/* This demo is for LASER.TX and LASER.RX, utilized UART for transmittion and reception of
+ laser signals. In order to get the result of this demo, you will need to connect LASER.TX
+ and LASER.RX with PORTC(blue) respectively onto two different M5Cores with M5GO bases on
+ bottom. Then flash the demo into both M5Core device.
+ When testing the demo, you need to point the TX unit to RX, and press the button TX connected
+ device. RX connected device will reponse with a display,and will show what is received .
+ See this link for more detals: https://m5stack.oss-cn-shenzhen.aliyuncs.com/EasyLoader/Unit/LASER/EasyLoader_LASER_RX.exe
+ */
+
+#include
+
+char ch;
+// serial 2 write and read
+//#define RX
+void setup() {
+ M5.begin();
+ Serial.begin(115200);
+ // Serial2.begin(unsigned long baud, uint32_t config, int8_t rxPin, int8_t txPin, bool invert)
+ Serial2.begin(9600, SERIAL_8N1, 16, 17);
+
+}
+
+void loop() {
+M5.update();
+
+ if (M5.BtnA.wasReleased()) {
+ ch = 'A';
+ Serial2.write(ch);
+ } else if (M5.BtnB.wasReleased()) {
+ ch = 'B';
+ Serial2.write(ch);
+ } else if (M5.BtnC.wasReleased()) {
+ ch = 'C';
+ Serial2.write(ch);
+ }
+ M5.update();
+ if(Serial2.available()) {
+ char ch = Serial2.read();
+ M5.Lcd.print(ch);
+ }
+}
+```
+
+### Pin Map
+
+
+
M5 PORTB
GPIO36
GPIO26
5V
GND
+
LASER_TX
/
TX
5V
GND
+
+
+
+## Video
+**Demo**
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/en/unit/mini-proto.md b/docs/en/unit/mini-proto.md
index a9a289b9..14d9fa7a 100644
--- a/docs/en/unit/mini-proto.md
+++ b/docs/en/unit/mini-proto.md
@@ -1,27 +1,58 @@
+# Unit MINI.PROTO {docsify-ignore-all}
+
+
+***
+
+:memo:**[Description](#Description)** :electric_plug:**[Schematic](#Schematic)** 🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-adc-hat)**
+
+## Description
+
+**MINI_PROTO** is an M5Unit size of universal prototyping board. Smaller than the PROTO unit, the size is exactly the same as the regular M5unit. You can have the total freedom to make your own project as you want it, with prototyping boards that allow laying out the customized circuit to interact with the M5 core CONNEXT Port A, B or C.
+
+For different CONNEXT ports, you will be able to interact with different pins that ported out from ESP32.
+
+- PORTA: GPIO 21, 22
+- PORTB: GPIO 36, 26
+- PORTC: GPIO 16, 17
+
+
+
+
+
+## Product Features
+
+- Hole Size: 0.039" 1mm (CNC Drilled)
+- Hole Pitch: 0.1 in - (2.54 mm)
+- Entire Hole Quantity: 40 Holes
+- Two Lego-compatible holes
+## Include
+
+- 1x MINI PROTO unit
+- 1x GROVE cable
+
+## Application
+
+- Prototyping
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+## Links
## Schematic
-
\ No newline at end of file
+
+
+
+### Pin Map
+
+
+
M5 PORTA
GPIO22
GPIO21
5V
GND
+
M5 PORTB
GPIO36
GPIO26
5V
GND
+
M5 PORTC
GPIO16
GPIO17
5V
GND
+
MINI.PROTO
P1-1
P1-2
5V
GND
+
+
+
+
+
diff --git a/docs/en/unit/rs485.md b/docs/en/unit/rs485.md
index d5438445..f0033450 100644
--- a/docs/en/unit/rs485.md
+++ b/docs/en/unit/rs485.md
@@ -12,7 +12,7 @@
RS485 is a standard defining the electrical characteristics of drivers and receivers for use in serial communications systems, widely used in industrial field. multipoint systems are supported.
-used for converting TTL level to RS485 level. If the device to be controlled only can communicate with other device through RS485, you can connect this device with M5Core through this unit. In this case, you could easily control a RS485 device with [UIFlow](http://flow.m5stack.com).
+It is used to convert the TTL standard to the RS485 standard. If the outside serial device is RS485 standard, you can attach this unit onto M5stack, therefore, to implement the communication with RS485 device by TTL protocol.
## Product Features
diff --git a/docs/index.md b/docs/index.md
index c5c31258..88c40782 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -42,10 +42,11 @@
## M5Stick
## M5StickC
+## M5StickV
M5Stick QuickStartM5StickC QuickStart
-
+ M5StickV QuickStart
**M5Stick**
@@ -55,20 +56,20 @@