This is a LED control app aimed at aquarium use. With this app you can program gradual sunrises and sunsets on 5 LED channels through a web interface. The moon phase cycle is simulated and can be adjusted from the web interface. All settings are saved to an sd card.
To use this project you need a supported esp32 module, a LED dimming board and you will need VSCode with the PlatformIO plugin installed.
Supported devices are M5Stack Grey/Fire and the ESP32-S3-BOX-Lite.
M5Stack grey LED dimming board with 2A LED channels and sensor connector
- Add timers by clicking on the grid
- To adjust timers drag and drop a timer handle to another location
- The first timer can not be deleted but the intensity can be set
- No touch handlers are defined so it will not work on a touch device
- Supported esp32 board. (LovyanGFX support and sd card slot is required)
- Led dimming board capable of handling 5 LED pwm inputs. (and optionally a i2c temperature sensor)
- ds18b20 temperature sensor. (optional)
This app is the successor to aquacontrol32 and is compatible with the file format used so you can easily upgrade and keep your current light settings. Just upload your existing default.aqu
to the new device and done!
- Visual Studio Code
- PlatformIO
- The latest release of aquacontrol - unzip the file to a local folder.
Open this folder in PlatformIO File->Open Folder
.
Open platformio.ini
and adjust the [user]
section to your location.
In the same file, you can adjust the gpio pins in the [env:boardxxx]
section by adjusting the following build_flags
:
-D SDCARD_SS=xx
-D LEDPIN_0=xx
-D LEDPIN_1=xx
-D LEDPIN_2=xx
-D LEDPIN_3=xx
-D LEDPIN_4=xx
-D ONE_WIRE_PIN=xx
In the folder where you extracted the files, create a new file src/secrets.h
.
Copy-paste the source below to src/secrets.h
:
#ifndef _SECRETS_H_
#define _SECRETS_H_
const char *SSID = "wifi network";
const char *PSK = "wifi password";
const char *WEBIF_USER = "admin";
const char *WEBIF_PASSWORD = "admin";
#endif
Adjust the values as needed.
- Timers are saved on the SD card as
default.aqu
. - Moonlight setup is saved on the SD card as
default.mnl
.
Without SD card the app will seem to work but saving timers or moonlight settings is not possible.
Uploaded timers will be gone on a reboot without a SD card.
Select the PIO icon on the left, then open Project Tasks
.
Click on your device to expand the menu and there select Upload and Monitor
.
After uploading, the IP address of the webinterface is shown on the display.
Browse to this IP, then click on a channel bar and start editing timers.
-
/
Current channel levels and temperature are shown.
Click on a level bar to go to the/editor
. -
/editor
Edit channel timers and save these timers to an SD card. -
/moonsetup
Setup full moon levels for the moon simulator. -
/fileupload
Upload files to the controller.
Uploaded files nameddefault.aqu
ordefault.mnl
will be parsed and if valid light or moon settings are found, these will be applied directly after upload. -
/api/uptime
Uptime in human readable format