Monitoring CircuPool RJ Plus SWCG

hexabc

Silver Supporter
Bronze Supporter
Two years ago, I installed CircuPool RJ-60 SWCG in my pool. Now the third season is passing without any problems. It’s been a reliable and high-performance device. Last year I replaced my single speed Jandy pump with B&D 3HP VSP and added a Raspberry Pi pool controller of my own design running node-red.

The controller implements a basic functionality of scheduling the VSP, Polaris booster and SWCG, and ensuring that the booster and SWCG do not run if the VSP is not running. The controller also collects data from air and water thermistors and from transducers measuring AC current drawn by the VSP and SWCG.

Charts of the supply current to SWCG provide a visual assurance that the device is working as expected and its duty cycle is close to the power parameter set in the SWCG console.

The duty cycle interval is precisely 180 minutes except for those intervals where RJ-60 switches the current direction. It looks like in my 12 hours long day RJ-60 switches the current direction usually once.

Here is a chart of the SWCG supply current for Aug 29. The day starts at 8am and ends at 8pm. The setting of RJ-60’s power parameter (duty cycle) for that day is 60%. The RJ-60 follows this parameter very closely, except for one problem. In the fourth period we can see a short-lasting drop from 0.7A to the “rest” value of 50mA. This is where RJ-60 switched the current to the opposite direction and started a brand new “active” period, effectively increasing the average duty cycle for the day by several percentage points.

Screenshot 2024-08-29 202852.png

The chart below shows average duty cycles calculated for each of the last 7 days. The connecting red lines are not important here. The important elements are dots, which represent the average duty cycle value for each day, from 8am to 8pm in my schedule.

Screenshot 2024-09-03 203847.png

On Sep 2 at the beginning of the 8am-8pm day I modified the power parameter in RJ-60’s console from 60 to 50%. For that day the SWCG Supply Current looked like below, and you can see in the Daily Duty Cycle chart above a drop to 51%.

Screenshot 2024-09-02 204031.png

Below is SWCG Supply Current for Sep 3:

Screenshot 2024-09-03 203451.png
 
Interesting
I thought it switched polarity at the end or start of each duty cycle - or maybe after the percentage set has been met and the cell powers down - so every 180 minutes.

For 60% - 108 ON, 72 OFF
For 50% - 90 ON, 90 OFF
For 20% - 36 ON, 144 OFF

For a 12 hour program, the SWG should switch polarity 4 times - or so I thought.

I do know that anytime power is removed (whether the cell is in the ON or OFF part of a cycle) - if/when power is restored, the SWG will begin a new cycle.
 
Interesting
I thought it switched polarity at the end or start of each duty cycle - or maybe after the percentage set has been met and the cell powers down - so every 180 minutes.

For 60% - 108 ON, 72 OFF
For 50% - 90 ON, 90 OFF
For 20% - 36 ON, 144 OFF

For a 12 hour program, the SWG should switch polarity 4 times - or so I thought.

I do know that anytime power is removed (whether the cell is in the ON or OFF part of a cycle) - if/when power is restored, the SWG will begin a new cycle.
How did you get your numbers?
 
180 minute cycle and the percentage set on the SWG.

For 60% - 108 ON, 72 OFF
For 50% - 90 ON, 90 OFF
For 20% - 36 ON, 144 OFF

180 minute cycle is 3 hours - if you have a 12 hour run time, that's 4 full cycles in that time frame.
 
Yeah, switching the polarity doesnt happen at the end or start of each cycle - it’s much more “chaotic” and rarer. If you observed a different behavior - are we dealing here with various versions of the firmware maybe???
I've never checked. One would think it was consistent and they had programmed it to do so in relation to the cycle times.
Maybe call Discount Salt Pools and ask their tech guys.

Random and/or chaotic doesn't sound good.
 
Can you provide some details on your implementation of RPi and node red? Are you using nodejs?

Chris
 
Can you provide some details on your implementation of RPi and node red? Are you using nodejs?

Chris
Node.js is a foundation of node-red, so yes... But I implemented the controller at the node-red abstraction level, i.e. flows. My pool is pretty simple and node-red allowed me to get a prototype running on my desk in no time:

prototype1.png

I got a great help from DIY Standalone Nixie Pool Controller documentation which allowed me to quickly select these basic components: enclosure from Altellix, 24V power supply from Mean Well, and RPi hats from Sequent Microsystems.

A picture of Senva current transducers for VSP and SWCG, installed in the pool electrical subpanel:

senva_transducers1.png

More details here: My pool
 
Random and/or chaotic doesn't sound good.
A slight deviation from the SWCG output setpoint is probably not critical. As far as polarity switching, as long as it happens at least once per day, it's probably also fine.

I am a little puzzled why such a long duty cycle interval of 180 minutes has been selected by the maker, but I'm sure they had some reasons behind that decision.

I will be watching the charts and correlating them with the RJ-60 console, and will report any new findings.
 
Last edited:
Node.js is a foundation of node-red, so yes... But I implemented the controller at the node-red abstraction level, i.e. flows. My pool is pretty simple and node-red allowed me to get a prototype running on my desk in no time:

View attachment 608554

I got a great help from DIY Standalone Nixie Pool Controller documentation which allowed me to quickly select these basic components: enclosure from Altellix, 24V power supply from Mean Well, and RPi hats from Sequent Microsystems.

A picture of Senva current transducers for VSP and SWCG, installed in the pool electrical subpanel:

View attachment 608568

More details here: My pool
Great info, thanks!
 

Enjoying this content?

Support TFP with a donation.

Give Support
What we really need is a way to have some sort of automation for the Circupool devices. It would be great to remotely be able to monitor hi or low salt, as well as change the production level.
 
  • Like
Reactions: setsailsoon
What we really need is a way to have some sort of automation for the Circupool devices. It would be great to remotely be able to monitor hi or low salt, as well as change the production level.
Doable, but with a big, big effort. I'm assuming that the RJ logic is programmed into a microcontroller inside the blue box. So the task would be to identify the microcontroller, buy its cross-development software, reverse-engineer the proprietary code and extend it to perform tasks that are on your wish list. Publishing this on the forum would violate the rights of the vendor ;)

A purely hardware mods in the analog part of the RJ - probably even harder. I don't see it feasible.
 
What we really need is a way to have some sort of automation for the Circupool devices. It would be great to remotely be able to monitor hi or low salt, as well as change the production level.
With the supply current monitoring described here you have a confirmation that RJ is working and generating chlorine. It'd be easy to add an email alarm when, for example, the current averaged over some predefined interval drops below some threshold value.
 
Last edited:
Well we will just have to accept that it’s not an easy problem to solve. If you want to monitor your SWG then you need one that will work with automation, either and ICXX or a Hayward AquaXXXXX