diff --git a/docs/assets/img/product_pics/unit/unit_m5camera_05.png b/docs/assets/img/product_pics/unit/unit_m5camera_05.png
index efdebc3d..f1d925e6 100644
Binary files a/docs/assets/img/product_pics/unit/unit_m5camera_05.png and b/docs/assets/img/product_pics/unit/unit_m5camera_05.png differ
diff --git a/docs/assets/img/product_pics/unit/unit_m5camera_f_02.png b/docs/assets/img/product_pics/unit/unit_m5camera_f_02.png
index c344b875..99ee2320 100644
Binary files a/docs/assets/img/product_pics/unit/unit_m5camera_f_02.png and b/docs/assets/img/product_pics/unit/unit_m5camera_f_02.png differ
diff --git a/docs/en/api/button.md b/docs/en/api/button.md
index c95d78c5..06a0fb4a 100644
--- a/docs/en/api/button.md
+++ b/docs/en/api/button.md
@@ -4,9 +4,7 @@
**Syntax:**
-```arduino
-uint8_t read();
-```
+uint8_t read();
**Description:**
@@ -32,9 +30,7 @@ void loop() {
**Syntax:**
-```arduino
-uint8_t isPressed();
-```
+uint8_t isPressed();
**Description:**
@@ -64,9 +60,7 @@ void loop() {
**Syntax:**
-```arduino
-uint8_t wasPressed();
-```
+uint8_t wasPressed();
**Description:**
@@ -96,9 +90,7 @@ void loop() {
**Syntax:**
-```arduino
-uint8_t pressedFor(uint32_t ms);
-```
+uint8_t pressedFor(uint32_t ms);
**Description:**
diff --git a/docs/en/api/lcd.md b/docs/en/api/lcd.md
index eaac0729..a72ce8e9 100644
--- a/docs/en/api/lcd.md
+++ b/docs/en/api/lcd.md
@@ -6,9 +6,7 @@
**Syntax:**
-```arduino
-fillScreen(uint16_t color);
-```
+fillScreen(uint16_t color);
**Function: Fill the entire screen with the specified color.**
@@ -39,9 +37,7 @@ lcd.fillScreen(lcd.RED)
**Syntax:**
-```arduino
-setTextColor(uint16_t color, uint16_t backgroundcolor);
-```
+setTextColor(uint16_t color, uint16_t backgroundcolor);
**Function: Set the foreground color and background color of the displayed text.**
@@ -74,9 +70,7 @@ lcd.setTextColor(lcd.ORANGE, lcd.DARKCYAN)
**Syntax:**
-```arduino
-setCursor(uint16_t x0, uint16_t y0);
-```
+setCursor(uint16_t x0, uint16_t y0);
@@ -104,9 +98,7 @@ lcd.drawPixel(22,22,lcd.RED)
**Syntax:**
-```arduino
-drawPixel(int16_t x, int16_t y, uint16_t color);
-```
+drawPixel(int16_t x, int16_t y, uint16_t color);
**Function: Draw a point at position (x, y).**
@@ -137,9 +129,7 @@ lcd.drawPixel(22,22,lcd.RED)
**Syntax:**
-```arduino
-drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color);
-```
+drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color);
**Function: Draw the line from point (x,y) to point (x1,y1).**
@@ -170,9 +160,7 @@ lcd.drawLine(0,0,12,12,lcd.WHITE)
**Syntax:**
-```arduino
-drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color);
-```
+drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color);
**Function: Draw the triangel between points (x,y), (x1,y1) and (x2,y2).**
@@ -203,9 +191,7 @@ lcd.drawLine(0,0,12,12,lcd.WHITE)
**Syntax:**
-```arduino
-fillTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color);
-```
+fillTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color);
**Function: Fill the triangel between points (x,y), (x1,y1) and (x2,y2).**
@@ -236,9 +222,7 @@ lcd.drawLine(0,0,12,12,lcd.WHITE)
**Syntax:**
-```arduino
-drawRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color);
-```
+drawRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color);
**Function: Draw the rectangle from the upper left point at (x,y) and width and height.**
@@ -271,9 +255,7 @@ lcd.drawLine(0,0,12,12,lcd.WHITE)
**Syntax:**
-```arduino
-fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color);
-```
+fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color);
**Function: Fill the rectangle from the upper left point at (x,y) and width and height.**
@@ -306,9 +288,7 @@ lcd.drawLine(0,0,12,12,lcd.WHITE)
**Syntax:**
-```arduino
-drawRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h, int16_t radius, uint16_t color);
-```
+drawRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h, int16_t radius, uint16_t color);
**Function: Draw the rectangle with rounded corners from the upper left point at (x,y) and width and height. Corner radius is given by radius argument.**
@@ -342,9 +322,7 @@ lcd.drawLine(0,0,12,12,lcd.WHITE)
**Syntax:**
-```arduino
-print();
-```
+print();
**Function: Start printing text at the current position of the screen.**
diff --git a/docs/en/api/mpu9250.md b/docs/en/api/mpu9250.md
index dd3c740a..924cc44b 100644
--- a/docs/en/api/mpu9250.md
+++ b/docs/en/api/mpu9250.md
@@ -6,9 +6,7 @@
**Syntax:**
-```arduino
-void initMPU9250();
-```
+void initMPU9250();
**Description:**
@@ -36,9 +34,7 @@ void loop() {
**Syntax:**
-```arduino
-void initAK8963(float * destination);
-```
+void initAK8963(float * destination);
**Description:**
@@ -82,9 +78,7 @@ void loop() {
**Syntax:**
-```arduino
-void calibrateMPU9250(float * gyroBias, float * accelBias);
-```
+void calibrateMPU9250(float * gyroBias, float * accelBias);
**Description:**
@@ -133,9 +127,7 @@ void loop() {
**Syntax:**
-```arduino
-uint8_t readByte(uint8_t address, uint8_t subAddress);
-```
+uint8_t readByte(uint8_t address, uint8_t subAddress);
**Description:**
@@ -170,9 +162,7 @@ void loop() {
**Syntax:**
-```arduino
-void readGyroData(int16_t * destination);
-```
+void readGyroData(int16_t * destination);
**Description:**
@@ -224,9 +214,7 @@ void loop() {
**Syntax:**
-```arduino
-void readAccelData(int16_t * destination);
-```
+void readAccelData(int16_t * destination);
**Description:**
diff --git a/docs/en/api/speaker.md b/docs/en/api/speaker.md
index a94bcb0a..2fe48b55 100644
--- a/docs/en/api/speaker.md
+++ b/docs/en/api/speaker.md
@@ -4,9 +4,7 @@
**Syntax:**
-```arduino
-tone(uint16_t freq, [uint32_t duration]);
-```
+tone(uint16_t freq, [uint32_t duration]);
**Description: Set the pitch of speaker.**
diff --git a/docs/en/api/system.md b/docs/en/api/system.md
index f254a47a..ac79c7ca 100644
--- a/docs/en/api/system.md
+++ b/docs/en/api/system.md
@@ -4,9 +4,7 @@
**Syntax:**
-```arudino
-void begin(bool LCDEnable=true, bool SDEnable=true, bool SerialEnable=true);
-```
+void begin(bool LCDEnable=true, bool SDEnable=true, bool SerialEnable=true);
**Description:**
@@ -48,9 +46,7 @@ void setup() {
**Syntax:**
-```arduino
-void update();
-```
+void update();
**Description:**
@@ -89,9 +85,7 @@ void loop() {
**Syntax:**
-```arduino
-void powerOFF();
-```
+void powerOFF();
**Description:**
diff --git a/docs/en/api/tf.md b/docs/en/api/tf.md
index 5512bd5a..95574c03 100644
--- a/docs/en/api/tf.md
+++ b/docs/en/api/tf.md
@@ -4,9 +4,7 @@
**Syntax:**
-```arduino
-boolean begin(uint8_t cspin);
-```
+boolean begin(uint8_t cspin);
**Description:**
@@ -30,9 +28,7 @@ void setup() {
**Syntax:**
-```arduino
-File open(const char *filename, uint8_t mode = FILE_READ);
-```
+File open(const char *filename, uint8_t mode = FILE_READ);
**Description:**
diff --git a/docs/en/quick_start/m5camera/m5camera_quick_start.md b/docs/en/quick_start/m5camera/m5camera_quick_start.md
index 6cc39bc0..3b21828c 100644
--- a/docs/en/quick_start/m5camera/m5camera_quick_start.md
+++ b/docs/en/quick_start/m5camera/m5camera_quick_start.md
@@ -34,13 +34,15 @@ ESP32Cam/M5Camera AP only can connect with one device at a time.
## Firmware
-ESP32Cam Firmware: https://github.com/m5stack/m5stack-cam-psram/tree/normal
+ESP32Cam Firmware: https://github.com/m5stack/m5stack-cam-psram/tree/NoPsram
-M5Camera(A model default) Firmware: https://github.com/m5stack/m5stack-cam-psram/tree/master
+M5Camera(A model) Firmware: https://github.com/m5stack/m5stack-cam-psram/tree/master
+
+M5Camera(B model) Firmware: https://github.com/m5stack/m5stack-cam-psram/tree/master
M5CameraX Firmware: https://github.com/m5stack/m5stack-cam-psram/tree/master
-M5CameraF Firmware: https://github.com/m5stack/m5stack-cam-psram/tree/master
+M5CameraF Firmware: https://github.com/m5stack/m5stack-cam-psram/tree/FishEye
## Video Tutorial
diff --git a/docs/en/unit/esp32cam.md b/docs/en/unit/esp32cam.md
index 07493603..3ff804fd 100644
--- a/docs/en/unit/esp32cam.md
+++ b/docs/en/unit/esp32cam.md
@@ -148,7 +148,7 @@ Because the module can generate WIFI hotspot AP, So you can use your mobile phon
### Firmware
-- **[ESP32CAM Firmware](https://github.com/m5stack/m5stack-cam-psram/tree/normal)**
+- **[ESP32CAM Firmware](https://github.com/m5stack/m5stack-cam-psram/tree/NoPsram)**