Geehy APM32F103 clone of STM32F103 MCU has been tested to work without PCB or code modifications

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.

APEX Semiconductors USA and Geehy are subsidiaries of Ninestar Corporation, and either “brand” may show on the chip

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.

Share this:

Support CNX Software! Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

11 Replies to “Geehy APM32F103 clone of STM32F103 MCU has been tested to work without PCB or code modifications”

  1. 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 HAL/LL files that everyone ignores and you will see what I mean.

    So Geehy has no legal trouble here, but if you use the chip as a drop in replacement (and use the ST header files) then you certainly are liable to be sued by ST. I don’t think it will matter for hobbyists and the like, but for big companies it should be a concern.

    1. Yeah, you will need a software license from ST. Just ask them.
      As long as you stay within the stm ecosystem with new products… 🙂

    2. 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.

    3. 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.

      1. 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.“

  2. 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: “In short – avoid these cheap clones as you would the plague and get something else…”[2]

    One prolific breakout board is the notorious “Blue Pill” which can be purchased for a couple\few bucks (USD) on the likes of AliExpress.[1][2] I have had mixed results with boards like the “Blue Pill” (STM32F103) and “Black Pill” [3][4] (STM32F401 or STM32F411). The Black Pill boards seem to work better, but the low price practically guarantees the chips are fake also.

    Many Chinese Blue Pill boards still ship even today with a long-known defect. The USB D+ line R10 pull-up resistor is 4.7 kOhms instead of 1.5 kOhms. This can cause problems, especially if there is USB bootloader/programmer firmware installed. I you are having problems programming your Blue Pill, check the value of R10.

    * References:

    1. Blue Pill on STM32 World

    https://stm32world.com/wiki/Blue_Pill

    2. Blue Pill STM32 on AliExpress

    https://fave.co/3ygMRZG

    3. Black Pill on STM32 World

    https://stm32world.com/wiki/Black_Pill

    4. Black Pill STM32F411 on AliExpress

    https://fave.co/3yilWMO

  3. 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 …

    1. @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 clones exist, but I do not recommend using them, there are compatibility issues.

  4. 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.

Leave a Reply

Your email address will not be published.

Advertisement
Advertisement