Over the last few years, we’ve seen several Arm based WiFi IoT modules trying to compete with Tensilica based ESP8266 including Pine64 PADI IoT Stamp and Air602 WiFi IoT modules with similar functionalities and price (around $2) as the Espressif modules.
I have not seen many projects with any of those Arm based wireless modules, likely because Espressif Systems software ecosystem is mature, and it’s hard to compete for new entrants. Nevertheless there’s a new Arm WiFi IoT module, not based on Cortex-M core, but instead, MXCHIP EMW3060 is equipped with an older ARM9 core, 256KB RAM, and 2MB flash, and sells for just $1.79 on Seeed Studio in single quantity. The price further drops to $1.55 per unit if you order 50 pieces or more.
MXCHIP EMW3060 WiFi IoT module specifications:
- ARM9 core clocked at 120 MHz
- System Memory – 256KB SRAM
- Storage – 2MB flash
- Connectivity – 2.4GHz radio, 802.11 b/g/n WiFI, HT/40, support Station, Soft AP, and station+Soft AP modes
- Power Management Chip
- Antennas – PCB antenna and u.FL connector
- I/Os – Via holes and castellated holes with 2x UART, 2x I2C, 1x SPI, 1x SDIO, 1x USB, 15x GPIOs, and JTAG.
- Misc – 26 MHz oscillator
- Supply Voltage – 3.3V input (3.0 to 3.6V range)
- Dimensions – 33 x 18 mm (DIP package)
- Temperature Range – -20℃ to +85℃
There’s some hardware documentation on Seeed Studio page including the pinout diagram, mechanical dimensions, and link to EMW3060 datasheet, but software documentation is a little harder to find. The official MXCHIP’s product page has links to the AT command set, Easylink SDK for Android & iOS, and some info about MXKit development kits for the company’s modules.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
26 Replies to “MXCHIP EMW3060 WiFi IoT module sells for less than $2”
The ARM9 core suggests to me that this is an old wifi chipset respun into an IoT chipset.
Everyone and their dog seems to be doing this. Allwinner seem to be selling a version of the XR819 like this too.
Old? b/g/n? I think nobody can complain for just 1.5$. The best you can get for 1.5$ is a STM32F1 at the moment. Way more calculating power for 1.5$ and way more memory. Just bought 10.
Aye, for that price this is a gem of a kit. Unless the vendor totally botched the fw & flashing protocols. I wonder what part of fw blob can be safely gutted out — like those AT commands.
@Philipp, please, let us know how it goes once you receive your order.
>Unless the vendor totally botched the fw & flashing protocols.
Flashing the internal flash will be vendor specific. There doesn’t seem to be a datasheet that lists any of the registers so working out how to flash it or write anything for it might be a lot of work.
>I wonder what part of fw blob can be safely gutted out — like those AT commands.
The fw will be a big state machine for doing the wifi side with an AT command interface added instead of a host interface that would have been used when it was a wifi adapter connected via sdio or usb.
TL;DR; I don’t see anyone wasting time to reverse engineer this when the ESP32 already exists.
>Just bought 10.
I hope you can actually get something to run on them. I suspect the money you *saved* will be spent many times over trying to do something useful with them.
It is just 20 USD. So, two lunches. Even if I lose it, not a big issue 🙂
Yawn, I want a cheap Wifi+BT that includes the new BT 5.1 AOA (angle of arrival) support. Finding things is an important component of IOT.
Yeah, the cheapest you can get for BT 5 is still the nrf52.
Does nrf52 support the AOA stuff? You need an output pin to tell an antenna switch to switch between antennas. Then then software has to analyze the IQ vectors from the radio.
ESP has closed source wifi stack. If you want to beat it, open source wifi stack is a must have!
BTW the chinese secret services have their agent inside the ESP wifi bloby driver 🙂
>ESP has closed source wifi stack. If you want to beat it, open source wifi stack is a must have!
Almost every WiFi chip has a closed source stack that runs the radio and part of/all of the 802.11 protocol. There’s, I think, one driver out of all of the wifi chipsets supported by Linux that has open source firmware.
The best you can do really is use something from a “reputable” vendor like Cypress/Broadcom. Yes the same guys that didn’t use the MPU in their own chips. :p
The memory space on ESP is so small I doubt if there is anything hiding in there. The wifi stacks are closed source to keep you from modifying them to evade FCC rules. Like turning on Japanese band support inside the US which messed up the radar at an airport in Puerto Rico when someone living next to the airport did that.
Radar interference in 5Ghz was the reason why we got this stupid radio lockdown EU directive. The EU forced the FCC to adopt the same, so with this stupid “DFS” not well supported under openwrt and others, we ended up with a radio lockdown on any radio device on any frequency. Nice hein?
One day we will get there:
That’s about the rest of the SDK being GPL licensed while being tainted with non-GPL blobs. They relicensed it as MIT to work around it. It’s very very unlikely you’ll ever get the code for the firmware and it’s even more unlikely you’ll get hardware documentation for the radio to write your own.
It seems to be running AliOS, but it most of the board specific stuff is a binary blob
It could be the esp8266 killer but unfortunately, there is no ADC
Well, also the ADC on the esp8266 is crap. 1V max input voltage and the noise when the radio is emitting is ~300mV. It’s actually unusable.
I do use it with success as an ambient light detector and it works pretty fine for this.
Willy, what’s your noise level?
This is an example project I’ve done that I’ve found this issue and then by doing a search, I’ve found out that it was a common problem for a lot of other people.
I really don’t know because the measurements are not frequent (every 5s or so), and I use a threshold. This light sensor is only used to figure whether the room is lit or not, so I can accept quite some imprecision. However I don’t recall seeing much variation between measures. The devices have a very low wifi activity (MQTT updates once in a while), thus it might explain why I’m not seeing false positives.
Ah, ok I see. Well, in this case maybe the issue is not really shown, especially for these time intervals and a soft low pass filter that filters out that in the transition area. But for a fast ADC and especially while the wifi is emitting is really bad.
Spelling: “not bad on Cortex-M” should be “not based on Cortex-M”
Newbie question: How do I upload firmare on this unit? Do I need any developer board or special socket?
BK7231, ARM946 inside.
That’s cool, so now there are at least 4 sub $2 wifi modules out there?