Pair of WiFiMCU EMW3165 Carrier/USB/Power
Pair of WiFiMCU EMW3165 Carrier/USB/Power on a breadboard

This is a carrier board and NodeMCU software port for the EMW3165 WiFi/ARM/Flash board. Think of it as the more muscular cousin of the ESP8266 carrier board/NodeMCU designs typified by the Adafruit Huzzah. The EMW3165 is roughly a year old and the WiFiMCU board a few months newer, but both are relatively unknown compared to the the ubiquitous 8266 family. The WiFiMCU  software is still somewhat raw, but it’s fun to be involved with something with a smaller development community. The WiFIMCU is effectively a very inexpensive high level development platform for EMW3165 modules.

What is it again?

  • Shanghai MXCHIP EMW3165 WiFi/Arm/Flash module soldered to a DIL carrier board with DIL pins to plug into your breadboard
  • CP2102 USB interface (microUSB connector)
  • Solid 5v to 3.3v power conversion

EMW3165 has what?

  • Broadcom BCM43362 802.11bgn radio & firmware (closed “blobs”) supports WEP,WPA/WPA2,PSK/Enterprise
  • ST STM32F411CE 100mhz 32 bit ARM Cortex 4F (hardware floating point)
    • 128kB RAM
    • 512kB FLASH
    • Oodles of GPIO
  • Outboard 2MB FLASH with simple filesystem support
  • WiFi network stack
  • NodeMCU system with native LUA support
  • C/C++ support sort of available (currently requires IAR Embedded Workbench)

What good is it?

  • Standalone WiFi station or access point.
    • As a station it can trivially send/receive data via a network socket, connecting to your WiFi network access point or router
    • As an access point it can be a stand alone socket server (“web server” by emitting HTTP on port 80) that you connect to with a specific WiFI SSID
    • Can be a station and AP simultaneously
    • Radio on WiFiMCU uses PCB antenna, but the EMW3165 is available with an external antenna connector for higher gain
  • Runs high level language programs written in Lua
    • Relatively simple but powerful scripting language
    • Simple file system I/O using FLASH
    • Can run arbitrary programs and can be arranged to automatically run a program at power up
  • Essential subset of APIs
    • Digital I/O
    • Serial UART, I2C, SPI
    • ADC
    • Timers
    • PWM