Project by Chris5662; The Amazon Alexa-Enabled Smart Pool System

Chris5662 just shared a new project: "The Amazon Alexa-Enabled Smart Pool System"

This project is to allow remote control of my pool and associated lights with a dedicated display inthe house, a phone application and Amazon Alexa. Any and/or all of these input devices may be usedto control the pool. The pool temperature and the status of the control devices are monitored asadditional information.
The base system installed by the pool company consisted of an AstralPools VX chlorinator and aViron P320 multispeed pump. To turn on the spa for example you had to go to the pool equipmentenclosure and manually change the pool mode from “auto” to “on”, turn the valve to direct water tothe spa, and manually set the pump speed to “high”.
It all runs from Arduino and an ESP8266!
All the code and extras are available on GitHub.

Read more



What a cool project! It’s cool to see tools like Alexa used to interface with devices!

1 Like

Thanks for sharing and this is very similar to my ‘idea’ but you are showing the reality. The only addition to the in my idea is a level sensor in the filter box to automatically open solenoid to fill and alarm when backflush is needed. Simple IO so i should be able to add this to the work you have done. Thanks for the work done to put together the PDF to share.

Good luck. It would have been easier if the pumps / chlorinators were Modbus as standard. Astral Pools in europe / america do have Modbus versions. I am waiting for them to start selling in Australia.


What a great project! amazing work. I would like to borrow a lot of what you have done and use it in Home Assistant. I’m not an electronics expert, but handy enough with a soldering iron.
I was hoping you could post some higher res pics of the VX chlorinator soldering? Also, you mention that the timers still work on the VX, but I assume you can also manually turn it on and off? also are you looking at the state of the LEDs on the VX to determine what mode the pool is in (man, On, Off) ?

1 Like

The whole project complete with pictures, circuit diagram and source code is available on github.

I assume you want to build your own interface to the VX chlorinator.
Look at Page 17 of the pdf for the VX interface diagram. Page 4 for the picture.
You are correct I am just connecting to the VX LED’s for the pool mode, and put a contact in parallel to the VX mode button to change pool mode, so that you can still use the VX manual functions or use the new interface.


Thanks for your reply
I have the zip download and looked at the pics - I was after a higher res image so I could see where it was soldered, as I’m not confident enough to read the schematic accurately - I might print it all out and take another look.

Thanks Again


I really like this project. Specially the tidy and compact look of the whole setup. How much did the whole setup cost approximately? Including the 3D printed casing and all that?

Sorry I checked my files and I dont have a better photo for you, and I really dont want to take my chlorinator apart again to get better photos. I can tell you exactly where I have made each connection on the VX control board. Note that this board is all low voltage so you dont have to worry about dangerous voltages. If inexperienced please dont touch the other boards in the chlorinator which have 240VAC.
I have a total of 7 connections:
PM_CTRL2: This connects to the one side of the VX Pool Mode momentary button
PM_CTRL1: This connects to the other side of the VX Pool Mode momentary button.
Essentially these two connections provide a parallel NO contact from a relay which I control remotely.
PUMP: Connects to Pin 1 of the 16 pin connector to get the pump status. (5V is ON, 0V is OFF)
VX-GND: Connects to Pin 16 of the 16 pin connector. This is -neg or gnd voltage reference.
Note that the red wire on the 16 pin cable is Pin 1. The notch on the connector should indicate the Pin 1 side.
ON: Is connected to the cathode side of the VX ON LED. This connects to Pin 12 of the VX CD4094 IC
OFF: Is connected to the cathode side of the VX OFF LED. This connects to Pin 5 of the VX CD4094 IC
I only need ON and OFF as in my software I deduce the AUTO status from both ON and OFF LED being turned off.
As the VX control board is only 2 layer you can physically see all the connections and trace the board.
Note that the IC is being used in an active low sink circuit so for example for the PM Mode ON LED Pin 12 of the CD4094 will be at 5V and the LED will be off, 0V and the LED will be on.
This is the same for all the LED’s which are all connected to the CD4094 and a 9-pin 1K SIP resistor.
VX 5V: I need a small amount of current from the VX control board, to drive my interface logic so I just tap this from a suitable 5V point. I used pin 1 of the 1K SIP resistor for this.
If unsure you can google any of these components to see what they look like.
I would certainly suggest you use a multimeter to check and confirm each point before you start soldering.
Good luck.

1 Like

If you go to the github link and my pdf there are links provided for all the major components.
I guess overall the total cost is approx $200 to $300 to make a new one.
The most expensive component is the nextion display $65, the 24VAC transformer, another $60, 24VDC power supply $25, the 3D housing only $20, getting the boards printed (about $50 per board, but this is for a minimum order of 5 boards), and assorted components and connectors which also had minimum order quantities.

1 Like

1 Like

Thanks for the detailed response Chris, i think that gives me enough confidence to give it a whirl. My plan is to use an esp8266 to interface with the cholinator and use mqtt to talk to home assistant

Cheers Carrick

1 Like

Yes that will work ok. Just remember that you need wifi access to the esp8266 which if located next to the chlorinator in a metal pool enclosure may be an issue. This is why I separated my functionality into two parts with my esp8266 / control display located inside the house. All the bits are there in the project which you need.

1 Like

This is an amazing project - I dont know if this is possible but I already have the Connect 10 and it seems to have an interface that is rs485 that I could just solder wires onto although there are no pins.

No idea yet how I would find out the required info but I guess the interface is a start. Great work getting it to work so well.

1 Like

Awesome project @Chris5662 and even more awesome documentation. I am thinking to go from the VX interface straight to an ESP32 into Home Assistant, and feel quite comfortable with all the information you’ve provided. What I am new to is custom PCB‘s though. Do I need a specific template to have these built or do the diagrams suffice to build them to the correct scale?

1 Like

Hey Ben,

This thread is about five years old now, I don’t think there’s been any updates for quite some time, although all of the PCB design files you need should still be available on Chris’ GitHub Repository publicly.

Depending on the service that you use (such as JLC PCB, PCBway, or OSH Park) they may have different requirements for which type of files you need (KiCAD, Eagle, Gerber, etc.), although for the most part they’ll accept all of them and do the conversions for you as needed.

Thanks Bryce,

It really was a PCB novice question, so let me try with the info on GitHub.


1 Like

Hey Ben,

No worries. The main point is that they’re all just representations of mostly the same information. Most PCB CAD can generate or convert between each of them. Here’s a summary for each:

  • Gerber is a file standard developed in the 80’s and essentially the standard for PCB design

  • EAGLE German Highly-Cross-Compatible File Format Einfach Anzuwendender Grafischer Layout-Editor, also a very common standard

  • KiCAD is a common design software, the docs from KiCAD themselves cover it most effectively, but due to the program’s popularity, most PCB manufacturers accept these files raw:

Should be able to grab the files from GitHub, open them in KiCAD or your CAD of choice, then edit them as you’d like before exporting and sending them to a manufacturer.