There are two system on a chip devices that I’ve been looking at for more advanced on board processor applications. These devices have a good amount of flash memory for programming, fast, 32 bit processors, ample ram, and most interestingly, wifi and bluetooth interfaces built into a single chip. Two of these are the Cypress PSoc 6 and ESP32. The ESP32 surpasses the PSoc 6 in a few specifications such as almost twice the ram, and the ESP32 has a packaging option that includes 2MB of flash memory. But otherwise, the chips are comparably capable. So another thing to consider is ease of development. The ESP32 can be developed in the arduino IDE, which promises good community support, but the basic arduino programming language wasn’t intended for the ESP32, so additional open source libraries are required to unlock the esp32’s full functionality. The Psoc 6, on the other hand has companion windows development software designed specifically for the chip that is supported by the manufacturer.
The big differences between the systems comes in packaging. The ESP32 is increasingly available in mini modules such as the WROVER which include expanded memory for use as mini networking computers. But this module comes in a 20 pin package, severely limiting the parallel I/O capability. The psoc 6 on the other hand is available in a BGA116 package with 78 I/O pins or is also available in their WICED modules with built in antenna to provide Bluetooth tx/rx capabilities comparable to the WROVER but the WICED modules lack the wifi and added memory, and are more expensive.
All in all, it looks to me like the ESP32 and its modules have an advantage for now for most simple networking applications, with cheaper, more capable modules, and I’m going to focus on it for those.