Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/micke85/balboa-gs510dz-with-panel-vl801d

An Arduino/esp8266 library to direct interface Balboa Series GS (GS510DZ) hot tube control system with panel VL801D.
https://github.com/micke85/balboa-gs510dz-with-panel-vl801d

arduino-library automation balboa gs510dz hot-tub iot mqtt spa vl801d

Last synced: 4 days ago
JSON representation

An Arduino/esp8266 library to direct interface Balboa Series GS (GS510DZ) hot tube control system with panel VL801D.

Awesome Lists containing this project

README

        

### version 1.0

Increasing the response time has been a big part of this update.
The respons of input to output is now 1/3 of the time, close to direct respons.
This has been important to be able to set/adjust the times under Time menu.

Added a interface display script, for home-assistant.
This holds the same information as the SPA display but in a small and compact information display in Home-assistant.
Copy (displayCode-HA.V1.0.txt) and paste the code in to the home assistant card code editor.
Requires HACS installed and this extra cards
* horizontal-stack card
* Vertical-stack card
* card-mod
* Lovelace button-card


**Update includes**
* All the binary code for SPA display buttons are now identified and added.
* Faster respons time. (500 ms).
* Most of the BITS are now identified.
* Small interface display for home assistant, Changing icons and colour change depending on temperature and menu.

**Features still being worked on**.
- Hvac for fast setting temperature request.
- LED selector. (still working & testing this)
- Mode selector.

**Known problems**
- Set temp MQTT messages, seems to lose information sometimes, only showing part of the temp in home assistant.

### version A 0.95
Working project in it´s end of alpha face.

- fix set temperature interference that occurred after a couple of hours.
- fix water temperature interference.

### version A 0.9
Working project in it´s end of alpha face.

- Possible to change temp, control pumps and lights.

- Detect filters curculation, heater, standard mode and eco mode.

- Defined different button for up/down with temp up/down.

- Over The Air update now working
http://unitsIPadress/update

Identifing bits are still ongoing. List of definition you will find in the Balboa_GS_Interface.h file

This is built on the the great work by MagnusPer project with GS510SZ and Shuraxxx, GS523DZ.

Could possibly work with the GS523DZ models as well, as its the same display, I have no ability to try this.

## RJ45 pins

| PIN | Description |
| ------------- | ------------------------|
| PIN 1 | Functionality unclear! |
| PIN 2 | Functionality unclear! |
| PIN 3 | Button data |
| PIN 4 | GND |
| PIN 5 | Display data |
| PIN 6 | Clock |
| PIN 7 | 5 VDC |
| PIN 8 | Floating output |

##PIN 6 (Yellow - clock), PIN 3 (Red - button data), PIN 5 (Green - display data)


#### Conclusion

- The clock is pulsing 7 times for each chunck of display data, totaly 71 bits and 4 times for button data. A complete cycle 75 pulses.

- Totaly of 6 display data chunks in each cycle

- Each cycle is repeted every 10 ms

- One total cycle duration 3.54 ms
- Bit duration for display data is 23.75 microseconds for display data

- Bit duration for button data is 71.5 microseconds

#### Display Data

Display shows **29.5C** - How does that translates into the bitstream? The first 4 chunks is coded in BCD to 7 segment LCD (see reference) but only with 7 bits sinse the LSB always is (0).

2 = 1101101(0) = (Chunk 4)

9 = 1110011(0) = (Chunk 3)

5 = 1011011(0) = (Chunk 2)

C = 1001110(0) = (Chunk 1)

| Chunk 4 - bit(0-7) | Chunk 3 - bit(7-14) | Chunk 2 - bit(14-21) | Chunk 1 - bit(21-28) | Chunk 5 - bit(29-71) |
| ------------------ | ------------------- | ------------------ | -------------------- | -------------------- |
| LCD segment 1 | LCD segment 2 | LCD Segment 3 | LCD segment 4 | 29 - Button down/up |
| | | | | |
| | | | | |
| | | | | 59 - Standard mode |
| | | | | |
| | | | | |
| | | | | |

## PCB fabrication
This uses the same PCB developed by MagnusPer work on gs510SZ

Dont forget to give space between PCB and ESP8266 for the USB cable connection

- https://github.com/MagnusPer/Balboa-GS510SZ/

## Installing PCB
Be surent you are using a standard Patch cable and not a crossover cable, or you will destroy the panel unit.

GS510DZ J1 Port to PCB control system port

Display port to vl801D panel

Magnus PCB board files you will find here: [PCB Balboa-GS510SZ](https://github.com/MagnusPer/Balboa-GS510SZ/tree/main/extras/PCB%20layout)

## Balboa Display panels information
- http://service.balboa-instruments.com/appnotes/index.html?app_notes_vl801d.htm

## Display Paternt nr 8550643
- https://ppubs.uspto.gov/dirsearch-public/print/downloadPdf/8550643

## Display functions
- https://www.youtube.com/watch?v=idkXDjpJ8-8

## References of great help!
- https://github.com/NickB1/OpenSpa/blob/master/documents/Balboa/Balboa_Display_Measurements.pdf
- https://www.olivierhill.ca/archives/72-The-Internet-of-Spas.html
- https://create.arduino.cc/projecthub/meljr/7-segment-led-displays-102-using-a-shift-register-6b6976

## Other Balboa projects
- GL2000 Series https://github.com/netmindz/balboa_GL_ML_spa_control
- BP Series https://github.com/ccutrer/balboa_worldwide_app
- https://github.com/MagnusPer/Balboa-GS510SZ/
- https://github.com/Shuraxxx/-Balboa-GS523DZ-with-panel-VL801D-DeluxeSerie--MQTT?tab=readme-ov-file