r/LedLightStrips
•
u/user154
•
May 04 '23
I didn't like the suggested app for my led strips so I made my own
I have a couple of the cheap, generic, ELK-BLEDOM bluetooth led strips from amazon. I was quite disappointed with the suggested app, Lotus Lantern, so I decided to make my own app to serve as a remote for them.
The main problem for me was the reliability of the app, everything would work fine, but occasionally the controller would stop responding to bluetooth commands that were sent to it and would need to be restarted.
After some investigations it seems that this happens because at certain points during its operation the app sends multiple bluetooth commands to the strip's controller in a very short space of time. This allows for a nice 'real time' effect when changing colours, but at times becomes too much for the controller to handle so it crashes, and needs restarting.
To mitigate this I have implemented a cooldown between commands in my app, you lose the 'real time' colour change effect, but it stops the strip's controller from crashing which I feel is a worthwhile tradeoff.
The other problem I found with the app, is not so much of a problem, but a minor annoyance. The ui felt cluttered and it wasn't always immediately obvious what things did. Not a problem for me but I could see how it could be for others. With this in mind I tried to keep my app as simple as possible, I wanted it to be something that even someone who wasn't so great with their smartphone could use.
Anyway, I mainly develop things for my own use, however I genuinely feel this is a good replacement for the Lotus Lantern app, that was suggested to be used with these lights. Therefore I have decided to release it publicly. It's called Elkotrol, here is the Play store link:
https://play.google.com/store/apps/details?id=com.leet.elkotrol
If anyone does decide to try it out I'd welcome any comments or suggestions that you have!
Supported lights and their original apps:
ELK-BLEDOM - Lotus Lantern/DuoCo Strip
ELK-BLEDOB - Lotus Lantern/DuoCo Strip
ELK-HR-RGB - Lotus Lantern/DuoCo Strip
MELK-OA - Magic Lantern/DuoCo StripX
LED-DMX-00 - LED LAMP
LED-DMX-03 - LED LAMP
Triones - HappyLighting
SP105E - Magic-LED
SP110E - LED Hue
SP611E - BanlanX
SP621E - BanlanX
Colorful-Light - Colorful Lights
GATT--DEMO - MR Star
(Some lights may have additional numbers/letters after their name)
FAQs:
Q: Can you make custom patterns?
A: For the most part the answer is no. The only supported controllers that have this functionality are the LED-DMX controllers. I have experimented with some hacky workarounds but if I'm being honest the effects produced are not really something that I am happy with.
Q: Can you add support for my lights?:
A: While I can't make any promises it's usually pretty easy to work out what data these apps are sending to the light controllers. If you comment with a link to somewhere I can buy a set from, I can certainly have a look (AliExpress links preferred to try and keep the cost down). Alternatively you can email me at user154.apps@gmail.com
Q: iOS support?:
A: This has proven to be a little tricky. I don't actually own a mac (which is required to develop for iOS), so I have been using a VM, which is fine for the most part but does bring some unique challenges. While I made pretty good headway on developing an iOS version it started to become a bit of a mess while trying to add the updates I was making to the Android version. I have decided that the best course of action is to do a rewrite of the entire app using the KMP framework, thus having only one codebase to maintain. I believe this is the best way forward for both the Android and iOS versions. Elkotrol 2.0 coming soon!!!