Question
Identify STM8 microcontrollers on a BLDC ceiling fan motor-driver PCB (third-party - Atomberg fans)
I'm trying to identify an STM8 microcontroller on a BLDC ceiling fan motor-driver PCB (JV2-Gorilla-2017 Atomberg fan appliance board, not an ST eval board), with the goal of confirming whether I can reprogram it via the exposed SWIM header.
What I've confirmed so far:
- A 4-pad unpopulated header silkscreened SWIM / RST / 3V3 / GND
- Two TSSOP-20 ICs on the board (designators U3 and U4 in silkscreen)
- U4 shows a visible STMicroelectronics logo under magnification, but the part-number text beneath it is too worn/corroded to read reliably even after cleaning with isopropyl alcohol and raking light
- U3's top marking is fully illegible (possibly unbranded, possibly just more worn)
- Board also has a separate 8-pin SOIC gate-driver-looking IC, a 3-pin Hall-sensor connector, and a 3-phase MOSFET bridge under a heatsink — consistent with a BLDC commutation + speed-control board
Questions:
- Given only a TSSOP-20 package and a genuine ST logo, is there a way to narrow down which STM8 family/part this likely is (e.g., is STM8S003F3/S103 the most common TSSOP20 choice for cost-optimized appliance control, or are there other likely candidates I should consider)?
- Is there a reliable way to identify the exact part purely over SWIM (e.g., via STM32CubeProgrammer or STVP reading the device ID/flash size from silicon) without needing to read the marking at all? If so, what's the exact procedure/settings for connecting an ST-LINK in SWIM mode to an unknown STM8 target?
- If the part turns out to have read-out protection (ROP) enabled — which I'd assume for a mass-produced consumer appliance — is dumping the original firmware realistically impossible, or are there legitimate documented recovery paths?
- Any gotchas connecting SWIM to a board like this that's mains-referenced (i.e., isolation concerns between my ST-LINK/PC and the board while probing)?
Appreciate any pointers — happy to share close-up board photos if useful.




