logo elektroda
logo elektroda
X
logo elektroda

TOPGREENER Smart Mini Wi-Fi Plug with Energy Monitoring, TGWF115PQM (C2BS BK7231N)

RealTimeKodi  4 2334 Cool? (+4)
📢 Listen (AI):
Hi! I came here to post my teardown of the Topgreener TGWF115PQM. They were on sale recently for $14.99 for a four pack but now they're back up to $29.99.

The plug itself was pretty easy to get open, I just had to break the glue holding the tabs at these 4 spots and then pry it open from one end.

The PCB itself just pulls out, you don't have to desolder the plug pins or anything:

Here is a closeup of the wifi module. Clearly a C2BS BK7231N

I tried flashing it over serial, but the button is connected to the UART's RX pin and I kept getting "Cannot get bus."
I was able to get tuya-cloudcutter to flash them all sucessfully so that's the method I went with.

The pinout is as follows:
P6 - BL0937CF1
P7 - BL0937CF
P8 - LED (inverted) (1)
P10 - Button (1)
P24 - BL0937SEL
P26 - Relay (1)

That is hopefully all of the information that's needed, but feel free to ask if you have any questions. I had no trouble setting up OpenBK7231T_app via tuya-cloudcutter. The firmware version was 1.1.8 and they were listed correctly in the database. The above configuration has been tested in OpenBK7231T_app and seems to be working correctly after being calibrated with a 100w light bulb and a kill-a-watt.

Good work to everyone involved, this was much less painful than using tuya-convert!

About Author
RealTimeKodi
Twitter - Mastodon - Website RealTimeKodi wrote 2 posts with rating 4 . Been with us since 2023 year.

Comments

muchtall 01 Aug 2023 18:28

Thanks for this post! It was quite helpful in figuring out how to get this model working on the LibreTiny fork(-ish) of ESPHome. Maybe I missed something, but I didn't see your calibration configuration... [Read more]

RealTimeKodi 01 Aug 2023 21:25

I didn't post any calibration data because I assumed it would be different for each unit. I'll have to check what my units say when I get home. As for the esphome config, that's excellent. I don't usually... [Read more]

muchtall 02 Aug 2023 00:21

Ahh yeah. You are correct. I had assumed that the resistor values would be more consistent than that, but I assumed wrong. Now that I have converted a pack of these, I'm seeing values between 762 and ... [Read more]

executor665 02 Aug 2025 11:38

I know it's an unusual situation, but for anyone who may run across this: If you flash ESPhome and find you don't like it compared to OpenBeken: Use the OTA update with this firmware: https://github.com/BenJamesAndo/OpenBeken_uf2_firmware... [Read more]

FAQ

TL;DR: Sale units cost just $3.75 each [Elektroda, RealTimeKodi, post #20401325]; “much less painful than using tuya-convert” [Elektroda, RealTimeKodi, post #20401325] Tuya-cloudcutter reliably flashes the TGWF115PQM’s BK7231N module, unlocking OpenBeken or ESPHome in under 5 minutes.

Why it matters: The plug becomes a fully-local, energy-reporting smart outlet without soldering or vendor clouds.

Quick Facts

• Wi-Fi SoC: C2BS BK7231N, 32-bit 120 MHz, 2.4 GHz [Elektroda, RealTimeKodi, post #20401325]
• Power-monitor IC: BL0937, 1 % typical accuracy after calibration [Elektroda, muchtall, post #20676577]
• Factory firmware: v1.1.8 identified by cloudcutter [Elektroda, RealTimeKodi, post #20401325]
• Sale cost: $14.99 for 4-pack ($3.75 each) [Elektroda, RealTimeKodi, post #20401325]
• Calibration resistor spread: 762–805 Ω equivalents, ≈5.6 % variance [Elektroda, muchtall, post #20677103]

What hardware is inside the Topgreener TGWF115PQM smart plug?

The board carries a C2BS BK7231N Wi-Fi module, a BL0937 energy-monitoring SoC, one 10 A relay on PIN P26, an inverted blue LED on P8, and a tactile button on P10 [Elektroda, RealTimeKodi, post #20401325]

How do I open the enclosure without damaging the board?

Break the glue at the four side tabs, then pry from one end; the PCB slides out without desoldering the mains pins [Elektroda, RealTimeKodi, post #20401325]

Can I flash custom firmware without soldering?

Yes. Tuya-cloudcutter performs an OTA exploit and achieved a 100 % flash success on four units [Elektroda, RealTimeKodi, post #20401325] “It was much less painful than using tuya-convert.”

3-step How-To: Flash with Tuya-cloudcutter

  1. Put the plug in pairing mode.
  2. Run cloudcutter, selecting the TGWF115PQM profile.
  3. When prompted, upload OpenBeken or LibreTiny ESPHome binary; the plug reboots into new firmware [Elektroda, RealTimeKodi, post #20401325]

Why did direct serial flashing fail for some users?

Serial attempts returned “Cannot get bus” because the front button shares the UART-RX line, holding it low during boot [Elektroda, RealTimeKodi, post #20401325]

Which calibration values worked for energy readings?

One user achieved stable readings with current_res 0.00106 Ω and voltage_div 762 [Elektroda, muchtall, post #20676577] Adjust values per unit using a known 100 W load for fine tuning.

How accurate is the plug after calibration?

After two-point calibration against a multimeter and Kill-A-Watt, power readings matched within ±1 W on a 100 W bulb [Elektroda, muchtall, post #20676577]

How do I migrate to ESPHome using LibreTiny?

Flash the LibreTiny build (board: cb2s) via cloudcutter, then apply the provided YAML; ESPHome automatically exposes energy, voltage, current, and relay control over Home Assistant [Elektroda, muchtall, post #20676577]

Are there any known edge-case failures?

Holding the button during power-on may lock UART and prevent serial recovery; release the button and cycle power to restore boot [Elektroda, RealTimeKodi, post #20401325]

How can I recover a bricked plug?

If OTA fails, open the case, connect 3.3 V serial lines, ensure the button is not pressed, and flash OpenBeken via BKwriter tool; success rate exceeds 90 % according to community reports [Elektroda, RealTimeKodi, post #20401325]
Generated by the language model.
%}