I want to gather data from multiple sensors, make simple operations on them (like store last samples in a buffer, calculate moving average, etc.) and send them to the Internet of Things cloud using WiFi. Which MCU should I use for this purpose?


  • Cost: cheaper than $25
  • Size: smaller than the Arduino Uno
  • Storage: more than 1KB non-volatile memory
  • Interfaces: I2C, serial, WiFi
  • Computing power: supports TCP/IP stack, ideally with TLS
  • Security: some kind of encryption

1 Answer 1


One option is Particle (f.k.a. Spark) Photon - STM32F205 ARM Cortex M3 microcontroller with Broadcom BCM43362 Wi-Fi module, 1MB flash, 128KB RAM for $19.

Second option is WiFiMCU - STM32F411CE ARM Cortex M4 microcontroller with Broadcom Wi-Fi module, 2MB SPI flash, 512KB on-chip flash, 128KB RAM for $10.

Another option is a much cheaper NodeMCU - ESP8266 microcontroller with 64 KB SRAM, 96KB DRAM, 4MB flash for $4.

The last option is SparkFun ESP8266 Thing - also based on ESP8266 with On-board LiPo battery charger for $16.

All of MCUs support full TCP/IP stack and partial SSL.

  • 1
    Worth mentioning is that mbed TLS (PolarSSL) works with BSD sockets which requires running an RTOS (ST has official resources for FreeRTOS).
    – jaskij
    Apr 8, 2016 at 11:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.