https://openelab.io/blogs/learn/esp-module-selection-guide