Why is that bad? It's possible that it's sloppy or lazy, but it's also possible that the author has carefully considered their options and is using the best tools (or their preferred tools) for the job. As described elsewhere in the thread, a soldering iron does more than just get hot, and as described in the readme, the project has accumulated a lot of functionality.
because it is unreadable and unmaintainable with all of these dependencies. Even in the description it says that it spiraled out of control at some point
"Originally conceived as an alternative firmware for the TS100, this firmware has evolved into a complex soldering iron control firmware."
That doesn't imply anything is out of control. How do you know it's unreadable and unmaintainable? Just browsing the repo it seems pretty under control and organized to me. Firmware projects tend to get complicated, see also QMK for keyboards.
Well, it is unmaintainable, because maintaining this set of dependencies is absurd for what this firmware is and it is unreadable, because I tried to read it and lost interest in a few minutes later, because of all the bullsh*t.
I dug through it and even compiled it quickly without an issue. The code looks clean, and well organized, and even supports multiple languages.
Just because code isn't PHP, python, or "hello world", doesn't means that it's absurd and unmaintainable. Especially when you have the attention span of a may-fly and declare it to be "bullsh*t" after a few minutes
I don't think it is a "me" issue. On the contrary, I think this project has a lot of issues similar to what contemporary modern web development has. Generally firmware engineers know not to do this kind of stuff, since we have a highly derivative work that spans across decades.
I'll give you an example - because of chip shortages I had to redo a couple of devices and their firmware for the past few years. I had to dig into code that hasn't been touched for 12 years on more than one occasions and I had no issue compiling it more than a decade later. The reason why is because people weren't trying to be fancy and they kept the dependencies to a minimum.
Imagine if you stop pumping oxygen into this project for a month...
Really the code is C++ on a C RTOS (the same compiler toolchain), and the Python scripts are there to generate fonts and handle build jobs, and don't get loaded into the actual iron. Last time I checked the code is built off blocking functions rather than state machine objects in an event loop, which I'm not sure how I feel about in an interactive GUI.