-1

I am having doubts with a project I'm making. My project involves a sets of LEDs stripes, among which some are controlled from a smartphone, and some automated. The LED strips are connected to an Arduino, that would receive commands from a phone. Here is a scheme, with essentials elements I marked for my project :

  • A development board, with wifi support
  • a framework/program allowing the smartphone to communicate with the board
  • And an Android app with a color interface, to change LEDs colors

I made some research:

  1. I found a lot of boards, and eventually choose ESP32 boards (Good ones).
  2. I found a WLED system, that meet my requirements
  3. I know Home assistant, that offers more possibility than WLED
  4. I won't use local server, since it is not easy to use for other people (family members for example).

WLED seems to be very useful, and easy to use. But, from what I understood, if I installed WLED on my board, I would have to dedicate the entire board to the WLED program, and therefore i wouldn't be able to upload any other custom code to my board. Since I want some LEDs to be remotely controlled, and the others to run on an programmed loop, I don´t know if it´s a good idea

Home assistant is more complete, and shouldn't have the problem mentioned above. It can also support several devices, and can have many boards registered on it. I would like, later, to expand Home Assistant to other projects, this is why starting Home assistant now is a good idea. Thus, I believe I will go for Home Assistant


I now struggle with the following issues:

  1. I am unsure if i understood correctly, but I read some people complaints about certains ESP32 boards which need complete wifi configuration (networking stack), and are complicated to install. This is why I wanted adafruit boards, supposing that their chip has already an uploaded code. Is that right ?
  2. I also read on the internet that after compiling the networking stack on ESP8266 boards, there isn't much space left for the program to run. Given that I choose the ESP32, with more space, do I have plenty of space for my code, or is it still limited ?
  3. WLED seemed fine, but as I said, I'm not sure if I can upload code. Can I upload custom code and WLED system to the board, or is it entirely focused on WLED ?

Thanks to anyone who could bring some clarification to me, I will appreciate it !

1
  • 2
    You have a lot going in this single post.You'll probably have better luck asking single specific question that could be clearly answered.
    – timemage
    Nov 28, 2022 at 18:32

1 Answer 1

-1

I am unsure if i understood correctly, but I read some people complaints about certains ESP32 boards which need complete wifi configuration (networking stack), and are complicated to install. This is why I wanted adafruit boards, supposing that their chip has already an uploaded code. Is that right ?

I don't know what complaints you have seen (since you didn't like to them), so that I cannot talk about the context. I have used several different ESP boards. The ones, that are a bit difficult to program, were the boards without a USB interface. That is mostly the case with the very small boards.

Yes, Adafruit is a reputable source for such boards. Though I also never had problems with typical ESP dev boards from other sources, like the company named like the big river in south america. Install the ESP32 core in the Arduino IDE, connect the board via USB and program it.

I also read on the internet that after compiling the networking stack on ESP8266 boards, there isn't much space left for the program to run. Given that I choose the ESP32, with more space, do I have plenty of space for my code, or is it still limited ?

The ESP8266 is smaller, yes, but I still used it and could still write quite big programs while using Wifi. Here one fact is also important: The number after the ESP describes the chip itself, but most boards use an external flash memory chip. Thus the maximum program size depends on how big of a flash chip the board manufacturer uses for the board. You can find that information wherever you buy your board.

Either way, with an ESP32 you are in every case good to go and you will have plenty of resources for whatever you want to do (including enough free pins). If you want to use WLED, you can check for compatible boards in their wiki at github.

WLED seemed fine, but as I said, I'm not sure if I can upload code. Can I upload custom code and WLED system to the board, or is it entirely focused on WLED ?

Only one program can run at the ESP at a time (technically the ESP has 2 cores, so executes 2 things simultaneously, but one core is used for handling Wifi, so for user code only one core is left). WLED is meant as a ready to use firmware, so no writing of custom code.

You should first think about, what you would want to do with your code. You haven't specified, what exactly your custom code should do while WLED handles the LED strips. Maybe the functionality of WLED is enough for you.

Otherwise you can loop for 2 things with WLED:

  • Search in the WLED code/documentation for a place to plug your own code into a function. WLED might give you that possibility (cannot search that myself now, since the official documentation site fails with a certificate problem for me and I cannot open it, even if I accept the risk in my browser).
  • If the above is not possible, you can try changing the source code of WLED to also handle your own code. That might be rather difficult, especially for a beginner. Digging in someone elses code while being a beginner is a very steep learning curve.

If both of this is not fitting for you and you still want to execute your own code, then you will have to write the code yourself entirely.


Besides my answers above, I would suggest, that you think about what features you need and which you don't need exactly. The options, that you listed, are vastly different.

Home Assistent especially is a very big project, which is powerful, but also complex and difficult to setup. Also keep in mind, that Home Assistent is a program, that needs to run somewhere, and it will not run on the ESP. So you need something like a Raspberry Pi (or any other small home server, which you run 24/7), where you install and configure Home Assistent, before you can even start with the ESPs.

If all you want to do is controlling some LED strips, then Home Assistent is overkill. If you plan to automate your home further, then Home Assistent can be a good choice. Though then your project isn't only about LED strips.

7
  • Hi, thank you for the explanations. For the ESP32, there are a few videos on the internet, on how to compile esp32 firmware, for example this one : Compiling esp32 lua. Maybe that is only needed for the ChiliPeppr Workspace ?
    – BruceWawe
    Nov 29, 2022 at 10:30
  • What I need to do with my board, is to have a sets of LEDs that have a certain behavior, that is programmed in the code, and then another sets of LEDs that is controlled by smartphone. This is why having the board only running WLED won't work, right ?
    – BruceWawe
    Nov 29, 2022 at 10:35
  • Lua is a different programming language. Either you need to refer to the WLED documentation on how to compile it (if you want to use it) (or maybe just upload a precompiled binary of WLED via the Arduino IDE), or you learn how to program the ESP with the Arduino IDE in C++ (for which you can find numerous tutorials online).
    – chrisl
    Nov 29, 2022 at 10:48
  • I don't know, what features WLED has. Please refer to the documentation for this. If it doesn't fit for your project, then start writing your own code in the Arduino IDE (or any other IDE, that supports programming ESPs)
    – chrisl
    Nov 29, 2022 at 10:49
  • I'm planning to use Home Assistant for more project (temperature, sound, communication, monitoring). Starting now would allow me to understand Home assistant and practice a bit. I know that Home assistant runs on a server, but I believed that there could be a direct connection with a single board, if no other devices are used.
    – BruceWawe
    Nov 29, 2022 at 10:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.