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

PPBlimpy

Valuable Member
View Badges
Joined
Jan 9, 2025
Messages
1,692
Reaction score
2,102
Location
Cumberland
Rating - 0%
0   0   0
So I am reading that this module, which looks to be under $10 on amazon can possibly retro fitted into a LED that has its own drivers and power supply possibly? and as mentioned be able to run you app.

one of my v2 noopsyche lights has stopped responding to the controller and willing to sacrifice it in the name of science! it is only 5 channel with fan.

i have been learning in my spare time and will tackle this. hopefully have this module at the house when i get home next 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
So I am reading that this module, which looks to be under $10 on amazon can possibly retro fitted into a LED that has its own drivers and power supply possibly? and as mentioned be able to run you app.

one of my v2 noopsyche lights has stopped responding to the controller and willing to sacrifice it in the name of science! it is only 5 channel with fan.

i have been learning in my spare time and will tackle this. hopefully have this module at the house when i get home next week

Yes, as long as the Noopsyche's LED driver circuit isn't damaged, you just need to use a hot air gun (or an old pan filled with sand) to take off the STM32 chip, then hook up the PWM output from the XIAO-ESP32C3 to the driver's signal input circuit.

A clear photo of the PCB is all I need to help you make it work.
 

PPBlimpy

Valuable Member
View Badges
Joined
Jan 9, 2025
Messages
1,692
Reaction score
2,102
Location
Cumberland
Rating - 0%
0   0   0
haha awesome! I will be home early next week. I will get it pulled apart and send photos. I ordered up the 3 of the ESP32C3.

The light works fine when adjusting via the controller but as soon as I save it the light stays off. Circuits are all good.

I am excited to try your App. Need to pull out my old tablet and get it all updated and will load my apex stuff on it also to control the rest of the 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
Update:

To make it easier for everyone to test our firmware and mobile app, we’ve launched the **Web Flasher**: https://flasher.borneoiot.com

All you need is a dirty cheap XIAO-ESP32C3 development board. Simply connect it via USB, click the “Connect” button, and our custom firmware for XIAO-ESP32C3 will be flashed automatically.

Yes, you can flash firmware directly from your browser without installing any software. It’s that simple.

1760069926962.png
 
Last edited:

PPBlimpy

Valuable Member
View Badges
Joined
Jan 9, 2025
Messages
1,692
Reaction score
2,102
Location
Cumberland
Rating - 0%
0   0   0
Waiting on my ESP32C3 to be delivered. Going to try to spend some time tonight on my tank and take down the faulty light.

I need to pick up an android device. I may have an old samsung tablet sitting around, will need to find it and see exactly how old it is. Whatever I wind up with I will also load fusion for my Apex stuff and use as a full time display.
 
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
Hello everyone, a quick update on the new software/firmware features for my controller:

1. ESPTouch WiFi provisioning has been replaced with Bluetooth BLE WiFi provisioning for better iOS support.
2. Added a cloud-simulation feature.
3. Added a Disco demo mode.

Screenshot_2026-01-17-19-48-19-640_com.borneoiot.app.ce.jpg
Screenshot_2026-01-18-19-38-05-316_com.borneoiot.app.ce.jpg


Have fun!
 

andrejk

lapsed salt tank geek learning it all again now
View Badges
Joined
Nov 28, 2021
Messages
63
Reaction score
57
Location
Mason, Ohio
Rating - 0%
0   0   0
one of my v2 noopsyche lights has stopped responding to the controller and willing to sacrifice it in the name of science! it is only 5 channel with fan.

i have been learning in my spare time and will tackle this. hopefully have this module at the house when i get home next week

Did you end up trying this? I am retiring a Noopsyche V3 (pre-Pro which added the app controls) and thinking about retrofitting this controller into that unit.

I opened that light a while back and got pictures of the internals with the idea of reverse-engineering the wireless protocol but never ended up doing that. Here are the photos. (Again, this is K7 V3 -- pre-Pro).

In this first photo, you see a nice separation between what looks like the control circuit (top) and the LED drivers (bottom, between the LED boards). So I don't think you'd have to remove the chip if that header connection between the two is a PWM feed. (I haven't tested yet this but I would bet money on it.)

BTW, I'd also like smarter fan controls that do a better compromise between temperature and noise. It seems like it's either on or off here. My new tank is in my home office so I'm much more serious about noise now.

BBD3C979-F0B2-4CA0-8AC7-BE5FAB70AD13_1_105_c.jpeg
A8676343-57EE-42A6-8274-31A8049A34B6_1_105_c.jpeg
FBDCD85F-9E5A-4162-868D-33A968DCA874_1_105_c.jpeg
 
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
Did you end up trying this? I am retiring a Noopsyche V3 (pre-Pro which added the app controls) and thinking about retrofitting this controller into that unit.

I opened that light a while back and got pictures of the internals with the idea of reverse-engineering the wireless protocol but never ended up doing that. Here are the photos. (Again, this is K7 V3 -- pre-Pro).

In this first photo, you see a nice separation between what looks like the control circuit (top) and the LED drivers (bottom, between the LED boards). So I don't think you'd have to remove the chip if that header connection between the two is a PWM feed. (I haven't tested yet this but I would bet money on it.)

BTW, I'd also like smarter fan controls that do a better compromise between temperature and noise. It seems like it's either on or off here. My new tank is in my home office so I'm much more serious about noise now.

BBD3C979-F0B2-4CA0-8AC7-BE5FAB70AD13_1_105_c.jpeg
A8676343-57EE-42A6-8274-31A8049A34B6_1_105_c.jpeg
FBDCD85F-9E5A-4162-868D-33A968DCA874_1_105_c.jpeg

Drop the CKS32 MCU, buy an ESP32-C3 module, flash my firmware, and hook it up to the PWM pins.

As for the fan, without a temperature-sensing circuit it can't be controlled automatically.
 

andrejk

lapsed salt tank geek learning it all again now
View Badges
Joined
Nov 28, 2021
Messages
63
Reaction score
57
Location
Mason, Ohio
Rating - 0%
0   0   0
Did you end up trying this? I am retiring a Noopsyche V3 (pre-Pro which added the app controls) and thinking about retrofitting this controller into that unit.

I opened that light a while back and got pictures of the internals with the idea of reverse-engineering the wireless protocol but never ended up doing that. Here are the photos. (Again, this is K7 V3 -- pre-Pro).

In this first photo, you see a nice separation between what looks like the control circuit (top) and the LED drivers (bottom, between the LED boards). So I don't think you'd have to remove the chip if that header connection between the two is a PWM feed. (I haven't tested yet this but I would bet money on it.)

BTW, I'd also like smarter fan controls that do a better compromise between temperature and noise. It seems like it's either on or off here. My new tank is in my home office so I'm much more serious about noise now.

BBD3C979-F0B2-4CA0-8AC7-BE5FAB70AD13_1_105_c.jpeg
A8676343-57EE-42A6-8274-31A8049A34B6_1_105_c.jpeg
FBDCD85F-9E5A-4162-868D-33A968DCA874_1_105_c.jpeg

Drop the CKS32 MCU, buy an ESP32-C3 module, flash my firmware, and hook it up to the PWM pins.

As for the fan, without a temperature-sensing circuit it can't be controlled automatically.
I’ll test those controller-driver pins. I count 8 of them. My guess is 8 PWM, 1 ground, and the last is either power or temp. The fan cycles on and off, so it has a temp sensor somewhere. (But it may not be sophisticated enough for this task.)
 
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 LED controller app now supports cross-day scheduling.

This feature has existed in the firmware for quite some time, but I finally had the chance today to implement it in the app UI as well.

Screenshot_2026-02-04-19-06-27-057_com.borneoiot.app.ce-portrait.png
Screenshot_2026-02-04-19-06-45-173_com.borneoiot.app.ce-portrait.png
 

andrejk

lapsed salt tank geek learning it all again now
View Badges
Joined
Nov 28, 2021
Messages
63
Reaction score
57
Location
Mason, Ohio
Rating - 0%
0   0   0
I got this working with my old Noopsyche K7 v3 light. I contributed back some fixes on the IOS app and it’s working pretty well there, with a few disconnects here and there.

This is very hacky wiring. It wouldn’t be hard to connect this with the official controller board.


20260204_112651_25C168C8-E08A-42BF-9A2B-E23B6996B07A.png

20260204_112651_4356A6F2-D41B-4C50-B79B-CFDE181626B6.png

I left the old board in place to run the fan and I’m borrowing its 3.3v rail. Most of the light channels match up but one doesn’t so it would be nice if I could configure the light colors in the firmware. (Maybe it’s possible, I didn’t look.)

I mounted the ESP32 with double-sided tape and it all closed back up pretty well. The app is definitely an improvement over the factory one except I really like the QR-code based profile export/import/sharing feature in the Noopsyche app.

Btw, here’s the inside of the K7 Pro V3.

20260204_113055_72DA636B-E686-4000-B678-3EBEFC1791BA.png
Similar setup, seems like this could work on those. I’d need a solid way to keep 4 lights in sync like the Noopsyche’s leader/follower config. (App works with the leader only, other lights are directly connected to the leader.)
 
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
Congratulations on getting it up and running! Does it look smooth when you're toggling the power in the app?

If the constant current driver is running too hot, you could try lowering the PWM frequency in the controller settings page.
 

CapitalCityAquatics

Active Member
View Badges
Joined
Feb 3, 2024
Messages
199
Reaction score
145
Location
Tallahassee
Rating - 0%
0   0   0
As for the colors, of course you can customize them:



Told 'ya, it's the world's best.
So, I created an Aquarium Sensor module, to rival APEX. But I never thought I could really create a light that would actually be good. But you may have!!! I would love to pair this with my ESP32 powered Aquarium Controller, the AquaPi. This can close the gap!

Imagine an aquarium FULLY open-sourced, FULLY automated and controlled by Home Assistant, monitored by AquaPi and given life with a light like this? Lemme know if you're interested.

I also want to create automated feeders, but they are sooooo cheap nowadays that anything I can make won't be anywhere near the price of the mass-produced ones, but maybe WE could?

 
Last edited:

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.4%
  • 100% dry rock + 100% live sand

    Votes: 46 34.1%
  • 50/50 live/dry rock, 50/50 live/bagged sand

    Votes: 30 22.2%
  • 75% live rock, 25% live sand

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

    Votes: 10 7.4%
Back
Top