FAQ
TL;DR: Set the CB3S module to 9600 bps, add tuyaMcu_defWiFiState 4
, and 100 % of the PH-W218’s 16 data-points appeared within one reboot—“nothing else was missing after the trace fix” [Elektroda, Nordlicht77, post #21146858] Why it matters: correct UART settings turn a ‘dead’ tester into a full-featured Home-Assistant sensor in under 10 minutes.
Quick Facts
• Wi-Fi SoC: Tuya CB3S (BK7231N/BK7231T) [Elektroda, Upright6771, post #21131505]
• Default MCU baud: 9 600 bps; some boards need 115 200 bps [Elektroda, alfredtorch, post #21203138]
• Flash size: 2 MB – always take a raw backup before modding [Elektroda, p.kaczmarek2, post #21132998]
• Supported datapoints: 24 (Temp, pH, EC, TDS, ORP, CF, RH, alarms) [Elektroda, Upright6771, post #21131505]
• Typical power for flashing: ≥3 V / 350 mA; weak FTDI causes AP loss [Elektroda, Upright6771, post #21134812]
What hardware is inside the PH-W218 Wi-Fi 8-in-1 tester?
Main board hosts a Tuya CB3S module (BK7231N Wi-Fi SoC) connected via UART to a secondary STM-like MCU that drives the sensors and three LCDs [Elektroda, Upright6771, post #21131505]
How do I make a full firmware backup before flashing?
- Wire CB3S TX–RX, RX–TX, VCC, GND to a 3 V3 FTDI. 2. Hold CEN low and power the board. 3. Run BK7231GUIFlashTool, select 2 MB read, click Start, then release CEN. The tool saves a raw
.bin
you can later restore [Elektroda, p.kaczmarek2, post #21132998]
Which UART baud rate should I set in OpenBeken?
Try 9 600 bps first—“values started to flow after tuyaMcu_setBaudRate 9600
” [Elektroda, alfredtorch, post #21203138] If heartbeat packets stay invalid, change to 115 200 bps and power-cycle.
Why are all sensor readings zero?
MCU will not push data until it thinks Wi-Fi is cloud-paired. Add tuyaMcu_defWiFiState 4
, configure MQTT, then send tuyaMcu_sendQueryState
. Channels populate instantly [Elektroda, Upright6771, post #21135039]
How do I link Tuya datapoints to Home Assistant automatically?
Insert in autoexec.bat:
startDriver TuyaMCU
linkTuyaMCUOutputToChannel 106 val 4 # pH
publishFloat ph $CH4/100 0 2 # HA sensor
OpenBeken’s discovery packet publishes to MQTT; HA adds entities without YAML [Elektroda, p.kaczmarek2, post #21137789]
The LCD works but Web GUI shows nothing—what now?
Check physical RX/TX continuity; hairline cracks on CB3S pads killed communication until re-soldered [Elektroda, Nordlicht77, post #21146858]
Flasher says “non-standard encryption key” – can I still flash?
Yes. Switch GUIFlashTool to BK7231M mode; most CB3S chips with custom keys still accept erase/write after the mode change [Elektroda, Nordlicht77, post #21166867]
How can I reset pH calibration to factory values?
Under stock Tuya firmware use TuyaSmart App → Device Settings → Remove & Wipe Data. On OpenBeken send tuyaMcu_sendState 106 2 700
(example 7.00 pH) to overwrite calibration registers [Elektroda, p.kaczmarek2, post #21508816]
Numbers show three decimals; I need two. What’s the fix?
Use publishFloat sensor_name $CHx/100 0 2
—the last parameter tells OpenBeken to round to two decimal places [Elektroda, p.kaczmarek2, post #21138792]
Edge case: flashing succeeds but AP never appears.
The FTDI’s 5 V line cannot source the inrush current; power the board from a stable 3 V3 lab supply or the device’s own PSU, then the AP SSID reappears [Elektroda, Upright6771, post #21134812]
How do I push alarm thresholds every boot without flooding UART?
How-To:
- Add
delay_s 2
after boot.
- Call
tuyaMcu_sendState 102 2 2500
(25.0 °C max) once.
- Repeat per datapoint; avoid
addRepeatingEvent
loops that resend every 15 s [Elektroda, p.kaczmarek2, post #21147072]
Can other Yieryi Wi-Fi meters be converted the same way?
If the board uses a CB3S/BK7231 module and lists Tuya datapoints, the flashing and autoexec steps are identical; only dpID numbers may differ. Always dump the original firmware first [Elektroda, Dinner, post #21600508]
What statistic shows OpenBeken’s reliability on this device?
After the UART-trace repair, 100 % of 16 channels updated correctly across multiple restarts at 9 600 bps [Elektroda, Nordlicht77, post #21146858]
How do I format TDS values that appear 10× too low?
Some firmware sends µS/cm divided by ten. Multiply before publishing: publishFloat tds $CH7*10 0 0
to restore the true reading [Elektroda, Nordlicht77, post #21148556]
LCD shows data but TuyaMCU log is silent—what flag may be wrong?
Ensure the “Use second UART” checkbox is OFF; when enabled it disconnects the primary RX/TX pins from TuyaMCU [Elektroda, p.kaczmarek2, post #21144336]