Geehy APM32F103 is a clone of STMicro STM32F103 MCU that has been tested by at least one person who claims it was just a drop-in replacement and PCB, code, hex, testing, and production did not have to be changed at all.
Most STM32 microcontrollers are in short supply with 52+ weeks lead times and prices going through the roof, so people may be looking into the long list STM32 clones and fakes including APM32F103. They all claim to be pin-to-pin and firmware compatible, but when theory meets reality, things may go wrong. For instance, last year I had a conversation with one person who switched to GD32 microcontroller and had all sorts of issues (translated from French):
I ordered samples from the GD32F103RCT6 (LQFP64) “clone”, tested them, and it’s a catastrophe… Out of 6 chips, I only managed to flash one. And that one will not boot either. I’ve dived into the firmware, but I can’t really see what causes the problem. We also use mBed which makes the task even more difficult…
There may be variants and issues with specific production batches, as when Olimex tried the GD32F103RBT6 on their boards (in 2015) it worked out of the box.
The reason I’m writing about APM32F103 today is that Veeral Purohit tested Geehy APM32F103CBT6 successfully as a replacement for STM32F103C8 without having to make any modifications:
Currently ST’s STM32 series microcontrollers have over a 1 year long lead times our production stopped for many products in which we used it regularly.
We kept finding an alternate part and finally success with this part APM32F103CBT6 from Geehy. Our goal was to find a equivalent part by which we could just replace it without changing our PCB, Code, Hex, Testing and production. This part is the answer to our quest finally settled. Hope you can start your production again with this STM32 equivalent part.
This APM32F103CBT6 devices works out of box with same ST-Link programmer as well as same HEX file and source code that is made for STM32F103C8 without changing anything in our setup or production.
An important note is that Veeral works for Sunrom, an electronics distributor in India, which also happens to sell the APM32F103CBT6 chip… It might still be worth testing that part on your design if the STM32 equivalent is hard to get. One user on LinkedIn commented that it may be an illegal counterfeit instead of just a clone as it’s compatible with ST-Link without a license from STMicro:
When it works with stlink and same datasheet applies to it. It’s so called as counterfeit. Reliability is at our own risk . Cannot expect the cat to be tiger . However if we believe it works as stm , we can believe as always .
That specific part is also available on LCSC for about $3.5, or lower when ordering in quantity. You may also see all ATM32F103 models on Geehy website.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
It isn’t (at least in most countries that I know of) illegal to make a compatible chip as long as it isn’t a stolen, direct 1:1 mask copy or something like that, and as long as you don’t put the other company’s logo on it (for example, TI makes a MAX232 chip which literally has this part number). So Geehy is in the clear in that respect. However, what *is* clearly illegal is when you (ie electronics manufacturer/designer) flash ST code to a non-ST device – have a read of the license statement at the top of all the STM32… Read more »
Yeah, you will need a software license from ST. Just ask them.
As long as you stay within the stm ecosystem with new products… 🙂
Well, if you, as engineer, use ST software to flash a non ST MCU, it is you breaking the license agreement. Not this company.
That’s why open source and less restrictive licenses are so important, I guess.
Sorry, but thats obviously wrong. The HAL/LL part is under BSD-3-Clause license, you can use whatever chip you want, see e.g.:
https://github.com/STMicroelectronics/stm32f1xx_hal_driver/blob/master/LICENSE.md
The only part which is under their ridiculous “Ultimate Liberty License” (all actual liberties removed) is their “USB Middleware”:
https://github.com/STMicroelectronics/stm32_mw_usb_device/blob/master/LICENSE.txt
This you can’t use on non-STM parts (and you have to make sure nobody else puts it on a non-STM part, at least via an explicit agreement), and you are not allowed to link it to any GPLed (any version) code.
Interesting, you are correct. It must have changed since I last saw it or I am remembering wrong. However, it does say this when downloading anything from the ST website (like STM32Cube, which is where you used to access the libs from):
“You acknowledge and agree that any use, adaptation translation or transcription of the Licensed Software or any portion or derivative thereof, for use with processors manufactured by or for any entity other than ST is a material breach of this Agreement.“
Testing a Chinese “clone” STM32 chip against a real one is a nearly impossible job, especially for one person. There are hundreds of registers with endless options plus multiple on-die busses and connection matrices. The only way I would begin to believe a claim that a STM32 clone is a “drop-in replacement” for a real part would be if I knew the ODM’s tape-outs and/or masks had been stolen. Chinese “clone” STM32F103 chips have been around for what seems like forever. Too bad the never-ending chip shortage is pushing some people to try using them (risky). As STM32World puts it:… Read more »
A quick check of APM’s datasheet shows it may have (probably) some sames issues as GD32 devices, especially clock & timing: bus speeds are different, internal RC speed is different so any time sensitive code need be adjusted.
And more obscure things may happen: GD32 gave me a few day debug because its reset timing difference with STM32 …
As an Microcontroller what IDE or programing language is on it?
For STM32 MCU, people tends to use STM32CudeIDE and programs in C or C++
@Lamsadi said: “As an Microcontroller what IDE or programing language is on it?” Typically C/C++ is used to program these microcontrollers. The ST Official IDE is STMCube: https://www.st.com/en/ecosystems/stm32cube.html Another popular option is one of many STM32duino cores that plug into the Arduino IDE: STM32duino – Arduino cores for STM32 MCUs https://github.com/stm32duino/Arduino_Core_STM32 https://www.stm32duino.com/ The problem these days is it’s almost impossible to buy real STM32 chips due to the never ending shortage. The Espressif ESP32/ESP8266 are still available and so are the Raspberry Pi Pico chips. So many developers are moving away from the likes of the STM32 chips. Chinese STM32… Read more »
“without a license from STMicro”
Just replace STM32 with a fully open source design based on RISC-V.
STM tools are proprietary crap anyway, including their flashers.