Smart Modular RGBW Aquarium Lamp With Cloud Remote Monitoring

by passione3dprint in Circuits > Arduino

253 Views, 2 Favorites, 0 Comments

Smart Modular RGBW Aquarium Lamp With Cloud Remote Monitoring

IMG20240515114348.jpg
IMG20240515114334.jpg
Fading

Hello everybody! This is my first instructables and any suggestions would be greatly appreciated.

The idea of a RGBW lamp for aquariums stems from the idea of having an open-source lamp, which has the characteristics of being highly feature-rich due to its open-source hardware and software but at the same time easily repairable or interchangeable due to its modularity at very low cost. The lamp can be controlled via Bluetooth via your smartphone and allows you to manage the light intensity separately, so that you can have the lighting effect you like best and bring out the colours of the aquarium. In addition, you can set on and off times for the lamp with fading time to simulate sunrise and sunset. Finally, it is possible to monitor the aquarium water temperature via sensor.


APPLICATIONS TARGETED:

  1. Aquariums Fresh/Salt Water
  2. Aquaponics
  3. Terrariums
  4. Plants Growth

Supplies

Due to its modularity, the lamp consists of five components listed below:

  1. LED-Drivers PCB x 4
  2. ESP32 PCB Controller x 1
  3. Central Board x 1
  4. LED-Boards x 4
  5. Interface Board (between Main Board and LED-Boards) x 1


OTHER REQUIREMENTS :

  1. Power Supplier 24V/3A
  2. 3D-Printed Case
  3. M3 Inserts x 8
  4. Aluminium Round Bar 10mm x 1


EQUIPMENT USED :

  1. MiniWare MHP30
  2. Miniware T80 IronSolder
  3. PLA 1.75mm Wood
  4. Bambulab A1 Mini

My Vision!

I hope this lamp it's a starting point to an open source and community developed project! I will updates this projects with new features both hardware and Software side! If anyone is interested to cooperate with me on this project is welcome!

This is the first Aquarium Open-Source Project!

The Importance of Modularity

The design of this lamp is based on the concept of modularity, a design principle in which a complex system is broken down into smaller, well-defined parts called ‘modules’.


Why design a modular RGBW lamp?


The answer is simple, this allows you to configure the colours of the lamp to your liking, as you wish. For example, if I wanted to bring out certain colours in the aquarium, I can change only the LEDs without necessarily having to change the whole lamp. This means that the lamp can also be used for a marine aquarium by simply changing the colour of the LEDs or for plant growth by increasing the number of UV LEDs.

Another important aspect is that modularity lowers the maintenance costs of the lamp, as it allows the component to be replaced very easily without having to buy the lamp again.

THE HARDWARE

pcbway_giuseppecaccavale_banner.jpg

I wanted to make PCBs as small as possible, modular and high quality. That is why I relied on the quality, reliability and efficiency of PCBWay, a leading PCB fabrication company. I was amazed by the PCBWay customer service, they answered all my questions by mail, and very quickly. The price is very competitive and the production and delivery times are very fast, impeccable service.

The lamp is composed by 4 main PCB Boards

LED-Driver PCB

IMG_20240515_111814.jpg

The LED-driver is an essential component for the correct functioning of LEDs. The lamp is equipped with 4 led-drivers that allow 4-channels to be managed separately to set the light intensity. The modularity allows the PCB to be replaced for failure or to increase light output at a very low cost. This makes it possible to have a highly customisable lamp depending on the field of use.

ESP32 Micro-controller Board

IMG_20240515_111749.jpg

The ESP32 is the micro-control which allow, through the Bluetooth protocol, to control, via smartphone, the intensity brightness of the 4-channels, set the on/off time with sunrise/sunset effects and control the temperature of the water in the aquarium or plants. The PCB relating to the ESP32 is also modular as it allows to be replaced easily and at low cost due to malfunctions or failures of the microcontroller.

Central Board

FRRLBTZLW6EKJCF.jpg

The central-board is the core of the modularity. On the central-board there are the electronics components that allows to manage the power-supply for the Micro-Controller and the LED-Drivers but also to connect the water temperature sensor to monitoring the aquarium water.

LED-Boards

IMG_20240515_112120.jpg

The LED-Boards allows to have 7 leds for each board, for a total of 28 leds. The modularity of the LED-Boards allows to use different type of leds i.e. 1W or 3W, so potentially upto 84W and 4500 lumens , with optimal heat dissipations techniques.

Temperature Sensor

IMG_20240515_112852.jpg

The aquarium lamp is provided of a Temperature Sensor that allows to monitor, even from remote, the water temperature of the aquarium. In addition, it's possible to set trigger events notifications for anomalies/warnings i.e. when the water temperature is greater than 30°.

THE SOFTWARE

FJ6GXX2LW7U0JR6.jpg
F2AC74WLW7U0JSP.jpg
FH1OQXNLW7U0JSQ.jpg
FU8UMIMLW7U0JUC.jpg

Basically, the logic execution of the aquarium lamp is performed by the ESP32 microcontroller software, while the controlling/managing of the lamp is done by the android application. In addition, it is possible to monitoring from remote some parameters like water temperature with historical chart, thanks to the integrity of Blynk IoT Cloud Platform.


In this chapter will be explained the main features of the Aquarium Lamp, dividing it in 3 sections:

  • ESP32 Firmware
  • Android Application
  • Blynk IoT Remote Control


ESP32 Firmware

The ESP32 Firmware is the core of the aquarium lamp, where all the logic of the functions are executed.

The code is available on GitHub, feel free to Pull it improving with new features and optimizations.

The main purposes of the ESP32 Firmware are:

  • Handle the WiFi/Bluetooth connection with application to receive commands.
  • Set the brightness intensity of the LEDs.
  • Set the scheduling time to Turn ON/OFF the lamp with sunset/sunrise effects.
  • Display the current Power of the lamp.
  • Monitor the Water Temperature.
  • Handle the Blynk IoT Connection to monitor/set remotely some parameters.
  • Get info about the IP Address, Firmware Version or Current Time.
  • Update the firmware via OTA.


Android Application - the First Screen

F83RE94LW6EKR40.jpg

The Android Application aims is to control via Bluetooth the Aquarium Lamp.

In this section it will be explained the main features of the application and how to use it!

In this screen will be displayed all the bluetooth lamp associated with the smartphone, click on one of it will open the main screen to controll the selected lamp.

The Main Screen

F7PQ7JXLW6EKR8Q.jpg

In the main screen is possible to set the brightness intensity of the lamp with power, visualize the current water temperature of the aquarium, the scheduled time and the current total power used.

In addition, a floating button allows to open a menu to configure or execute some settings.

The Floating Button Menu

F04XNKELW6EKR7Q.jpg
FV8ZBLFLW6EKR5T.jpg

Clicking on the Floating Button will open a menu that allows to enter in 3 main page:


  1. Scheduling page (click to see image)

On this page is possible to set the time to turn ON/OFF the lamp. On the left, you can set the time to turn on the lamp setting the hours and the minutes, the same is possible with the right gauge to turn off the lamp. Indeed, varing the value in the green gauge is possbile to set the minutes of the fade to simulate the sunset/sunrise effect.

To correctly set the scheduling mode, you need to set the switch button to "AUTO" and click on "SAVE AND EXIT". When the lamp is setted to scheduling mode, it is not possible anymore to manually set the intensity brightness on The Main Screen.

At this point, when the internal clock matches the scheduled time, the lamp will turn on/off with the fade effect selected until the brightness reaches the manually intensity previously configured.


  1. Info Page (click to see image)

In the current page is possible to get info about the IP Address of the device connected to the WiFi, check if the current time of the lamp is synced with the clock and check the firmware version of the lamp.

In addition, is possible to update the firmware of the lamp via OTA. To do this, click on the "Update Firmware" button. At this point in the wifi settings of the smartphone/PC it will be diplayed a new wifi device called "LAMP_updater" use the password "aquariumlife" to connect to it.

Open now a browser and digit the address 192.168.4.1, the OTA page will be showed, now click on "Select File" and select the Firmware.bin file downloaded by GitHub and done.

Blynk IoT Remote Control

FZL5IGRLW6EL3F3.jpg

The Blynk IoT Cloud allows to monitor from remote, when you are far from home, some parameters of the lamp like the aquarium water tempearture, allowing even to set some trigger events like temperature anomalies with notification on app.

DashBoard (click to see image)

Further information about how set the configuration of Blynk IoT are available on GitHub!


3D Printed Case

IMG_20240515_112029.jpg
IMG_20240515_111055.jpg
IMG_20240515_111154.jpg

The case of the Aquarium lamp has been designed with SolidWorks and printed with the Bambulab A1 Mini.

The main parts are basically 4:

  1. The case to store the electronics.
  2. The cover to close the case and hold the lamp with a bracket
  3. Wings/Deflectors to improve the reflections of the lights
  4. A white light diffuser to make the light homogeneous.

How Can I Have This Lamp?

Basically you have two options:

  1. Downloading PCB Gerbers from GitHub and have them produced by a PCB company such as PCBWay.
  2. Buying directly the Lamp from my store, helping me to support and continue to develop the project with new features and updates.