/Balboa-GS510SZ

An Arduino/esp8266 library to direct interface Balboa Series GS (GS510SZ) hot tube control system.

Primary LanguageC++

Balboa-GS510SZ with panel VL700S

Software

version 1.3

  • New example sketch for Home Assistant users, thank you netmindz

version 1.2

  • Updated a failure of the intepretation of "9" in Balboa_GS_Interface.cpp
  • Changed to ElegantOTA in Balboa_GS_MQTT.ino
  • Added Stop and Reset MQTT interface in Balboa_GS_MQTT.ino

version 1.1

  • New function updateTemperature added to set a temperature value instead of "push" button x number of times
  • Balboa_GS_MQTT sketch updated with AsyncElegantOTA

version 1.0

  • Basic functionality to read and set status using a Balboa_GS developed library. Two examples are provided, first with simple read and set functionality and the second using MQTT for remote access.

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

Measurements

PIN 1 and 2

PWM output from control system, same on both pins. Unclear functionality for these PINs still! Maybe some internal light supply?

50Hz, pk-pk=18v, mean 5V

PIN 6 (Yellow - clock), PIN 5 (Blue - display data), PIN 3 (Pink - button data)

Conclusion

  • The clock is pulsing 7 times for each chunck of display data, totaly 39 bits and 3 times for button data. A complete cycle 42 pulses.
  • Totaly of 6 display data chunks in each cycle
  • Each cycle is repeted every 20 ms
  • One total cycle duration 1.88 ms
  • Bit duration for display data is 10 microseconds for display data
  • Bit duration for button data is 60 microseconds

Display Data

Display shows 37.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).
3 = 1111001(0) = 0x79 (Chunk 1)
7 = 1110000(0) = 0x70 (Chunk 2)
5 = 1011011(0) = 0x5B (Chunk 3)
C = 1001110(0) = 0x4E (Chunk 4)

Chunk 1 - bit(0-6) Chunk 2 - bit(7-13) Chunk 3 - bit(14-20) Chunk 4 - bit(21-27) Chunk 5 - bit(28-34) Chunk 6 - bit(35-38)
LCD segment 1 LCD segment 2 LCD Segment 3 LCD segment 4 28 - Button down/up 35 - Heater
29 - ? 36 - Pump 1
30 - ? 37 - Pump 2
31 - Standard mode 38 - Light
32 - ?
33 - ?
34 - ?

Button data

Button Decoding bit(0-2)
Mode 0 0 1
Temp up 1 0 0
Temp down 1 0 1
Light 0 1 1
Pump 1 1 1 0
Pump 2 0 1 0
Pump 3 1 1 1

Wiring

Since the display and controler unit hardware design is unknown an OR-gate is used to prevent damage if simultaneous HIGH/LOW levels from display and Arduino.

PCB fabrication

Gerber files located here: PCB Balboa-GS510SZ

References of great help!

Other Balboa projects