A place users can post their projects. If you have a small project and would like your own dedicated place to post and have others chat about it then this is your spot.

User avatar
By Cellie
#61765 A controller to dim the LEDs of an aquarium, programmable via web interface.

-5 separate channels with 50 timers per channel.
-NTP time.
-Web editor to set the timers.
-Captive portal.
-Nice feedback on an OLED screen.

It consists of a WeMos D1 mini MCU with some custom hardware.
Just uploaded the software part of my pet project to GitHub.
It is my first project of this size, and my first published project.

The code is butt ugly and a prime example of spaghetti code.

https://github.com/CelliesProjects/aquacontrol

Image
A repo for the hardware side of things is on the TODO list.

The short hardware story: it is PWM controlled dimming done via pins D1 through D5.
12V PWM is then done by 5x IRLZ44 NPN mosfets, and it has a I2C OLED connected on pins D6 and D7.
The OLED is a 128x64 0.96" I2C type, found on ebay for around $3.50 delivered at your home.

Gate resistors on D1 ... D5 are 470R.
No scope, so no idea if they do the job properly.
LEDs dim down nicely to about 0.01% at 400Hz PWM frequency and 10230 PWM depth.

It is powered via a 2.1mm barrel jack, with onboard 7805 to feed the esp.
The LED strips are connected to a 6 block terminal, with a common anode.

Image
I used breadboard PCB and stacked the boards using Arduino shield headers.

Image
More hardware pics can be found on my blog.
These are actually a little dated. Will update ASAP.

Some screenshots of the web interface:

Image

Image

Image