This commit is contained in:
vany5921
2020-03-17 14:38:27 +08:00
9 changed files with 339 additions and 342 deletions
+73 -137
View File
@@ -2,6 +2,13 @@
--theme-color: hsl(204,90%,45%)
}
@font-face {
font-family: Montserrat;
font-style: normal;
src: url("/assets/font/montserrat_n5.e72d00d31ae5399d260a80ec70322c62c1819762.woff2") format("woff2")
}
a {
text-decoration: none !important
}
@@ -55,6 +62,15 @@ body[data-page="en/arduino/arduino_home_page.md"] article.markdown-section {
padding: 0
}
body[data-page="en/quick_start/m5stickc/m5stickc_quick_start.md"] article.markdown-section {
max-width: 100%;
}
body[data-page="zh_CN/quick_start/m5stickc/m5stickc_quick_start.md"] article.markdown-section {
max-width: 100%;
}
.pic {
width: 30%
}
@@ -657,119 +673,6 @@ body[data-page="zh_CN/README.md"] .markdown-section {
}
}
.table_center tr {
text-align: center
}
.table-wrapper {
box-shadow: -7px 0 20px 0 #888
}
.fl-table {
border-radius: 5px;
font-size: 12px;
font-weight: normal;
border: 0;
border-collapse: collapse;
width: 100%;
max-width: 100%;
white-space: nowrap;
background-color: white
}
.fl-table td,.fl-table th {
text-align: center !important;
padding: 18px
}
.fl-table td {
border-right: 1px solid #f8f8f8;
font-size: 12px
}
.fl-table thead th {
color: #fff;
background: #4fc3a1
}
.fl-table thead th:nth-child(odd) {
color: #fff;
background: #324960
}
.fl-table tr:nth-child(even) {
background: #f8f8f8
}
@media screen and (max-width:768px) {
.fl-table {
display: block !important;
width: 100%;
overflow-x: auto
}
.fl-table thead,.fl-table tbody,.fl-table thead th {
display: block
}
.fl-table thead th:last-child {
border-bottom: 0
}
.fl-table thead {
float: left;
display: block !important
}
.fl-table tbody {
width: auto;
position: relative;
overflow-x: auto
}
.fl-table td,.fl-table th {
padding: 20px .625em .625em .625em;
height: 60px;
vertical-align: middle;
box-sizing: border-box;
overflow-x: auto;
overflow-y: auto;
width: 120px;
font-size: 13px;
text-overflow: ellipsis
}
.fl-table thead th {
text-align: left;
border-bottom: 1px solid #f7f7f9
}
.fl-table tbody tr {
display: table-cell !important
}
.fl-table tbody tr:nth-child(odd) {
background: 0
}
.fl-table tr:nth-child(even) {
background: transparent
}
.fl-table tr td:nth-child(odd) {
background: #f8f8f8;
border-right: 1px solid #e6e4e4
}
.fl-table tr td:nth-child(even) {
border-right: 1px solid #e6e4e4
}
.fl-table tbody td {
display: block;
text-align: center
}
}
mark {
background-color: #888;
@@ -1140,13 +1043,13 @@ mark {
}
.platform-box > div:nth-of-type(1)::after{
content: "";
content: "";
position: absolute;
width: 5px;
height: 300px;
background-color: gray;
width: 2px;
height: 450px;
background-color: #d9d9d9;
right: -22px;
top: 100px;
top: 43px;
}
.platform-item h3 {
@@ -1190,8 +1093,8 @@ mark {
content: "";
position: absolute;
width: 300px;
height: 5px;
background-color: gray;
height: 2px;
background-color: #d9d9d9;
right: -30px;
top: 455px;
}
@@ -1199,25 +1102,14 @@ mark {
@font-face {
font-family: Montserrat;
/* font-weight: 700; */
font-style: normal;
src: url("/assets/font/montserrat_n5.e72d00d31ae5399d260a80ec70322c62c1819762.woff2") format("woff2")
}
/* @font-face {
font-family: Montserrat;
font-weight: 600;
font-style: normal;
src: url("https://fonts.shopifycdn.com/montserrat/montserrat_n6.7a3c341961dc23aaabcc116124b80f2a7abec1a2.woff2?&hmac=b92922e1683cc0012e34c7bf8312b5012a94a53fc8c072e1f67c774308ea2f2a") format("woff2")
} */
.markdown-section h1 {
font-family: Montserrat;
font-weight: 1000;
font-size: 48px;
font-size: 48px;
display: inline;
}
.markdown-section h2 {
@@ -1231,7 +1123,51 @@ mark {
font-family: Montserrat;
}
/* .markdown-section p:nth-of-type(1){
margin-top:-15px;
} */
.product_sku_tag {
margin-left: 5px;
margin-top: 5px;
}
/* Border styles */
.table-1 thead, .table-1 tr {
border-top-width: 1px;
border-top-style: solid;
border-top-color: #aabfdc
}
.table-1 {
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #aabfdc;
border-top-width: 1px;
border-top-style: solid;
border-top-color: #aabfdc;
overflow: auto;
display: inline-block !important;
/* padding-bottom: 5px; */
}
/* Padding and font style */
.table-1 td, .table-1 th {
padding: 5px 10px;
font-size: 12px;
font-family: Verdana;
color: #597da1;
border-color: hsl(212, 42%, 88%);
}
/* Alternating background colors */
.table-1 tr:nth-child(even) {
background: #d3dfed
}
.table-1 tr:nth-child(odd) {
background: #FFF
}
@media screen and (max-width:768px) {
.table-1 {
display: block !important;
overflow: scroll;
}
}
+200 -121
View File
@@ -1,5 +1,7 @@
# BASIC
<div class="badge badge-pill badge-primary product_sku_tag">SKU:K001</div>
<div class="product_pic"><img src="assets/img/product_pics/core/basic/basic_02.png"><img src="assets/img/product_pics/core/basic/basic_03.png"></div>
## Description
@@ -58,137 +60,214 @@ M5Stack Basic is consist with two separable parts. the upside part has all kinds
</div>
## Peripherals Pin Map
**LCD & TF Card**
LCD 320x240
TF card Maximum size 16GB
<table>
<tr><td>ESP32 Chip</td><td>GPIO23</td><td>GPIO19</td><td>GPIO18</td><td>GPIO14</td><td>GPIO27</td><td>GPIO33</td><td>GPIO32</td><td>GPIO4</td></tr>
<!-- <tr><td>ILI9342C</td><td>MOSI</td><td>/</td><td>CLK</td><td>CS</td><td>DC</td><td>RST</td><td>BL</td><td> </td></tr> -->
<tr><td>ILI9342C</td><td>MOSI/MISO</td><td>/</td><td>CLK</td><td>CS</td><td>DC</td><td>RST</td><td>BL</td><td> </td></tr>
<tr><td>TF Card</td><td>MOSI</td><td>MISO</td><td>CLK</td><td> </td><td> </td><td> </td><td> </td><td>CS</td></tr>
<table class="table-1">
<thead>
<th>ESP32 Chip</th>
<th>GPIO23</th>
<th>GPIO19</th>
<th>GPIO18</th>
<th>GPIO14</th>
<th>GPIO27</th>
<th>GPIO33</th>
<th>GPIO32</th>
<th>GPIO4</th>
</thead>
<tbody>
<tr>
<td>ILI9342C</td>
<td>MOSI/MISO</td>
<td>/</td>
<td>CLK</td>
<td>CS</td>
<td>DC</td>
<td>RST</td>
<td>BL</td>
<td> </td>
</tr>
<tr>
<td>TF Card</td>
<td>MOSI</td>
<td>MISO</td>
<td>CLK</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td>CS</td>
</tr>
</tbody>
</table>
Button & Speaker
<table>
<tr><td>ESP32 Chip</td><td>GPIO39</td><td>GPIO38</td><td>GPIO37</td><td>GPIO25</td></tr>
<tr><td>Button Pin</td><td>BUTTON A</td><td>BUTTON B</td><td>BUTTON C</td></tr>
<tr><td>Speaker</td><td> </td><td> </td><td> </td><td>DA PIN</td></tr>
<table class="table-1">
<thead>
<th>ESP32 Chip</th>
<th>GPIO39</th>
<th>GPIO38</th>
<th>GPIO37</th>
<th>GPIO25</th>
</thead>
<tbody>
<tr>
<td>Button Pin</td>
<td>BUTTON A</td>
<td>BUTTON B</td>
<td>BUTTON C</td>
</tr>
<tr>
<td>Speaker</td>
<td>/</td>
<td>/</td>
<td>/</td>
<td>DA PIN</td>
</tr>
</tbody>
</table>
GROVE Port A & IP5306
We've use the customized I2C version of IP5306, on power management.
Its I2C address is 0x75. Click [here](https://github.com/m5stack/M5-Schematic/blob/master/Core/IIC_IP5306_REG_V1.4.pdf) to check its datasheet
<table>
<tr><td>ESP32 Chip</td><td>GPIO22</td><td>GPIO21</td><td>5V</td><td>GND</td></tr>
<tr><td>GROVE A</td><td>SCL</td><td>SDA</td><td>5V</td><td>GND</td></tr>
<tr><td>IP5306</td><td>SCL</td><td>SDA</td><td>5V</td><td>GND</td></tr>
<table class="table-1">
<thead>
<th>ESP32 Chip</th>
<th>GPIO22</th>
<th>GPIO21</th>
<th>5V</th>
<th>GND</th>
</thead>
<tbody>
<tr>
<td>GROVE A</td>
<td>SCL</td>
<td>SDA</td>
<td>5V</td>
<td>GND</td>
</tr>
<tr>
<td>IP5306</td>
<td>SCL</td>
<td>SDA</td>
<td>5V</td>
<td>GND</td>
</tr>
</tbody>
</table>
IP5306 charging/dischargingVoltage parameter
<table>
<tr style="font-weight:bold;text-align:center" >
<td>charging</td>
<td><td>
<td>discharging</td>
</tr>
<tr>
<td>0.00 ~ 3.40V -> 0%</td>
<td><td>
<td>4.20 ~ 4.07V -> 100%</td>
</tr>
<tr>
<td>3.40 ~ 3.61V -> 25%</td>
<td><td>
<td>4.07 ~ 3.81V -> 75%</td>
</tr>
<tr>
<td>3.61 ~ 3.88V -> 50%</td>
<td><td>
<td>3.81 ~ 3.55V -> 50%</td>
</tr>
<tr>
<td>3.88 ~ 4.12V -> 75%</td>
<td><td>
<td>3.55 ~ 3.33V -> 25%</td>
</tr>
<tr>
<td>4.12 ~ / -> 100%</td>
<td><td>
<td>3.33 ~ 0.00V -> 0%</td>
</tr>
## IP5306 charging/dischargingVoltage parameter
<table class="table-1">
<thead>
<th>charging</th>
<th>discharging</th>
</thead>
<tbody>
<tr>
<td>0.00 ~ 3.40V -> 0%</td>
<td>4.20 ~ 4.07V -> 100%</td>
</tr>
<tr>
<td>3.40 ~ 3.61V -> 25%</td>
<td>4.07 ~ 3.81V -> 75%</td>
</tr>
<tr>
<td>3.61 ~ 3.88V -> 50%</td>
<td>3.81 ~ 3.55V -> 50%</td>
</tr>
<tr>
<td>3.88 ~ 4.12V -> 75%</td>
<td>3.55 ~ 3.33V -> 25%</td>
</tr>
<tr>
<td>4.12 ~ / -> 100%</td>
<td>3.33 ~ 0.00V -> 0%</td>
</tr>
</tbody>
</table>
## Parameter
<table>
<tr style="font-weight:bold">
<td>Resources</td>
<td>Parameter</td>
</tr>
<tr>
<td>ESP32</td>
<td>240MHz dual core, 600 DMIPS, 520KB SRAM, Wi-Fi, dual mode Bluetooth</td>
</tr>
<tr>
<td>Flash Memory</td>
<td>4MB</td>
</tr>
<tr>
<td>Power Input</td>
<td>5V @ 500mA</td>
</tr>
<tr>
<td>Port</td>
<td>TypeC x 1, GROVE(I2C+I/0+UART) x 1</td>
</tr>
<tr>
<td>IPS Screen</td>
<td>2 inch, 320x240 Colorful TFT LCD, ILI9342C</td>
</tr>
<tr>
<td>Speaker</td>
<td>1W-0928</td>
</tr>
<tr>
<td>Battery</td>
<td>110mAh @ 3.7V</td>
</tr>
<tr>
<td>Operating Temperature </td>
<td>32°F to 104°F ( 0°C to 40°C )</td>
</tr>
<tr>
<td>Size</td>
<td>54 x 54 x 12.5 mm</td>
</tr>
<tr>
<td>Case Material</td>
<td>Plastic ( PC )</td>
</tr>
<table class="table-1">
<thead>
<th>Resources</th>
<th>Parameter</th>
</thead>
<tbody>
<tr>
<td>ESP32</td>
<td>240MHz dual core, 600 DMIPS, 520KB SRAM, Wi-Fi, dual mode Bluetooth</td>
</tr>
<tr>
<td>Flash Memory</td>
<td>4MB</td>
</tr>
<tr>
<td>Power Input</td>
<td>5V @ 500mA</td>
</tr>
<tr>
<td>Port</td>
<td>TypeC x 1, GROVE(I2C+I/0+UART) x 1</td>
</tr>
<tr>
<td>IPS Screen</td>
<td>2 inch, 320x240 Colorful TFT LCD, ILI9342C</td>
</tr>
<tr>
<td>Speaker</td>
<td>1W-0928</td>
</tr>
<tr>
<td>Battery</td>
<td>110mAh @ 3.7V</td>
</tr>
<tr>
<td>Operating Temperature </td>
<td>32°F to 104°F ( 0°C to 40°C )</td>
</tr>
<tr>
<td>Size</td>
<td>54 x 54 x 12.5 mm</td>
</tr>
<tr>
<td>Case Material</td>
<td>Plastic ( PC )</td>
</tr>
</tbody>
</table>
**<mark>Notice1M5PORT EXPLAIN</mark>**
You can identify the port name and function by its color, red is PortA(21/22) mainly used for I2C, black is PortB(26/36) which can be used for DA/AD, Singel-bus communication, Blue is PortC(16/17) can be used for Uart. Correspondingly, most of the M5 Units have the Port with matched color for specify which port it should go in on the M5Core.
Those port identification is a convenience for UIFlow (Blockly) Users. For advanced using ,you can do you own customization, since most of the PIN on ESP32 are remapping-able.
Unfortunatly, PortA(red) can not be used as analog read in. It refers to GPIO 21 & 22 from ESP32, which doesn't have AD channel alternatives:
- ADC1(8 channels atteched to GPIOs 32-39)
- ADC2(10 channels atteched to GPIOs 02412-1525-27)
- ESP32 has two 8-bit DAC (digital to analog converter) channels, connected to GPIO25 (Channel 1) and GPIO26 (Channel 2)
<table class="table-1">
<thead>
<th>ADC1</th>
<th>ADC2</th>
<th>DAC1</th>
<th>DAC2</th>
</thead>
<tbody>
<tr>
<td>8 channels</td>
<td>10 channels</td>
<td>2 channels</td>
<td>2 channels</td>
</tr>
<tr>
<td>G32-39</td>
<td>G0/2/4/12-15/25-27</td>
<td>G25</td>
<td>G26</td>
</tr>
</tbody>
</table>
To use AD read function :
1, Use Dupont cable refers to the pins on the side which can be used as an AD channel.
2, Get a M5GO bottom, which comes with a PortB.
3, Get a PbHUB and connect it with PortA, then you can have 6 PortBs.
For more information about Pin assignment and Pin Remapping, Please refer to EPS32 Datasheet
### Kit includes
@@ -206,26 +285,26 @@ For more information about Pin assignment and Pin Remapping, Please refer to EPS
## Version Change
<div class="table-wrapper">
<table class="fl-table">
<thead>
<tr>
<th>Release Date</th>
<th>Product Change</th>
</tr>
</thead>
<tbody>
<tr>
<table class="table-1">
<thead>
<th>Release Date</th>
<th>Product Change</th>
<th>Note:</th>
</thead>
<tbody>
<tr>
<td>2017.7</td>
<td>Initial public release</td>
</tr>
<tr>
<td>/</td>
</tr>
<tr>
<td>2019.7</td>
<td>TN screen changed to IPS screen</td>
</tr>
<tbody>
</table>
</div>
<td>before use . pls upgrade your M5Stack lib to the latest version (after 0.2.8) to solve screen reverse color problem.</td>
</tr>
</tbody>
</table>
## Schematic
-1
View File
@@ -244,7 +244,6 @@ The error message displayed on the screen, is actually normal, it doesn't mean s
<script>
var purchase_link = 'https://m5stack.com/collections/m5-core/products/face';
var quickstart_link = 'https://docs.m5stack.com/#/en/quick_start/m5core/m5stack_core_quick_start';
anchor_search(purchase_link,quickstart_link);
@@ -1,21 +1,19 @@
<div class="platform-box">
<div class="platform-item" style="overflow:visible;">
<img src="assets\img\quickstart_en.jpg" width="300px">
<img src="assets\img\quickstart_en.jpg" width="300px" data-no-zoom>
</div>
<div class="platform-item">
<img src="assets\img\arduino-card.jpg" width="300px">
<a href="/#/en/arduino/arduino_development">
<h3>Arduino IDE</h3>
<div class="platform-tag"></div>
</a>
</div>
<div class="platform-item">
<img src="assets\img\uiflow-card.jpg" width="300px">
<img src="assets\img\uiflow-card.jpg" width="300px" data-no-zoom>
<a href="/#/en/uiflow/introduction">
<h3>UIFlow</h3>
<div class="platform-tag"></div>
</a>
</div>
<div class="platform-item">
<img src="assets\img\arduino-card.jpg" width="300px" data-no-zoom>
<a href="/#/en/arduino/arduino_development">
<h3>Arduino IDE</h3>
<div class="platform-tag"></div>
</a>
</div>
</div>
@@ -1,20 +1,20 @@
<div class="platform-box">
<div class="platform-item" style="overflow:visible;">
<img src="assets\img\quickstart_en.jpg" width="300px">
<img src="assets\img\quickstart_en.jpg" width="300px" data-no-zoom>
</div>
<div class="platform-item">
<img src="assets\img\arduino-card.jpg" width="300px">
<a href="/#/en/quick_start/m5stick/m5stick_quick_start_with_arduino_Windows">
<h3>Arduino IDE</h3>
<div class="platform-tag"></div>
</a>
</div>
<div class="platform-item">
<img src="assets\img\uiflow-card.jpg" width="300px">
<img src="assets\img\uiflow-card.jpg" width="300px" data-no-zoom>
<a href="/#/en/quick_start/m5stick/m5stick_quick_start_with_uiflow">
<h3>UIFlow</h3>
<div class="platform-tag"></div>
</a>
</div>
<div class="platform-item">
<img src="assets\img\arduino-card.jpg" width="300px" data-no-zoom>
<a href="/#/en/quick_start/m5stick/m5stick_quick_start_with_arduino_Windows">
<h3>Arduino IDE</h3>
<div class="platform-tag"></div>
</a>
</div>
</div>
@@ -1,24 +1,24 @@
<div class="platform-box">
<div class="platform-item" style="overflow:visible;">
<img src="assets\img\quickstart_en.jpg" width="300px">
<img src="assets\img\quickstart_en.jpg" width="300px" data-no-zoom>
</div>
<div class="platform-item">
<img src="assets\img\arduino-card.jpg" width="300px">
<a href="/#/en/arduino/arduino_development">
<h3>Arduino IDE</h3>
<div class="platform-tag"></div>
</a>
</div>
<div class="platform-item">
<img src="assets\img\uiflow-card.jpg" width="300px">
<img src="assets\img\uiflow-card.jpg" width="300px" data-no-zoom>
<a href="/#/en/uiflow/introduction">
<h3>UIFlow</h3>
<div class="platform-tag"></div>
</a>
</div>
<div class="platform-item">
<img src="assets\img\aws-freertos-card.jpg" width="300px">
<img src="assets\img\arduino-card.jpg" width="300px" data-no-zoom>
<a href="/#/en/arduino/arduino_development">
<h3>Arduino IDE</h3>
<div class="platform-tag"></div>
</a>
</div>
<div class="platform-item">
<img src="assets\img\aws-freertos-card.jpg" width="300px" data-no-zoom>
<a href="/#/en/quick_start/m5stickc/m5stickc_quick_start_with_AWS-FreeRTOS_Windows">
<h3>AWS FreeRTOS</h3>
<div class="platform-tag"></div>
@@ -1,20 +1,19 @@
<div class="platform-box">
<div class="platform-item" style="overflow:visible;">
<img src="assets\img\quickstart_cn.jpg" width="300px">
<img src="assets\img\quickstart_cn.jpg" width="300px" data-no-zoom>
</div>
<div class="platform-item">
<img src="assets\img\arduino-card.jpg" width="300px">
<a href="/#/zh_CN/arduino/arduino_development">
<h3>Arduino IDE</h3>
<div class="platform-tag"></div>
</a>
</div>
<div class="platform-item">
<img src="assets\img\uiflow-card.jpg" width="300px">
<img src="assets\img\uiflow-card.jpg" width="300px" data-no-zoom>
<a href="/#/zh_CN/uiflow/introduction">
<h3>UIFlow</h3>
<div class="platform-tag"></div>
</a>
</div>
<div class="platform-item">
<img src="assets\img\arduino-card.jpg" width="300px" data-no-zoom>
<a href="/#/zh_CN/arduino/arduino_development">
<h3>Arduino IDE</h3>
<div class="platform-tag"></div>
</a>
</div>
</div>
@@ -1,33 +1,20 @@
# M5Stick 上手指南 {docsify-ignore-all}
<!-- ## 选择您需要的编程语言
*使用 Arduino/C++ 编程的话,选择 Arduino;使用 Blockly/MicroPython,选择 UIFlow(Blockly/MicroPython)*
|<img src="assets/img/macos-logo.png"> | <img src="assets/img/windows-logo.png"> | <img src="assets/img/uiflow-logo.png">|
|:---:|:---:|:---:|
|[Arduino-MacOS](zh_CN/quick_start/m5stick/m5stick_quick_start_with_arduino_MacOS) | [Arduino-Windows](zh_CN/quick_start/m5stick/m5stick_quick_start_with_arduino_Windows) | [UIFlow](zh_CN/quick_start/m5stick/m5stick_quick_start_with_uiflow)| -->
## 选择您使用的开发平台
<div class="container">
<div class="card-deck mb-3 text-center">
<div class="card mb-4 shadow-sm">
<div class="card-body">
<img src="assets/img/macos-logo.png" height="170px" style="margin:15px">
<a href="#zh_CN/quick_start/m5stick/m5stick_quick_start_with_arduino_MacOS" style="text-decoration:none"><button type="button" class="btn btn-lg btn-block btn-outline-primary">Arduino-MacOS</button></a>
</div>
</div>
<div class="card mb-4 shadow-sm">
<div class="card-body">
<img src="assets/img/windows-logo.png" height="170px" style="margin:15px">
<a href="#zh_CN/quick_start/m5stick/m5stick_quick_start_with_arduino_Windows" style="text-decoration:none"><button type="button" class="btn btn-lg btn-block btn-outline-primary">Arduino-Windows</button></a>
</div>
</div>
<div class="card mb-4 shadow-sm">
<div class="card-body">
<img src="assets/img/uiflow-logo.png" height="150px" style="margin:25px">
<a href="#zh_CN/quick_start/m5stick/m5stick_quick_start_with_uiflow" style="text-decoration:none"><button type="button" class="btn btn-lg btn-block btn-outline-primary">UIFlow</button></a>
</div>
</div>
</div>
<div class="platform-box">
<div class="platform-item" style="overflow:visible;">
<img src="assets\img\quickstart_cn.jpg" width="300px" data-no-zoom>
</div>
<div class="platform-item">
<img src="assets\img\uiflow-card.jpg" width="300px" data-no-zoom>
<a href="/#/zh_CN/quick_start/m5stick/m5stick_quick_start_with_uiflow">
<h3>UIFlow</h3>
<div class="platform-tag"></div>
</a>
</div>
<div class="platform-item">
<img src="assets\img\arduino-card.jpg" width="300px" data-no-zoom>
<a href="/#/zh_CN/quick_start/m5stick/m5stick_quick_start_with_arduino_Windows">
<h3>Arduino IDE</h3>
<div class="platform-tag"></div>
</a>
</div>
</div>
@@ -1,25 +1,24 @@
<div class="platform-box">
<div class="platform-item" style="overflow:visible;">
<img src="assets\img\quickstart_cn.jpg" width="300px">
<img src="assets\img\quickstart_cn.jpg" width="300px" data-no-zoom>
</div>
<div class="platform-item">
<img src="assets\img\arduino-card.jpg" width="300px">
<a href="/#/zh_CN/arduino/arduino_development">
<h3>Arduino IDE</h3>
<div class="platform-tag"></div>
</a>
</div>
<div class="platform-item">
<img src="assets\img\uiflow-card.jpg" width="300px">
<img src="assets\img\uiflow-card.jpg" width="300px" data-no-zoom>
<a href="/#/zh_CN/uiflow/introduction">
<h3>UIFlow</h3>
<div class="platform-tag"></div>
</a>
</div>
<div class="platform-item">
<img src="assets\img\aws-freertos-card.jpg" width="300px">
<img src="assets\img\arduino-card.jpg" width="300px" data-no-zoom>
<a href="/#/zh_CN/arduino/arduino_development">
<h3>Arduino IDE</h3>
<div class="platform-tag"></div>
</a>
</div>
<div class="platform-item">
<img src="assets\img\aws-freertos-card.jpg" width="300px" data-no-zoom>
<a href="/#/zh_CN/quick_start/m5stickc/m5stickc_quick_start_with_AWS-FreeRTOS_Windows">
<h3>AWS FreeRTOS</h3>
<div class="platform-tag"></div>