I Built an open-source LED controller and app from scratch

OP
OP
oldrev

oldrev

Community Member
View Badges
Joined
Feb 21, 2025
Messages
89
Reaction score
174
Location
Yunnan, China
Rating - 0%
0   0   0
Fantastic first test! Which CREE models are you using? Can we find the alu pcb models on the repo?
This aluminum PCB is still in testing and not open-source for now, everything else is open-source.

I'm curious, this Aluminum PCB is just a simple driver board, specifically designed for this enclosure. Without the enclosure, I don't know what use it has.
 
OP
OP
oldrev

oldrev

Community Member
View Badges
Joined
Feb 21, 2025
Messages
89
Reaction score
174
Location
Yunnan, China
Rating - 0%
0   0   0
The effect of the LED array at 2% brightness.
2025-04-17_230320_767.jpg


3× royal blue
3 x light blue
3 × cold white (10000k)
1 × green
1 × red
1 × UV + 1 × purple
 

firechild

Active Member
View Badges
Joined
Nov 23, 2020
Messages
267
Reaction score
349
Location
Sydney
Rating - 0%
0   0   0
Fantastic first test! Which CREE models are you using? Can we find the alu pcb models on the repo?
These are most definitely not Cree emiters.
This aluminum PCB is still in testing and not open-source for now, everything else is open-source.

I'm curious, this Aluminum PCB is just a simple driver board, specifically designed for this enclosure. Without the enclosure, I don't know what use it has.
This looks amazing. I would love to see the schematic for the drivers. I'm currently using Meanwell LDD drivers and ESPHome for control. Works great but I'm looking at building small modular units, similar to yours and I would need to move away from the LDD drivers due to their size.
 
OP
OP
oldrev

oldrev

Community Member
View Badges
Joined
Feb 21, 2025
Messages
89
Reaction score
174
Location
Yunnan, China
Rating - 0%
0   0   0
These are most definitely not Cree emiters.

This looks amazing. I would love to see the schematic for the drivers. I'm currently using Meanwell LDD drivers and ESPHome for control. Works great but I'm looking at building small modular units, similar to yours and I would need to move away from the LDD drivers due to their size.
Now you have it.
 

Attachments

  • blb0665s-board.pdf
    359.3 KB · Views: 177
OP
OP
oldrev

oldrev

Community Member
View Badges
Joined
Feb 21, 2025
Messages
89
Reaction score
174
Location
Yunnan, China
Rating - 0%
0   0   0
Clean work! Have you taken any par readings?
Not yet, because a spectrometer that can measure PAR values costs a fortune, and this DIY project is a one-man show. I'm also not entirely satisfied with the brightness ratio of the LEDs.

Once the next revision is complete, I'll consider submitting it to a lab for testing.
 

Arthur_Dent

Active Member
View Badges
Joined
Oct 13, 2020
Messages
320
Reaction score
292
Location
South Florida
Rating - 0%
0   0   0
Not yet, because a spectrometer that can measure PAR values costs a fortune, and this DIY project is a one-man show. I'm also not entirely satisfied with the brightness ratio of the LEDs.

Once the next revision is complete, I'll consider submitting it to a lab for testing.
Not sure where you are based, but I bet someone on this forum would lend you one, in exchange for some knowledge. :)
 

vandy

Well-Known Member
View Badges
Joined
Apr 14, 2022
Messages
653
Reaction score
461
Location
St. Louis
Rating - 100%
2   0   0
This is great! Nice work. Did you have pcb design experience before you started?

I only LED i've built is a 100w pendant light, but i'd love to design something similar to the punching power of the uno's. Not sure where to start with the pcb design though.

How's it working on your tank?
 
OP
OP
oldrev

oldrev

Community Member
View Badges
Joined
Feb 21, 2025
Messages
89
Reaction score
174
Location
Yunnan, China
Rating - 0%
0   0   0
This is great! Nice work. Did you have pcb design experience before you started?

I only LED i've built is a 100w pendant light, but i'd love to design something similar to the punching power of the uno's. Not sure where to start with the pcb design though.

How's it working on your tank?
Thanks!

Yeah, I've got years of PCB design experience. Learning PCB design isn't that hard, but it does take a ton of time and money to figure things out through trial and error.

For long-term testing, I just started a new saltwater tank, and it'll be ready to go this week.
 
OP
OP
oldrev

oldrev

Community Member
View Badges
Joined
Feb 21, 2025
Messages
89
Reaction score
174
Location
Yunnan, China
Rating - 0%
0   0   0
Not sure where you are based, but I bet someone on this forum would lend you one, in exchange for some knowledge. :)
I got a cheap one with a huge discount. The attachment is the testing report.
屏幕截图 2025-05-02 164004.png

Right now I'm working on auto solar simulation using astronomical algorithms.
Screenshot_2025-05-02-16-51-42-717_com.borneoiot.app.jpg
 

Attachments

  • ulva6-test.pdf
    263.5 KB · Views: 141
Last edited:

Freenow54

5000 Club Member
View Badges
Joined
Mar 5, 2021
Messages
6,566
Reaction score
5,096
Location
Ontario Canada
Rating - 0%
0   0   0
Hello Reefers,

I’ve been working on designing and building what I hope will be the perfect open-source aquarium light controller, and a mobile app to go along with it.

So far, I’ve got a working prototype with a 6-channel design and a functional app.

I’ve been coding for nearly 20 years and have plenty of electronics experience too. I’ll admit we kinda have this gift to keep costs low when it comes to electronics. So, instead of going for something fancy like a Raspberry Pi as the brain, I chose the ESP32-C3, it’s just right for this project. To save even more on the PCB, the controller is super tiny, just 30×22mm, and I’ve pretty much used up every single pin on that ESP32-C3. The other key parts are just two DC-to-DC buck converters and a TL431 voltage reference.

blc06mk1-cover.jpg
blc06mk1-1.jpg


Let’s talk hardware first:
  • Built-in buck circuit for a wide input voltage range, 15–36V
  • 6-channel LED PWM control with phase-shifting support, 1024-level duty cycle, and up to 24kHz
  • A pin for a 3950 NTC thermistor to monitor LED temperature
  • Fan PWM control signal output driven by a PID algorithm, plus a fan voltage output adjustable from 3.5V to 12V. You can lock it at 12V and let the PWM signal handle the fan speed, or use a cheap two-wire fan and have the controller regulate the voltage to adjust speed.
  • Built-in voltage sensing, plus a pin for an INA139 chip to measure total LED current and handle over-current protection.
  • A push button pin to temporary light-on mode or reset WiFi settings.
  • 0.1" pin header, DIY friendly.
Then there’s the phone app:
  • One big reason I started this project was to dive into Flutter development, so I really wanted the app to look slick and polished. Here’s what it can do:
  • Manage multiple devices.
  • Manual dimming mode.
  • Scheduled mode with multi-stage sunrise/sunset dimming.
  • Easy Setup mode.
  • Nightlight mode (temporary light-on feature), super handy when you want to peek at your tank in the middle of the night without messing up your light schedule.

devices-management.png
led-dashboard.png
led-scheduled.png
led-easy-setup.png


This is a fully open-source project, and I mean fully. All the editable hardware design files, firmware, and app source code are up on GitHub: https://github.com/oldrev/borneo. The hardware and firmware are pretty much done, but the app’s still a work in progress—functional, but a bit rough around the edges.

Since I’ve only ever dealt with freshwater planted tanks, I’d love some advice from the saltwater enthusiast. Is this moonlight mode actually important, and if so, what color should it be when it’s on?

Cheers!
Wei L.
Quite the project Congratulations. I volunteer to market here for you. Answer about moon light is a no from me
 

bradreef

Valuable Member
View Badges
Joined
Aug 12, 2013
Messages
1,541
Reaction score
1,356
Rating - 0%
0   0   0
Great work. I updated as I see the 3 white LED. Interested in par readings or maybe double light fixtures.
 

PPBlimpy

Valuable Member
View Badges
Joined
Jan 9, 2025
Messages
1,692
Reaction score
2,102
Location
Cumberland
Rating - 0%
0   0   0
This is really cool. I wish I knew more about electronics!

I love the app. wonder if you can use the app and driver to control fixtures already on the market.

I love the noopsyche lights but controller/app sucks. they are cheap enough on alibaba i wouldnt mind taking them apart and rewiring the driver into it somehow
 
Last edited:

Besieged

Active Member
View Badges
Joined
Jan 2, 2025
Messages
453
Reaction score
489
Location
Metro Atlanta
Rating - 0%
0   0   0
This is really cool. I wish I knew more about electronics!

I love the app. wonder if you can you the app and driver to control fixtures already on the market.

I love the noopsyche lights but controller/app sucks
I can second that last!
 
OP
OP
oldrev

oldrev

Community Member
View Badges
Joined
Feb 21, 2025
Messages
89
Reaction score
174
Location
Yunnan, China
Rating - 0%
0   0   0
Small update: This week, I got the firmware and app to support the acclimation mode. Once you turn it on, it gradually increases the brightness a bit each day within your set date range until it hits your current dimming setting.

Screenshot_2025-05-05-23-08-27-089_com.borneoiot.app.jpg

Also, I redesigned the dashboard interface.
Screenshot_2025-05-05-23-09-11-563_com.borneoiot.app.jpg

One last thing, in the settings, you can now pick from 5 different brightness correction algorithms.
Screenshot_2025-05-05-23-09-31-692_com.borneoiot.app.jpg



You may wondering why there's a latitude and longitude setting for your location. Don't worry, it's not for stealing your privacy. It's just that the fully automatic sun simulation feature, which calculates your local sunrise, noon, and sunset times based on astronomical algorithms, needs to know your location on Earth. All that fancy math happens in the tiny LED controller, not the phone app.
 

TOP 10 Trending Threads

WHAT AMOUNT OF LIVE ROCK AND SAND SHOULD BE PRIORITIZED FOR OPTIMAL BIODIVERSITY/FILTRATION?

  • 100% live rock + bagged sand

    Votes: 37 27.8%
  • 100% dry rock + 100% live sand

    Votes: 45 33.8%
  • 50/50 live/dry rock, 50/50 live/bagged sand

    Votes: 29 21.8%
  • 75% live rock, 25% live sand

    Votes: 12 9.0%
  • 25% live rock, 75% live sand

    Votes: 10 7.5%
Back
Top