$10 WiFiMCU Board is a NodeMCU Clone Based on EMW3165 Module

Yesterday I wrote a short tutorial for NodeMCU board, and one visitor mentioned WiFiMCU board that has a similar form factor as NodeMCU, and while it is more expensive at about $10 on Aliexpress or Ebay, it is also more powerful and provides more I/Os thanks to its EMW3165 module including an STM32 Cortex M4 micro-controller with 128KB RAM, 512KB flash, a Broadcom WiFi module, and 2MB SPI flash.

WIFIMCUWiFiMCU specifications:

  • MCU – STMicro STM32F411CE Cortex-M4 microcontroller @ 100MHz with 128KB RAM, 512KB flash
  • Storage – 2MB SPI flash
  • WiFi –  Broadcom 802.11 b/g/n RF Chip:
    • Modes – Station, Soft AP and Station+Soft AP
    • Security – WEP, WPA/WPA2, PSK/Enterprise
    • 16.5dBm@11b, 14.5dBm@11g, 13.5dBm@11n
    • Receiver sensitivity – -87 dBm
  • 2x 15-pin headers with
    • 17x GPIO Pin
    • 3x UARTs
    • 5x ADC, 1x SPI, 1x I2C, 1x USB
    • SWD debug interface
    • 11x PWM
  • Misc – Boot and Reset buttons
  • Power Supply – 5V via micro USB port
  • Dimensions –
  • Certifications – CE, FCC
  • Temperature Range – -30℃ ~ +85℃ (operating)
The firmware includes a Lua Interpreter just like NodeMCU firmware, and you can connect to the terminal via the micro USB port @ 115200 8N1. The company, DoIT.am (Doctors of Intelligence and Technology), also provides WiFiMCU Studio debugging and firmware upgrade tool available for Windows only.
WiFiMCU Studio (Click to Enlarge a bit)
WiFiMCU Studio (Click to Enlarge a bit)

Source code, schematics (PDF), and documentation for WiFiMCU are available on Github, and look pretty decent. For example you can check out  WiFiMCU tutorial (PDF) in perfectly understandable English. Around 48KB memory is available once the firmware is installed, so you’ll have a bit more memory to play with some features like https, which seems hard (but possible) to implement on ESP8266.

WiFiMCU did have a Kickstarter campaign that failed to reach a paltry $3,000 goal earlier this morning, but it’s probably because of the lack of promotion as I can’t see it discussed on any other blogs. While the development status is not quite as advanced and community as large as for ESP8266 modules, WiFiMCU developers and EMW3165 community are said to work on Espruino (JavaScript for MCU), MicroPython, mbed platform and Arduino IDE support.

You may also obtain more details on WiFiMCU.com website, as well as WiFiMCU sub-forum on EMW3165 community website.

Thanks to Andrew for the tip.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
17 Comments
oldest
newest
Abdullbasit
Abdullbasit
8 years ago

I didn’t find any further information about the wifi chip. As I want to know if the this module can be programmed by ARM gcc (CooCox or uVision) because i find lua inconvenient.
Are there anyone who knows more about this thing?

Marius Cirsta
8 years ago

Any reason why you’d want this instead of the cheaper and better known one that has an ESP8266 ?

iridiumsat
iridiumsat
8 years ago

ESP8266’s been spreading all around and has a very strong community. So I think no any platform can catch up this movement.

Abdullbasit
Abdullbasit
8 years ago

@Marius Cirsta
Because it has more powerful 100 MHz Cortex-M4F MCU with floating-point , more ram and more peripherals like 12-bit/2.4 MSPS ADC, USB, ,3 usart, 3 spi’s , 2 i2c’s , 16-ch. DMA ,a Bunch of advanced timers and many many advanced features
and of course STM32 MCU’s have better support (compilers , debuggers , programmers, …etc).

Marius Cirsta
8 years ago

@Abdullbasit
OK, now it makes sense. Not sure I need all this but it does make sense now

Marius Cirsta
8 years ago

Oh and yeah I think Lua or anything other than C/C++ for embedded is a bad idea so if I get this the first thing I’ll look for is a way to do native programming.

Abdullbasit
Abdullbasit
8 years ago

Yes, Lua is extremely inefficient for real-time applications like driving an rgb led matrix panel as I’m struggling for the last few days getting it to work without flickering even in one color , not to mention the full color (using pwm for each color to mix the color you want). and after this experiment i begun to search for an alternative to the ESP8266 so I guess i’m buying on of these nice boards from aliexpress (may be this one: http://www.aliexpress.com/item/WiFiMCU-Wireless-WiFi-Development-Board-Using-Lua-From-EMW3165/32462953770.html ?)

John S.
John S.
8 years ago

I have to say Broadcom is a HUGE red flag for this this product’s chances as far as hobbyist uptake. Even ignoring Broadcom, this platform’s flagship firmware, the WifiMCU firmware linked above, requires IAR Embedded Workbench V7.20 to recompile. So $6K entry price to modify or contribute, which is basically the same thing as saying there’s no interest on WifiMCU’s part in building community involvement. And if you instead want to develop your own firmware from scratch, (e.g. the MicroPython port mentioned) and want to use that Broadcom WiFi, you’ll either need to use the MXChip WNET SDK and binary… Read more »

Abdullbasit
Abdullbasit
8 years ago

@John S.
Why are you not optimistic about this ? May be the WifiMCU code can be ported to gcc and I think it’s not that hard .

Marius Cirsta
8 years ago

I think it sucks that this is a two chip solution, the beauty of the ESP8266 is that as far as I understand it’s just a one chip solution which seems to be much more open than this one here so I guess unless you need the features this one offers which I don’t really think I do ….

Dat Le
Dat Le
8 years ago

@Marius Cirsta
Actually the ESP8266 contains an Espressif wifi + xtensa core, connected together via SDIO interface, but they are on the same die.
Broadcom WICED SDK has been ported to EMW3165, which is more “open” than ESP8266 currently containg many binary blobs in the SDK.

Paul
Paul
8 years ago

> Actually the ESP8266 contains an Espressif wifi + xtensa core, connected together via SDIO interface, but they are on the same die. Prooflink that it’s connected via SDIO? ESP8266 has a single crystal (hi-res photos are on the internets), so using SDIO is strictly optional there. > Broadcom WICED SDK has been ported to EMW3165, which is more “open” than ESP8266 currently containg many binary blobs in the SDK. WICED is not just binary blob, it’s “chip blob”, where all WiFi functionality runs on a separate chip, with idiotic and ridiculous restrictions (also bugs, and security issues – all… Read more »

Dat Le
Dat Le
8 years ago

@Paul
I was wrong about the SDIO interface. The single Xtensa core should handles all WiFi related activities.

But like Broadcom, I think Espressif will not public their WiFi stack either. All “un-fixable bugs” will still hold by them. The WiFi firmware in WICED is for BCM43362 WiFi chip, the M4 core is freely to use.
WICED also use open source projects like LwIP or FreeRTOS, SDIO interface source is also available. You can port/implement anything we want on the M4 core and debug it with an ST-Link.

Andrew
Andrew
8 years ago

@Marius Cirsta Yes! This has an ARM core. ARM is the most common microcontroller on the market. MicroPython is written for STM32 ARM cores, which this has. So is Espruino. Writing code for the Xtensa core in the ESP8266 is a little wonky, since it is a far less common core type. Once the community gets a little momentum behind it, this is going to be the winner. ESP8266 is neat, and cheaper, but having an ARM core will be a major advantage. In the early days of the ESP8266, there was much pain in getting an Xtensa gcc cross… Read more »

Paul
Paul
8 years ago

> MicroPython is written for STM32 ARM cores, which this has. MicroPython is written for everything from microcontrollers and up, and run on any architecture (including Xtensa/ESP8266). > Writing code for the Xtensa core in the ESP8266 is a little wonky, since it is a far less common core type. Code is written in C, and the way you write it is about the same for any architecture. > It is OK now that said compiler is rolled into a board support package for Arduino Any compiler, for any architecture, are available in GCC source tree. And there’re tools like… Read more »

omgchips
omgchips
8 years ago

Interesting platform, but development under Linux doesn’t seem supported. I don’t need a full featured IDE, just a way to compile C programs written on a terminal editor such as vi. Is (will) it be doable?

Khadas VIM4 SBC