MCU32F1: Difference between revisions

From BlaatSchaap Wiki
Jump to navigationJump to search
Updates notes about incompatible parts
m Add links to STM31F2 and HK32
 
Line 5: Line 5:
Data needs to be copies from the old wiki ( https://pmwiki.blaatschaap.be/pmwiki.php/Microcontrollers/MCU32F1 ) and updated.
Data needs to be copies from the old wiki ( https://pmwiki.blaatschaap.be/pmwiki.php/Microcontrollers/MCU32F1 ) and updated.


* STM32F103
* [[STM32F1|STM32F1xx]]


* APM32F103
* APM32F103
Line 14: Line 14:
* FCM32F103
* FCM32F103
* GD32F103
* GD32F103
* HK32F103
* [[MH32|HK32F103]]
* MG32F103  (not drop-in compatible, completely different peripheral memory map)
* MG32F103  (not drop-in compatible, completely different peripheral memory map)
* MH32F103
* MH32F103

Latest revision as of 16:42, 17 May 2026

This page discusses STM32F1 compatible microcontrollers, sometimes referred to as clones.

While most of the xxx32F103 MCUs are drop-in replacements, there are exceptions to this rule.

Data needs to be copies from the old wiki ( https://pmwiki.blaatschaap.be/pmwiki.php/Microcontrollers/MCU32F1 ) and updated.

  • APM32F103
  • BLM32F103 (marked not compatible in the past, needs more investigation)
  • CH32F103
  • CKS32F103
  • CS32F103
  • FCM32F103
  • GD32F103
  • HK32F103
  • MG32F103 (not drop-in compatible, completely different peripheral memory map)
  • MH32F103
  • MM32F103 (not drop-in compatible, minor changes in the RCC, other peripherals not investigated)
  • MS32F103
  • RX32F103 (marked not compatible in the past, needs more investigation)

Memory Map

System Memory

The system memory is located at 0x1FFFF000 to 0x1FFFF7FF.

It contains the boot rom, this is the internal bootloader which can be entered using the BOOT pins.

At location 0x1FFFF7E0 the flash size is stored.

At location 0x1FFFF7E8 the serial number is stored.

This memory is programmed during production and cannot be altered by the user.


The content of this memory area is one way to identify the MCU we are running on, as it contains the internal bootloader, a different manufacturer puts their own code in there, however, some of them have copied ST's bootloader.

Furthermore, there may be some more identifying bytes in there. It seems for MegaHunt's MCUs the Serial Number contains some identifying information. Also on the APM32, there is a value at location 0x1FFFF7D0. While Geehy has their own bootloader, older ApexMic versions has ST's.

Option Bytes

The option bytes are located at 0x1FFFF800