Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Grohe Blue Home — Hacked Edition

Disclaimer: This project involves reverse engineering a proprietary product and modifying mains-connected hardware. This work should only be carried out by qualified professionals with the appropriate electrical and electronics expertise. Incorrect wiring or component selection can result in electric shock, fire, or serious injury. Use entirely at your own risk. You may void your warranty, damage your device, or cause injury or death. No liability is accepted for any damage resulting from this project.


The Story

After my Grohe Blue Home's main PCB failed, I contacted Grohe support hoping to get a replacement board. No luck — Grohe's only offer was to buy a completely new unit. Rather than throwing away an otherwise functional appliance, I reverse engineered the PCB, designed my own replacement, and built it around a NodeMCU (ESP8266) module.

The result is a fully functional smart water dispenser with a web interface and API.


Hardware

Power Supply

The Grohe Blue Home runs on 24V AC from its internal transformer. You need to convert this to two DC rails:

  • 24V DC — for the solenoid/diaphragm pumps
  • 5V DC — for the NodeMCU and sensors

Mount both converters where the original PCB sat. The original PCB footprint has enough space if you use compact step-down modules.

Pumps

There are three 24V DC pumps to control. Wire them as follows:

Wire colour Function
Brown GND (−)
White / Green +24V DC (switched)
Grey Water in GND (−)
Yellow Water in +24V DC

Important: Start with DC-capable MOSFET trigger boards — not relays. Relays work initially but fail within a few weeks under the switching frequency and inductive load. MOSFET trigger modules are far more reliable here.

Use one MOSFET trigger per pump (three total) switched from NodeMCU GPIO pins:

NodeMCU pin Pump
D2 Water pump (DC)
D4 Water output pump
D0 CO2 output pump

Compressor Pump

The compressor pump runs on AC. Use an AC-capable MOSFET (e.g. a BTA16 or similar TRIAC/MOSFET board) to switch it safely from a low-voltage GPIO signal.

NodeMCU pin Pump
D3 AC filter/compressor pump

Sensors

Connect both digital sensors to the NodeMCU:

NodeMCU pin Sensor
D7 CO2 pressure sensor (HIGH = alarm, LOW = OK)
D6 Moisture / leak sensor (HIGH = dry, LOW = wet)

Both sensors are binary — no additional circuitry required beyond a pull-up if your module doesn't include one.

Tap Cable

This was the trickiest part. The cable running to the tap has five wires:

Wire colour Function
White GND
Green 5V DC
Brown A0 (analog signal from hall sensor)
Yellow Unknown — not yet decoded
Dark brown Unknown — not yet decoded

The tap contains a hall effect sensor that generates pulses when you touch it. These pulses are read on the NodeMCU's A0 pin with fast oversampling to detect a touch event reliably.

Known limitation / open TODO: Only basic single-touch detection is working. The tap's LED ring no longer functions, and the yellow and dark brown wires have not been decoded. Multi-touch gestures are not yet implemented. Contributions and reverse engineering help are very welcome.


Features

Web User Interface

A responsive dark-themed web UI is served directly from the NodeMCU on port 80. It works on mobile and desktop browsers.

Three pages:

  • Home — one-tap presets: Water, Water + CO2, CO2 only
  • Pumps — granular control; select any combination of the four pumps and set duration
  • Settings — configure WLAN credentials, pump startup delays, duration presets, reboot

Hall Sensor Touch Control

The tap's hall sensor is wired to A0. When a tap is detected (voltage drops below the threshold), the NodeMCU triggers the configured pump sequence automatically — no phone required. This can be enabled or disabled from the Settings page.

Simple Touch Interface — 3-Button Presets

The home page offers three quick-launch buttons matching the original Grohe experience:

  1. Water — runs the water pump for the selected duration
  2. Water + CO2 — runs water and CO2 together
  3. CO2 — CO2 flush only

The Pumps page gives full control: tick any combination of the four pumps and pick an exact duration.

Configuration

All settings survive reboots (stored in EEPROM):

Setting Description
WLAN SSID / Password Station mode credentials
Pump startup delays Per-pump stagger delay (0–5000 ms)
Duration presets Five configurable quick-duration buttons
Post-flush offset Seconds between the DC/AC pumps and the WATER_OUT/CO2_OUT valves switching off at cycle end (0–60 s), plus a mode: DC/AC stop later (default) or earlier than the valves
A0 logic Enable / disable hall sensor trigger
Reboot One-tap reboot from the UI

If the NodeMCU cannot connect to your network it falls back to Access Point mode:

  • SSID: GroheBlueHome
  • Password: grohe1234

Connect to this AP and open http://192.168.4.1 to configure your WLAN.

API

Automate or integrate the dispenser with any home automation system:

Endpoint Method Description
/api/status GET JSON: CO2 state, moisture, pump active, time remaining, A0 voltage
/api/run GET Start the currently selected pump sequence
/api/stop GET Stop all pumps (with automatic post-flush)
/run POST Start pumps — params: p1, p2, p3, p4, duration
/stop POST Stop all pumps
/savewifi POST Update WLAN credentials
/saveconfig POST Save pump delay settings
/savedurslots POST Update duration preset values
/savepostflush POST Update post-flush offset (seconds) and mode
/reboot POST Reboot device

Status response example:

{
  "co2": "OK",
  "moisture": "dry",
  "pump": true,
  "remaining": 12,
  "voltage": 3.8
}

OTA Firmware Updates

Firmware can be flashed over WiFi using Arduino IDE's OTA feature:

  • Hostname: GroheBlueHome
  • OTA password: GroUp123

Bill of Materials

Component Notes
NodeMCU 1.0 (ESP-12E) Main controller
24V AC → 24V DC converter Powers the pumps
24V DC → 5V DC step-down Powers NodeMCU
3× DC MOSFET trigger module One per 24V DC pump
1× AC MOSFET / TRIAC module For compressor pump
Wiring, connectors, enclosure To taste

Contributing

The biggest open item is the tap LED ring and full touch gesture decoding. If you have a logic analyser capture of the original PCB's tap cable signals, or you have successfully decoded the protocol, please open an issue or pull request — it would complete this project.

All contributions are welcome.

About

NodeMCU to replace the main board - Hacked Edition of Grohe Blue Home

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages