STM32: Released by STMicroelectronics on June 11, 2007, it is a 32-bit microcontroller.
GD32: Released by GigaDevice in 2013, it closely imitates STM32 in chip development, configuration, and naming. In fact, the GPIO pins are pin-to-pin compatible with STM32, meaning you can use GD32 without altering the PCB. Sometimes, you can run STM32 source code on GD32 without modification, just recompiling and flashing it. However, there are many differences, such as serial port drivers, USB, library files, etc.
ESP32: Developed by Espressif in 2017, ESP32 is different from STM32 and GD32, as it is mainly aimed at the Internet of Things (IoT) field. It supports many functions, but has relatively few GPIO pins, which often have multiple functionalities. It comes with Bluetooth and WiFi integrated, making it suitable for IoT applications, and its compact size is an advantage.
GD32 is a domestic microcontroller, reportedly developed by engineers from ST. GD32 was also created using STM32 as a template. Therefore, there are many similarities between GD32 and STM32, but GD32 is a distinct product and cannot replicate everything from STM32. The differences include:
1. Core
GD32 uses a second-generation M3 core, while STM32 primarily uses a first-generation M3 core. The following is a correction sheet from ARM for the M3 core, and GD’s core has only one bug: 752419.

2. Clock Frequency
Using HSE (High-Speed External Clock): GD32 has a maximum frequency of 108M, while STM32 has a maximum frequency of 72M.
Using HSI (High-Speed Internal Clock): GD32 has a maximum frequency of 108M, while STM32 has a maximum frequency of 64M.
A higher clock frequency means faster execution of microcontroller code. If your project requires screen refresh, square root calculations, motor control, etc., GD is a great choice.
3. Power Supply
External power supply: GD32 has an external power supply range of 2.6~3.6V, while STM32 has a range of 2.0~3.6V or 1.65~3.6V. GD’s power supply range is somewhat narrower than STM32’s.
Core voltage: GD32 has a core voltage of 1.2V, while STM32’s core voltage is 1.8V. GD’s core voltage is lower than STM32’s, resulting in lower power consumption during operation.
4. Flash Differences
GD32’s Flash is independently developed and differs from STM32’s.
GD Flash execution speed: GD32 Flash executes programs with 0 wait cycles.
STM32 Flash execution speed: ST’s system frequency does not access flash, resulting in wait times: 0 wait cycles when 0<SYSCLK<24MHz; 1 wait cycle when 24MHz<SYSCLK≤48MHz; 2 wait cycles when 48MHz<SYSCLK≤72MHz.
Flash erase time: GD takes longer to erase; the official data states that for GD32F103/101 series Flash models with 128KB and below, the typical Page Erase time is 100ms, with actual measurements around 60ms. In comparison, ST’s products have a typical Page Erase time of 20~40ms.
5. Power Consumption
The table below shows that GD’s products have lower operational power consumption than STM32 at the same clock frequency. However, under the same settings, GD’s shutdown, standby, and sleep modes consume more power than STM32.

6. Serial Port
GD introduces a Bit Idle between every two bytes during continuous data transmission, while STM32 does not, as shown in the following figure:

GD’s serial port supports only 1/2 stop bits during transmission, while STM32 supports 0.5/1/1.5/2 stop bits. These two differences in USART between GD and STM32 do not significantly affect communication, but GD’s communication time will be slightly longer.
7. ADC Differences
GD’s input impedance and sampling time settings differ from ST’s. With the same configuration, GD’s sampling input impedance is relatively lower. The following table shows the relationship between input impedance and sampling period at a clock frequency of 72M and ADC sampling clock of 14M:

8. FSMC
STM32 only has FSMC for large capacity (256K and above) with more than 100 pins, while GD32 has FSMC available for all products with 100 pins or more.
9. RAM & Flash Size Differences in 103 Series
The comparison of RAM and flash between GD103 series and ST103 series is shown in the following figure:

10. Differences Between 105 & 107 Series STM32 and GD
GD offers significantly more options in the 105/107 series compared to ST, as shown in the following table:

11. Anti-Interference Capability
GD’s anti-interference capability is inferior to STM32 and requires further refinement.
ESP32 is a chip featuring a dual-core system composed of two Harvard architecture Xtensa LX6 CPUs. All on-chip memory, external memory, and peripherals are distributed across the data and/or instruction buses of the two CPUs.
Compared to STM32’s extensive family, ESP32 represents a series with currently fewer members. Let’s take a look:

Resources are as follows:



The functional block diagram is as follows:

The pin distribution of the ESP32 module (not the chip) is as follows:

The ESP32 module has a limited number of IO pins, around 30 (the chip has 34, but some are used for external FLASH). However, it has several notable features:
1. It integrates a wide variety of peripheral interfaces including SPI, IIC, IIS, AD, DA, PWM, IR, UART, CAN, etc. Due to the limited number of IO pins, each pin has multiple functions.
2. It has a large on-chip flash and RAM, with 448KB flash and 520KB RAM. The module also includes a 4MB flash.
3. It operates quickly! Although the external crystal frequency is only 40MHZ, the internal clock can support frequencies of 80MHZ, 160MHZ, and 240MHZ, with a computing capacity of up to 600MIPS.
4. It features WiFi and Bluetooth, although both cannot be used simultaneously.
STM32 and ESP32 are fundamentally positioned differently. ESP32 is compact, fast, and powerful, designed for IoT with WiFi connectivity, while STM32 is pin-rich and versatile, lacking WiFi and Bluetooth but can connect via Ethernet, allowing control of more peripherals, aimed at consumer electronics and industrial control.
STM32 and GD32 are homologous products, one being foreign and the other domestic. With the recent trend towards domestic alternatives, GD32 has significant development potential.
The Internet of Things is also a promising direction, making ESP32 a product with great prospects.
Activity Rewards:
Upload more than 2000 materials: Reward of 500 RMB JD Card
Upload more than 1200 materials: Reward of 350 RMB JD Card
Upload more than 700 materials: Reward of 200 RMB JD Card
Upload more than 300 materials: Reward of 100 RMB JD Card
During the activity, the user with the most downloads of uploaded materials will receive500 RMB JD Card + 1000 e-coins
Activity Period:2022.9.22 -2022.12.20
Scan to participate in the material upload activity
