The a-la-carte example isn’t usable as written any more. It got to be too big so I filled it up ugly pre-processor conditionals and snippet markers to use for continuous integration and documentation.
There are virtual functions all over the library, which definitely are eating up memory. I think almost the entire inheritance chain for sensors, modems, and variables could be re-written to use static, compile-time polymorphism (CRTP). But that’s a lot of refactoring.