User avatar
heisler3030
Posts: 6
Joined: Sun Mar 14, 2021 3:39 am

Re: Hot tub / spa / jacuzzi controller

Sun Apr 11, 2021 6:17 pm

Have you tried looking at the signals side by side in piscope at a 5-10us resolution? I think what you will find is a higher frequency signal, maybe on your “c” line, which has pulses representing your real clock. Compare these to your signal and measure it at the rising edge of this clock and you will get a recurrent pattern that will decide to the 7 segment display. There is a picture in my “project diary” of this view in piscope, zoomed out, as well as a link to a Google sheet where I compared my output and decoded the display (yours will likely vary but the technique can be reapplied)

The clock from the spa represents the “drum beat” you need to synchronize with to read the signal. I think you are sampling at a different rate that is out of sync and so you are getting a more randomized signal. I can note that I originally thought the backlight line was some sort of trigger too but I think it was just coincidence that it aligned with the signal. Because the pins are digital it will turn what is really a sinusoid into a square wave which is misleading.

drtechno
Posts: 261
Joined: Fri Apr 09, 2021 6:33 pm

Re: Hot tub / spa / jacuzzi controller

Sun Apr 11, 2021 8:38 pm

timothychong wrote:
Sun Apr 11, 2021 3:15 am
I'm in the process of pi-scoping my sundance control panel signals. My system has a clock system that goes down every 100ms. I think I can control the button, but I'm having trouble figuring out the temperature.

There are 4 signals of interest:
a- clock that goes down every 100ms and goes up shortly afterwards. Normally high, and goes down at clock edge.
b- button signal that is normally low, and goes up and down at specific offsets from clock edge. I am able to use this line to get exactly which button is pressed. This line is always low unless button is pressed.
c- This line is normally high, and flucutates down and up for a couple times afer clock edge. I don't know what this does, but it's regular, and is pretty much the same every "edge cycle" unless a button's pressed. I guess this is the "acknowledge" line from the control system to the panel.
d- This is the one that controls the 7 segment display and this is the one that i'm having a ton of trouble deciphering. It's normally low, and goes up and down for like 10-20 times after clock edge, and stays down afterwards until next edge cycle. I've spent a ton of time trying to figure out if there's any pattern or what kind of protocol this line is using. I don't think it's UART because it's idle low, SPI or I2C because there's no clock signal at that small granularity available. I can sort of see patterns in terms of the length of the signal that comes up every clock edge, but the signals don't simply cycle through. I know that this wire controls the 3-digit 7 segment display becaue the display turns off when i disconnect this signal.

Here's the signal (d) each clock edge every 100ms. Each line is for each clock edge. I can't pinpoint down to any pattern that I can use to get the segment display readout :( So so far, I can control the button, but I can't tell what the hottub temperature or the target temperature.
https://pastebin.com/X1cCfH6h

Any idea or help would be greatly appreciated. Or if there's any protocol that I'm not aware of that can be this, please let me know.
What this reminds me of is simple serial digital with a set of input clock and strobe and output clock and strobe. The logic appears to be BCD framed in serial, then decoded to a parallel bus internally by shift registers. That would be my guess without looking at this physically with an oscilloscope

timothychong
Posts: 4
Joined: Sat Mar 27, 2021 7:15 pm

Re: Hot tub / spa / jacuzzi controller

Tue Apr 13, 2021 5:12 am

heisler3030 wrote:
Sun Apr 11, 2021 6:17 pm
Have you tried looking at the signals side by side in piscope at a 5-10us resolution? I think what you will find is a higher frequency signal, maybe on your “c” line, which has pulses representing your real clock. Compare these to your signal and measure it at the rising edge of this clock and you will get a recurrent pattern that will decide to the 7 segment display. There is a picture in my “project diary” of this view in piscope, zoomed out, as well as a link to a Google sheet where I compared my output and decoded the display (yours will likely vary but the technique can be reapplied)

The clock from the spa represents the “drum beat” you need to synchronize with to read the signal. I think you are sampling at a different rate that is out of sync and so you are getting a more randomized signal. I can note that I originally thought the backlight line was some sort of trigger too but I think it was just coincidence that it aligned with the signal. Because the pins are digital it will turn what is really a sinusoid into a square wave which is misleading.

Thank you super much for your help! I think what you described about the sinusoid is exactly what's happening. The "ack" wire is acually an encoded version of the display. Unfortunately, that also means that I just wasted a couple day trying to make sense of a aliased sinusoid that doesn't have any sense :cry: .

jeanl
Posts: 38
Joined: Wed Feb 22, 2017 10:48 pm

Re: Hot tub / spa / jacuzzi controller

Tue Apr 13, 2021 3:43 pm

timothychong wrote:
Tue Apr 13, 2021 5:12 am
Thank you super much for your help! I think what you described about the sinusoid is exactly what's happening. The "ack" wire is acually an encoded version of the display. Unfortunately, that also means that I just wasted a couple day trying to make sense of a aliased sinusoid that doesn't have any sense :cry: .
Don't feel too bad about that! :) There's no telling how many hours I've "wasted" on stuff like that! It's not at all wasted in fact! But keep us posted, it's fun to read your progress...
J.

Kfor
Posts: 2
Joined: Sun Apr 18, 2021 6:34 pm

Re: Hot tub / spa / jacuzzi controller

Sun Apr 18, 2021 7:34 pm

Thanks so much for the amazing documentation documentation in this thread!

Just followed Hamish's lead and hooked piscope up to the second RJ45 jack of my Balboa GS controller (manufactured in 2020). It's a bit different in that it doesn't appear to have a clock to sync the data to, as best I can tell.

For these tests, I have the hot tub in Standard mode at 80 degrees and nothing else on, so the display is static.

Here's the overall view of all pins (except 3, which connecting to the voltage divider makes the control panel unresponsive, so I don't have it hooked up yet - I think it's 3V):
Image

And here’s just pins 1, 5, 6, and 7, which seem to maybe have some interesting stuff going on:
Image

Zooming in, here’s the typical pattern, where 6 kicks things off, followed by a pulse on 5 and 7, a response(?) on 6, then what appears to be data on 7. Pin 1 is doing something interesting, but not totally sure what:
Image

Pin 6 consistently seems to start things with a single pulse, but whether or not it “replies” to pin 7 seems to vary. Most commonly it does 3 total pulses, but sometimes there’s 2 or just 1:
Image
Image

And pin 5 often fires one blip, but sometimes doesn’t:
Image

So my working hypothesis is that 6 signals the start of a new cycle and 7 contains the data for the display, but I don’t see anything that looks like a clock to sync the data to. And 1 is maybe doing something interesting, but maybe that’s just a bit of noise at the start of an AC signal?

Will keep poking around in it, and any advice is really appreciated!

jeanl
Posts: 38
Joined: Wed Feb 22, 2017 10:48 pm

Re: Hot tub / spa / jacuzzi controller

Mon Apr 19, 2021 3:27 pm

It looks like you're getting really close now. Definitely 7 has the data. Since there's no clock line (apparently) the encoding is most likely self-clocking, as described here: https://en.wikipedia.org/wiki/Self-clocking_signal
So you might have an example of a manchester encoding on line 7, You could try to decode that manually by looking closely at one of the bursts that you show up. Normally you don't get long period where the signal is 1 or 0 in manchester encoding (the signal constantly changes phase) so it may be that you have bursts of manchester encoding with long periods of 1s in between. For example, the long periods of 1 could indicate a new value and when the signal starts changing phase is where the data is encoded?

Two things:
- Can you verify that line 7 always has the same pattern at every burst of activity?
- Could you possibly record the same 7 when the hot tub show 81F instead of 80 (or any other temp). This would help you figure out which part of the burst changed.
J.

Kfor
Posts: 2
Joined: Sun Apr 18, 2021 6:34 pm

Re: Hot tub / spa / jacuzzi controller

Mon Apr 19, 2021 6:33 pm

Thanks for the tip on Manchester encoding, Jean, that looks promising! Now that I have an idea of how that works, I'll start capturing line 7 while trying a few permutations on the display to see if I can figure out how it's encoded. Will report back with what I find.
-Kyle

bigshow104
Posts: 2
Joined: Sun Aug 22, 2021 2:05 pm

Re: Hot tub / spa / jacuzzi controller

Sun Aug 22, 2021 2:10 pm

how have the people looking at sundance spas getting on. I have a sundance spa and want to add it to my home assistant set up. this thread is fantastic and very use full. i noticed the comment about a digital signal for the temo display. is this correct for the sundance spas. It would be great if i can use the RJ45 port.

jeanl
Posts: 38
Joined: Wed Feb 22, 2017 10:48 pm

Re: Hot tub / spa / jacuzzi controller

Mon Aug 23, 2021 3:37 pm

bigshow104 wrote:
Sun Aug 22, 2021 2:10 pm
how have the people looking at sundance spas getting on. I have a sundance spa and want to add it to my home assistant set up. this thread is fantastic and very use full. i noticed the comment about a digital signal for the temo display. is this correct for the sundance spas. It would be great if i can use the RJ45 port.
I have no idea whether Sundance uses a similar system... If you don't find anything online, you'll have to do your own investigation (which isn't that hard)...
J.

jojo11
Posts: 3
Joined: Wed Nov 01, 2017 9:52 am

Re: Hot tub / spa / jacuzzi controller

Thu Nov 04, 2021 4:23 pm

Hi!
Wondering if anyone has experience of balboa gl 2000. There is unfortunately no rj45 but molex 8 pin port on the board which is harder to find a connector for it. Or are there other ways for analyzing the signals?

jeanl
Posts: 38
Joined: Wed Feb 22, 2017 10:48 pm

Re: Hot tub / spa / jacuzzi controller

Fri Nov 05, 2021 5:23 pm

No experience with this board. You'll find molex connectors on ebay by the hundreds though :)

hockeyadc
Posts: 1
Joined: Wed Feb 02, 2022 9:00 pm

Re: Hot tub / spa / jacuzzi controller

Wed Feb 02, 2022 9:06 pm

I have a balboa VS510SZ with an RJ45 connector that I believe is very similar to the topside controller in the SpaBerry project. I saw the SpaBerry project write up, and I'm confused how you connected to the control board after cutting the RJ45 out of the splitter? My board only has an RJ45 port, did you solder directly to that?

jeanl
Posts: 38
Joined: Wed Feb 22, 2017 10:48 pm

Re: Hot tub / spa / jacuzzi controller

Thu Feb 03, 2022 4:25 pm

hockeyadc wrote:
Wed Feb 02, 2022 9:06 pm
I have a balboa VS510SZ with an RJ45 connector that I believe is very similar to the topside controller in the SpaBerry project. I saw the SpaBerry project write up, and I'm confused how you connected to the control board after cutting the RJ45 out of the splitter? My board only has an RJ45 port, did you solder directly to that?
I'm not sure exactly what you're asking but the gist of it is, you need to make it so the RJ45 is still connected to your board (so the SPA functions normally) but you have a way to read voltages on the RJ45 wires, and also set the levels on some of them. What I did was cut the RJ45 cable, solder the ends together on a small circuit board (so the cable was "uncut" and working normally) and accessed the wire voltages from the circuit board that I soldered them to (to them to the pi).

User avatar
heisler3030
Posts: 6
Joined: Sun Mar 14, 2021 3:39 am

Re: Hot tub / spa / jacuzzi controller

Thu Feb 03, 2022 4:51 pm

That's right, sorry its unclear in the picture but the "spa board" connection is actually via RJ45 connection on the splitter. I didn't remove it but spliced in connections like Jean mentioned.

Image

I used this one from Amazon, looks like it is NLA but you can likely find something similar. You can see it in the first picture on P2 of my project log.

Super gratifying to hear this is helpful, good luck!


-Hamish

jeanl
Posts: 38
Joined: Wed Feb 22, 2017 10:48 pm

Re: Hot tub / spa / jacuzzi controller

Thu Feb 03, 2022 6:44 pm

Hamish, somehow I missed you incredible writeup on your project, really cool with lots of great detail!
It's really funny as your setup is very similar to mine! I didn't know that there were splitters for the connectors (what was I thinking?!)
That makes it quite a bit cleaner.
Great work!

bigshow104
Posts: 2
Joined: Sun Aug 22, 2021 2:05 pm

Re: Hot tub / spa / jacuzzi controller

Sat Apr 23, 2022 10:44 am

jeanl wrote:
Mon Aug 23, 2021 3:37 pm
bigshow104 wrote:
Sun Aug 22, 2021 2:10 pm
how have the people looking at sundance spas getting on. I have a sundance spa and want to add it to my home assistant set up. this thread is fantastic and very use full. i noticed the comment about a digital signal for the temp display. is this correct for the sundance spas. It would be great if i can use the RJ45 port.
I have no idea whether Sundance uses a similar system... If you don't find anything online, you'll have to do your own investigation (which isn't that hard)...
J.
Would it possible to tell me how. I am a complete new be in finding the electronic signals and have no idea where to star with the investigations other than I have a raspberry pi. Obviously I am really cautious as do not want to damaged the current PDB.

Thanks, P

Nick12345
Posts: 1
Joined: Sat Aug 13, 2022 11:24 pm

Re: Hot tub / spa / jacuzzi controller

Sat Aug 13, 2022 11:37 pm

Hi, i was wondering if anyone has tried this doing this project on a Balboa PGS510SZ Control box? i'm fairly new to coding and i'm not sure I've got the skill to be able to write my own code to capture the various button presses (and subsequent generation of the resulting signal)

I've managed to get Piscope working however i didn't see any correlation between the signals and haven't managed to figure out which pins do what function.

Any help would be much appreciated

Nick

Return to “Automation, sensing and robotics”