I recently completed a sump pump design that deviated from designs I have
seen to date.
On SSN583 we cycled pumps periodically because shaft/bearings would, over
time, become unable to startup. Corrosion, metal migration, contaminants....
Over the years in my home I have gone thru several pumps for this specific
reason, many I could not repair because they were designed to be un-repairable.
So I used simple float. Then added code to :
1) Implement pump learning in cycling it for longer times depending on
how implemented cycling was not moving flow.
2) Added short daily pump cycle, once basement dry, to tackle shaft freeze issue.
Until such time as I turn it off once season done.
3) Detected float position freeze.
4) Limited total hours pump could run.
5) Cycle design to let pump turn off to cool periodically.
6) Kept track of cycles of float and total pump on time.
7) Plan on finishing adding server services to it so I can monitor it from
easy chair or phone.
I used Tuniot on an ESP32 and Multitasking which made the coding much
simpler and clean, in my opinion.
Prior to that wrapped up a fire alarm SMS based for smoke and gas, runs in my
sons home, shop, and Cabin, and my home. Again used Tuniot. Using ESP8266
in that case. It also facilitated using standard ION chamber alarm inout to trigger
a SMS as well. Employing a # of features I have not found in other alarm systems.
Loads of fun, contemplating selling designs....