AquariOS History 0.9.0 2017-12-13 Initial release. 0.9.1 2018-02-18 MCP4728 for 4 analog pump controller outputs added. 0.9.2 2018-03-11 Controller output optimizations. 0.9.3 2018-06-23 CPU dual core mode activated. Task-to-core assignment for non-blocking webserver operations. Self-signed AquariOS SSL server certificate added. LED (GPIO5) blinking now synchronous with output triggering. 1.0.0 2018-10-03 Requires ESP32 WROVER module including PSRAM. TFT touch screen (ILI9341/XPT2046) support. Screen driver selection (SSD1306/SSH1106/ILI9341/XPT2046) through the web interface. 1.0.1 2018-10-16 Pump Auto Power Offset Beg..End parameters added. Option to de-/activate/trigger NTP time server synchronization. TFT screen dump (.BMP) browser button. 1.0.2 2018-10-28 Bugfix: With Pump Automation channels, where all Weekday entries are set to 'Never', the output level wasn't zeroed. At Pump Automation shape scaling now offers negative factors, which allows waveform inversion. Web interface with more detailed RAM availability information. TFT presentation enhanced. ESP-IDF updated to v3.2-dev-1399-g7c29a39d6. 1.0.3 2018-12-02 Bugfix: Pump Shape time intervals can no longer be set to less than 0.2 seconds. Graphical representation and further information added to the Pump Shape configuration page. Unused modes 'Oscill' and 'Random' removed from the Pump Shape pulldown menu. New option to de-/activate system time synchronization with NTP servers. Boot Time added to the Info page. 1.0.4 2019-10-21 SPI PSRAM auto-detection to support WROVER boards equipped with more than the mandatory 4 MB of external RAM. 1.0.5 2020-02-29 MQTT-Interface for System Restart, System Date & Time, Feed Mode, Light Mode, Light Program and Temperature publishing. The Web Interface now supports system reboot and modification of network device name and MAC address. Screen representation of WiFi and MQTT connection status. Faster reconnection with unreachable temperature probes. 1.0.6 2020-03-07 Bugfix: On startup the Wifi Mode indicator failed to show Access Point mode correctly. Byte order of stored MAC address no longer inverted. Web Interface with MQTT Publishing Interval setting. 1.0.7 2020-03-15 Bugfix: WiFi and MQTT connection status didn't update after returning from TFT Menu. Wifi and MQTT connection status moved to the top right corner. The device's IP address now displayed at the TFT screen. TFT Memo line populated. 'Screen Reset' added to the TFT Screen Menu. 1.0.8 2020-03-23 Bugfix: On return from TFT menu screen now the latest Memo entry is also recovered. Bugfix: Program crashed with the Button Activation box checked on the Webserver's Config page. 1.0.9 2020-03-26 Bugfix: The Webserver crashed after clicking Get or Set on the Light Program or Pump Shape page. 'Manual' Mode renamed to 'Fixed' Mode, MQTT parameter 'mapw' changed to 'fxpw'. 1.1.0 2020-04-04 Bugfix: Number rounding problem in JSON library. Bugfix: Temperature Device shut off within hysteresis range. Temperature hysteresis range now calculated to the inside with device activated at target temperature and deactivated beyond hysteresis range. Automatic PCA9685 resp. MCP4728 connection recovery on failure. Total interval added to published MQTT Feed Duration dataset. 1.1.1 2020-04-20 Back to the former outer temperature hysteresis strategy due to heater-cooler-collision with identical target temperatures. Temperature sensor interface improved for a faster recovery. Free Int / DMA RAM and boot time added to the TFT About screen. 1.1.2 2020-06-12 Item in edit line of web page now follows reordering. Screen dump timeout increased to meet screen rollover interval. NVS name of temperature sensor address configuration changed. Weekday removed from filenames of data downloaded through the web interface. Web interface changed to POST method to clean up URLs. MQTT syntax cleaned up. MQTT-driven manual light and pump power override. 1.1.3 2020-06-19 Bugfix: A few memory leaks eliminated. Bugfix: Channel names weren't cleared with table resets. TFT sensor temperature table now optionally switches to ports' target temperatures. Sections for seasonal temperature and light adjustment added. 1.1.4 2020-06-28 Bugfix: Exception on startup when displaying not yet initialized temperature target data. Serial port speed increased to 921600 baud. 1.1.5 2020-07-04 Web interface tidied up, channel columns removed. The pulldown menus for channel selection now also show their names. 1.1.6 2020-07-19 NVS partition extended, application offset shifted to 0x20000. Pump output power range parameters added to the Pump Program to adjust idle power and restrict maximum output. VariOn and VariOff replace former Variable pump type. Factory Reset added to the Config page erasing NVS partition. 1.1.7 2020-08-02 To have JTAG debugging pins (GPIO 12-15) available, display interface moved from HSPI to VSPI ports (12 to 19, 13 to 23, 14 to 18, 15 to 5) after relocating pins of I2C SCL (22 to 32), I2C SDA (23 to 33) and sample clock LED (5 to 22). 1.1.8 2020-08-18 Bugfix: With Mode changed to Inactive power wasn't reset to 0x0000. TFT WiFi status indicator refined. LM2596 Step-Down-Module, power indicator LED and reset button added to the wiring diagram. 1.1.9 2021-07-03 Bugfix: Light Program Type pulldown entries corrected. Username/password authentication added to the MQTT client. 1.2.0 2021-07-14 Web interface addition to upload a combined webserver OpenSSL certificate and key file. Webserver demo certificate updated, now expiring 2025-07-14. 1.3.0 2021-11-20 Support for DS3231 RTC module added to keep system time accurate even without Internet / NTP server access. System time updates from the Internet now in 6 hour intervals starting at 03:10 LT. The I2C modules (RTC, PWM and DAC) are now deactivated by default and require setting of their address at the Config web page. ESP IDF updated to version 4.3-dirty, detecting 64Mbit SPI-/ PSRAM components of newer ESP32 WROVER modules correctly. 1.3.1 2021-11-28 Bugfix: Some memory leaks eliminated. Web page header line now also shows (station mode) device name. 1.4.0 2022-07-27 Bugfix: Temp / Light Season webpage color corrected. Bugfix: Within the web interface sign corrected with zero values. Support for two ADS1015 ADC modules (4 channels in single- ended or differential mode) with MQTT publishing added. PCA9686 output frequency now variable (24..1526 Hz, default 200 Hz). ESP32 CPU frequency raised from 160 to 240 MHz. RTOS tick rate raised from 100 to 1000 Hz. Web page 'Pos in Year' pulldown menu values now in low-to-high order. Fahrenheit-Celsius Conversion table and Fractional Months & Year Calculator added to the web interface, accessible through a link at the temperature resp. copyright year text in the header line. 1.4.1 2022-08-06 Bugfix: Interpretation of PWM Output Frequency parameter at the Config web page corrected. Option to flip orientation of the TFT touch interface horizontally and/or vertically to compensate for hardware incompatibilities added to the Config web page. Raw ADC signal readings including MQTT processing information now shown on the TFT screen. 1.4.2 2022-08-15 Bugfix: Color of Pump Shape graph's terminal point corrected. ADC support also for 16 bit ADS1115 devices with raw data now always ranging from -32768/0x8000 to +32767/0x7FFF (extended with an ADS1015). Averaged 1-second values of ADC readings now calculated with directed rounding. This software was developed based on following components: - Espressif Systems: IoT Development Framework (https://github.com/espressif/esp-idf/) - SuperHouse Automation: Open source FreeRTOS-based ESP8266 software framework (https://github.com/Superhouse/esp-open-rtos/) - Boris Lovosevic: TFT library for ESP32 (https://github.com/loboris/ESP32_TFT_library/) - Oli Kraus: U8glib library for monochrome displays version 2 (https://github.com/olikraus/u8g2/) - Oli Kraus: Ucglib true color library for TFTs and OLEDs (https://github.com/olikraus/ucglib/) - Neil Kolban: ESP32 U8G2 HAL library (https://github.com/nkolban/esp32-snippets/) - KaraWin: ESP32 UCG HAL library (https://github.com/karawin/Ka-Radio32/) https://danner-net.de/ao.htm