Close

Why ESP32 is actually reliable?

A project log for Chipperb

Simple and cheap configurable ESP32 based controller for wired sensors and relays

jason-kJason K 05/07/2019 at 14:021 Comment

So our winner is ESP32, woohoo! According to the set of criteria, it is quite suitable for our undertaking. And, since we stopped at it, a couple of words about reliability, as promised.

From the moment of my fleeting acquaintance with ESP, initially with ESP8266, and then with ESP32 on channels and forums, I occasionally meet the opinion as follows: "Yes, esp is the same unserious Chinese crap from whoever it is unclear. I took the NodeMCU with lua on board, copied the anonymous script and it's all buggy !!! 111 ". So, of course, I won't say anything because of my wild incompetence in this area. But on the topic of the firmware, the following opinion holds: yes, as a person familiar with the Chinese (and not only) coding school of thought, I can assume that the glitches and bugs in the system are numerous, which conforms with the list of closed and open problems in the manufacturer's repository. But:

- First, it’s other guys’ flaw as well and often they don’t even bother to open their repository (https://github.com/espressif/esp-idf/issues?utf8=%E2%9C%93&q=is%3Aissue) for prying eyes, so it’s difficult to estimate the scale of disasters.

- secondly, the majority of absolutely critical lousy bugs were caught at the dawn of chip development in 2016-17 - the current list is much less harmfull.

- thirdly, I myself saw some cases where dozens of esp32s have been working without failures for months.

- Fourth, we are developing a device for the home, and not for rocket science. Therefore, the requirements for reliability and resistance to external factors during operation are relatively benign.

- Last but not least: beginner home-made products builders often do not use the official sdk as a framework for their development, but rather use various add-ons, such as the lua interpreter, arduino-esp32, micropython, there seems to be over 9000 them. These add-ons appear out of an honest desire to make our life easier, especially if you already had experience with Arduino or Python. But let's face it: if we take a less than perfect sdk base and add some less than perfect frameworks and some non-perfect code on top of it, what is our chance of success? That's right - ah-oh!

Well, the conclusion: I’m taking the official SDK for the firmware, Visual Studio Code for an IDE and go ahead. I’m not going into excessive detail while describing the software part, since it will take me as much time as coding itself and focus more on the development of hardware. Moreover, before we code anything, we must first design the hard stuff, based on the requirements and I will do just that!

We will continue our pursue of the right amount of detalization due to public demand.

Discussions

Abdul Nabi wrote 03/28/2021 at 16:35 point

The chip and firmware may be "fine", but even now in 2021 the ESP-IDF and software eco-system has to be the biggest pile of crap I've encountered in 40+ years of software engineering... projects more than a few weeks old run the risk of not building anymore... tools just don't work... a project that builds fine on the latest with VS-Code doesn't build with idf.py... on and on... I've done 5 serious projects on the ESP32 and in each case about 90% of the effort is trying to figure out how esp-idf has changed or screwed up or is buggy... use another library? Expect to do as much work to get it running as having written it yourself.

In the end a consumer products company I work with decided to abandon the effort to move to ESP32... yes the chips were cheaper... but the software quality would have been crap, and the cost of development increased by 5-10x making the actual ESP32 cost around 4x a Nordic/Dialog/NXP solution (and they're expensive solutions).

Frankly the ESP32 is not only NOT for production products, it's not even for hackers... it's for masochists that want to be whipped by their tools and platforms vs. actually building anything (beyond throw away blinking LED projects) 

  Are you sure? yes | no