Aqualisa Digital processor DIY WiFi

I was wondering if anyone out there has any idea what the control lines of a Aqualisa are using for communication (i.e. Serial or proptiettry communication) If not I will take a look at an old unit in storage over the next month and report back my finding while using a logic analyser.

From what I’ve see no far I would guess at something like RS485 as it’s a bus multiple devices can connect to (Mixer, Control and Processor)
A company going by the name Ourbathroom have created a replacement control interface that converts any aqualisa Digital processor to WiFi and adds functionality. I’m hoping that we can do the same with ESPHome

I’d be super keen to help out with this, though I don’t have an analyser, I do have two showers… one older quartz classic and a newer quartz smart.

I am aware of the existing integration spoofing the app, but I’d much prefer a hardware local interface.

I have a Optic Q fitted and a Quartz classic in storage for this project.
I also have a saleae logic 8 that will hopefully be up for the task.

If your happy to help out, I will get the system setup in the next couple of days and capturing some of the data sent from the user control to “Digital processor” and hopefully we will be able to spot some patterns.

I’m assuming the 4 line RJ9/RJ11 is carrying 5v, Gnd and some form of serial protocol, hopefully TTL, RS232 or RS485

I agree with the local control, the current spoofing of the app, or redirecting to a local MQTT server feels a bit rough and possibly something that could be patched out in the future. It also requires one of the Pink “Digital Processors” for WiFi. Ideally I’m hoping we can make a ESP8266/ESP32 module that sits in-between the buttons and the Digital Processor, regardless of having WiFi built in, and allowing full control from a user defined MQTT server or web page. Even better if it can add functionality to the somewhat crippled Optic Q (lack of profiles, no ability to set default temperature, or water usage to eco or high flow)

I totally agree - I have one pink & one black. The previous owner had cut the control cables so they are all readily accessible in an “electical-taped up choc-block mess” which this gives me the perfect excuse to remedy! :slight_smile:

I think we may have given them a bit too much credit for the “bus protocol”.

I split open the remote switch for my classic today, its just discrete electronics.

It looks to me like (totally untested!)
Yellow +5v
Black -ve
Red (command shower start/stop)
Blue (led signal)
Green & White Not connected (in this remote switch)

Resistor Values:
R1 - R4 150 ohm
R5 - 1K ohm
Nothing Visible on Q1

Supporting this - here is a post about a visage controller: Aqualisa Visage out of control - MENDED | DIYnot Forums

Looking at the circuit board it broadly follows what is in the Quartz remote start button.

Sadly where the green yellow and black traces go under the variable resistor we are down to guess work - but certainly the blue LED signal is consistent across both.

This one does appear to switch differently - whereas the quartz remote switches yellow and red with a 1K load, the visage seems to take a NC +ve (yellow) 1k on the red pin down to -ve (black) on button push - perhaps this is so the processor can see the difference between a master/remote command?

In any case, some resistive value sent on the green wire would appear to control temperature.

My guess therefore is that white perhaps controls which output valve is activated ?

From what I can tell of the “Our Bathroom” controller is it uses the basic black control unit, that should be the same as the Quarts and Visage based controls, so I would have to guess from what you have found so far that the unit takes an analogue value from a potentiometer, and a few digital lines for LED feedback (blinking when coming to temperature, solid when at the desired temperature)

If the weather is bad tomorrow or over the weekend I will spend some time looking over the unit and see what can be done to control the mixer without the hand unit. (I should probably take apart the hand controller too, as I assumed it was at least partially digital)

Though if it’s this basic a system, hopefully we can control the temperature via a PWM signal with smoothing to generate a analogue voltage. If not digital potentiometers could be the next best thing.

Just grabbed a few pics of the inside of Quartz (Divert?) unit I have, that used the Black “Digital processor”





I would be intrigued to see the insides of a controller with Flow control such as HiQu, Infinia or llux.

I’m hoping we can get basic control over start/stop, set temperature (analogue voltage), set boost flow (can we use analogue here too?), read temperature state (i.e. heating or ready)

Converted the PCB I have into a schematic with part numbers where possible. The black chips are FDV301N Mosfets
The potentiometer is a Bornes 3310Y-125-103L

Button input rests at VCC/2, Assuming that VCC is 5v, that would normally be 2.5v. One button pulls the voltage to 0.4V, the other pulls the voltage to 4.6V

Visage schematic, looks like it pulls pin 3 to 5v at rest (presumably the “Digital processor” checks the state of the pin at boot to determine functionality?)
and shorts to GND when pressed (this schematic looks wrong compared to the other two schematics that pull High (~4.6v) to trigger the Start/Stop, or Low (~0.4v) to trigger Boost)

image

Schematic of the Quarts Classic remote using the image you posted
image
Errata: R5 is 1K

I think hardware control over the Aqualisa (Black) “Digital Processor” should be rather strait forwards.
We can use a Tri-State GPIO with a pair of 10k resistors, to give 2.5v at rest, that would let us start/stop and boost. (Edit:forgot ESP is a 3.3v device… this won’t work that easily) We need some way to output 2.5v at rest/boot, and pull to 5v or 0v (possibly other levels too, depending on how the Diverter and Flow control actually works)

The temperature control will need either a X9C digital potentiometer, or a way of controlling an analogue voltage (Software PWM, Hardware PWM or Hardware DAC )
Reading the temperature could be reading the state of the LED output from the “Processor”. Off is no flow, blinking is temperature is not stable/reached, On is temperature stabilized.
We may also want to add a ds18b20 to read an actual temperature, and calibrate the requested temperature of the analogue output.

Part of me hopes we can eventually make a user interface that works better than the “Optic Q”, it has no profiles, doesn’t remember/allow setting of a default temperature. I made the mistake thinking it was the same as the “Q Smart” but nope, its a downgrade over a Quartz (as at least that remembers the last temperature)

I have another version of this controller which is used as a bath filler. It has one of these processors on it MC9S08SH8CTG Product Information|NXP


I’ve removed a button as I needed it to repair a broken unit.

Alas the processor is dead on this unit so i cant see exactly what it does, however the interface, buttons and LEDs go directly to the processor so its doing some processing of user input before passing to the interface

This is probably to set a run time for a particular fill level for the bath based on an estimated flow rate.

Ill try and sketch out the schematic a bit later, physically it looks like we should be able to get an ESP in the space.

Here is the schematic, my suspicion is this talks digitally as I2C and a UART are on the processor pins that go to the mixer valve.

I purchased this controller to use with an old mixer on my bath so there is a chance that its just not compatible with my black mixer valve rather than the processor being dead I guess

I’m planning to build a remote start/stop button for my HiQu shower with a Shelly Uni. Would the wiring of that start stop button be the same as the Quartz classic remote?

Btw I can post the inside of my HiQu controller with flow control if that helps your project.

This is a picture of the HiQu remote with flow and temp control.

And the backside:


Om