MismarkedSTM32F030

From Stm32World Wiki
Jump to navigation Jump to search

Yesterday (2024-04-09) I received delivery from JLCPCB with many boards (~10 different types). One of those boards have a STM32F030, WS2812B and two RS485 transceivers and nothing much else. I had ordered 5pc as this going to be used in a custom machine, and I only need one board. Since I have made dozens, if not over a 100 orders from JLCPCB by now, I didn't check the boards much more than cursory glance that components are there and not out of placement.

Hooked it up to my DIY STM32 Programmer (ST-Link/V2-1) and got it recognized in `st-info` as a `STM32F09x`. That was odd. I tried to figure out if I had accidentally placed the wrong Cnnnnn number in the BOM, and whether JLCPCB was out of stock and had made a last minute replacement with equivalent part... After checking the other 4 boards, it turns out that ONLY ONE had this (apparent) fake component. Which is in a way even more concerning than if all 5 were wrong, in which case it could have been an honest mistake by staff.

I submitted a so called "Quality Complaint" (a button on your order) to JLCPCB, where I stressed that I am not looking for monetary compensation (it really makes no difference to me) and that I urge them to find the root cause of this. It is quite obvious when the wrong microcontroller is placed on the board, but what-if it was protective components, power regulators or precision resistors.

JLCPCB came back and sent me the AOI images after soldering, and all 5 MCUs were marked correctly, including have a serial number as some type of QR-code-like symbol and they all looked different, which is something I think a fake chip wouldn't bother with. I couldn't have asked for more. So, the issue is with ST Microelectronics themselves and NOT JLCPCB's fault.

I contacted ST's support and got the following reply

   hi,
   regarding to STM32F0 chips, there is a device ID located at 0x40015800 address.
   you can read the content of device ID which is combined with REV_ID and DEV_ID.
   If the DEV_ID is 0x442, the chip might be STM32F09x which is compatiable with STM32F030 with larger memory size.

I replied

   So, "STM32F030" stamped on the outside, could still have a "STM32F09x"
   on the inside? 

And final message on the topic

   hi,
   To be honest, I do not recommend using it as STM32F09x. It is advisable to use it 
   according to the recommendations and the information provided by the silkscreen from
   the official vendors. After all, the STM32F09X has more features and a larger FLASH 
   capacity than the STM32F030. It is not excluded that they are the same die, 
   differentiated into various product numbers based on different tests.