Current News

Moderator: Mmiscool

User avatar
By Mmiscool
#54772 Hello,

I have been hard at work here for the past few hours and have managed to automate my build process so I can disable some features from the 512k build.

I have had success.

The following list of features are now not available for 512k modules.

  • Graphics command for the web browser.
  • TFT functions
  • OLED commands
  • LCD commands
  • Debugger interface
  • Vars page
Removing these features puts me at about 99% of the total available memory for the 512k modules.


There is also a bug fix for the timer function that prevents some problems from occurring for all module sizes.
User avatar
By forlotto
#54782 Well this would make more since then folks what is being experienced is a memory issue.

Even with all of that removed we are at 99% phew I don't forsee any updates in the future for 512k.

So this is where it stands developing is not the problem folks it is a hardware limitation that makes in not possible to support this makes a lot more since.

So mmiscool has practical issues he faces well beyond popular useage many of the bug fixes and speed improvements and IR/UDP branch etc were enough to put it over the edge features I would not want to see lost from the 512k branch.

But if my thinking is correct the UDP all in one automation software could all be rolled into one branch one syntax at current I believe that puts things back on track Bugs, Electrogaurd and all who voted for 512k I'm curious what your thoughts are on this one I'd say I owe the dev a little credit where credit is due I'll start it off thanks mmiscool for making all things possible!
User avatar
By bugs
#54801 forlotto, I did not think the poll was about 512k but about 1M. I came late to the ESP and have never bought an 01 with less than 1M.

It is good news about the automated build system - now how about a web page with tick boxes so we can pick 'n mix which libraries are used before clicking the Build button... ;)
User avatar
By forlotto
#54808 Me neither to be honest. All of my devices are 1MB or more. But many have 512k devices. It was about 1MB devices you are correct but mmiscool took it a step further to include 512k devices in the support listing.

So you are more or less looking at a modular build process from which parts can be user selected exactly like fright titanic more or less thus the user invokes the build process and selects what he/she wants or does not want. Automated build for all.

Hrmmm this would take a lot of extra resources which would add a fairly large monetary cost to maintain if I am picturing things right in my minds eye. This not only would be a burden on time but a burden on the wallet as well if I am correct I don't know that our community is as large nor as generous or well off as say the LUA community which basically has been here for the duration. This would likely require a dedicated server with some horse power weather you host it at home or abroad there is a cost incurred. At home it costs are network traffic, processing power, ram, storage (would likely want to use a faster drive for best results ssd, raid0, 10k) alas there is the cost of electricity which is a decent chunk every month to run a decent server to support this tasking. Away from home hosted it can be pretty spendy for a dedicated server a nice monthly bill.

Just thinking from a practical standpoint however I am wrong many times.

So the most stripped version of basic that I could think of for a base would be this.

Basic with the following.

Math functions
String functions
Pin functions
Settings Page
File Manager
Serial 1 only no serial 2


No branches UDP branch, IR Branch, Vars Page, Editor Page(would need to upload your code) No SPI, No Websockets, No One Wire, No I2C, no libraries for just about anything this would be about as slimmed down as it gets and then have options to add these things as the user see's fit. Other things like thingspeak email weather etc are all technically special functions that would not be included in the base as well.

Start with a completely gutted version and build as the user see's fit completely modular I love the approach myself and it would be a totally workable solution to all things basic and would make it a lot more user friendly but the undertaking of such a task both in time and monetary tolls is fairly extensive if my estimations are correct but at the same time it would greatly improve the way things are done in the long run and be a worthwhile investment but surely I wouldn't expect this to happen overnight it would be an evolution rather than an upgrade thus taking time but for the moment you have options that can run the latest iteration of basic on all devices and still maintain stability for as long as a hardware limitation dependent on flash size does not cause issue. The base version would be the version that one would end up with as a result in the end even at current.

But if I am understanding correct what you want is a method of automated build so a user can define what is pertinent to their needs rather than the community or the developer. A method where you can visit a web page start with a fully stripped version and add things little by little to fit the needs and size of your module which eliminates any politics from decision making on what to keep and what gets thrown out hrmmm this is kind of what I had suspected originally.

It is possible this would have the negative effect from increasing the size of the firmware to make modular things possible adding bloat possibly and putting a small dent in the speed of operation as well I really cant say for sure maybe the opposite is true and it will make everything more efficient.

Elegant solution yes plausible solution yes but it is also a very large undertaking for a single person. And their may be costs incurred not only in time but also in monetary that will end this solution before it begins. Other things such as lack of knowledge on how to approach such a problem as it would require a fairly wide variety of programming knowledge to arrive at the end solution as well so being competent and efficient with a variety of programming to arrive with a clean end solution may also be part of the limiting factor. I know I personally am lacking in my ability to do so and believe many of us are this would require a team effort to be done in any reasonable time frame I would assume. Folks that can talk things out who are experts in each field would make such a transition a lot more smoother. It seems you have some experience in building why not reach for the next step and take on learning how to make this possible and contribute some time to helping development in this direction?

I believe you are capable as any bugs if you are modifying the IR branch or maybe their is more of a leap? What is the limiting factor to having you help make this a possibility? I love the idea and would like to see it too, but maybe the same factors that limit you from aiding in such a solution are the same limiting factors for others. It is important to determine these all of the things stated if we were to get serious with such a project and I really do believe a little help would go a long way. As great as basic is I am a bit confused as to why more developers have not jumped in to coordinate with mmiscool and help this thing along. I have tried to help not knowing C code was somewhat successful through deduction to arrive at helping find a bug that led to the html bug fix a rather annoying method I agree with mmiscool on that but a solution none the less was born out of this I will continue to further my studies and maybe some point down the path I take I too can help contribute to such an end goal. I am aware of other limiting factors such as little or no use of arduino or any mcu and a general over all lack of programming knowledge in any specific language I have to read and test repetitively before arriving at a workable solution. Some things that are possible I cannot envision how to make possible with the available functions. But talking it out with people has slowly but surely given minor improvements to my understanding doing in general has also helped.

Understand the end goal and then understand what is involved to make it a reality what steps need to be taken, what tools will be needed, what knowlege will be needed, is it practical, how can it be achieved. Just like any other goal we should ask questions and do so putting ourselves in the shoes of the developer and asking the questions I did. Actually there is likely more questions. It is a possible solution in the sense that it CAN be done as their is an example of it. However in order for it to be actualized we need to understand the scope of the requirements to make it a reality.