WiFi used to be fairly expensive to add to MCU projects with spending $30 to $40 just for a WiFi module pretty common just less than 5 years ago, but this all changed thanks to Tensilica based Espressif ESP8266 modules selling for $5 in 2014, and an active community gathering behind the WiSoC, and related modules and development board.
ESP8266 modules are now available for under $2, and around two years ago it looked like we would have another option based on Arm Cortex-M3 with RTL8710 modules such as Pine64’s PADI IoT stamp also selling for about $2 in single quantities. However, most people did not really the benefit of switching to another platform based on Arm for this type of applications, and the products never really took off, many went away, and PADI IoT stamp appears to be one of the few survivors.
Yet another $2 WiFi IoT module has appeared on Seeed Studio with Air602 WiFi module powered by Winner Micro W600 Arm Cortex-M3 WiSoC.
Air602 WiFi module specifications:
- WiSoC – WinnerMicro W600 Arm Cortex-M3 microcontroller with 1MB Flash, RF Transceiver, CMOS PA, BaseBand
- WiFi Connectivity
- IEEE802.11 b/g/e/i/d/k/r/s/w/n up to 150 Mbps
- Frequency – 2.4~2.4835 GHz
- Output Power
- 802.11b, DSSS 1Mbps, POUT = +17dBm
- 802.11g, OFDM 54Mbps, POUT = +10dBm
- 802.11n, OFDM MCS7, POUT = +10dBm
- Features – Wi-Fi WMM, WMM-PS, WPA/WPA2, WPS, WiFi direct
- Protocols – TCP, UDP, ICMP, DHCP, DNS, HTTP
- Expansion – 12x castellated holes with 2x UART supporting RTS/CTS up to 2 Mbps, 1x SPI device up to 50 Mbps, 7x GPIOs, antenna, power signals
- Operating Voltage / Current – 3.3V / 110mAPS Mode 35mADTIM = 1
- Dimensions – 12 x 10 mm
The module is programmable using AT command and/or Luat programming language combining Lua and AT commands. The module is really small, as for reference the popular ESP-01 module measures 24.8 x 14.3 mm, or nearly three times as big as Air602! The trick to achieve this ultra-small size is to NOT include an antenna at all, instead exposing the antenna pin only.
Winner Micro W600 block diagram also shows 160KB+128KB of RAM, crypto hardware acceleration, RTC, and other peripherals and interfaces.
Air602 has the same type of target applications as ESP8266 with smart home, smart toys, industrial control , Internet of Things applications, and more…
Getting started with the module only may not be the most convenient, since you’d have to take care of power and an antenna, but luckily you don’t really need to care at this stage since Seeed Studio offer an Air602 development board for $2.90 – including Air602 module – that connects over USB and takes care of those little details.
I’m not convinced it brings much over ESP8266, and there would be a lot of work to bring software support up to the task, but maybe I’m missing sometimes, so we’ll have to see how things turns out. You may also find more details and some download links on WinnerMicro W600 product page (which did load slowly here).
Thanks to PuceBaboon for the tip.
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.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Looks like an interesting chip and board. I’m not sure how much air there’s left in this part of the market. As you rightly point out the ESP8266 has all of this pretty much covered and has a very mature development environment and community.
For hobbiest work, the ESP32 has taken all of the interest away from the ESP8266 even as it’s way more capable and easier to program. The incremental part cost isn’t as much of a factor in that market, but the maturity of the software tools and the support from Espressif and the community are worth it.
It’s not clear to me the target market of cnx-soft, but I was under the impression it’s more of a hobbiest/end user rather than “in the industry”, but that could be me projecting. 🙂 The latter might find a use for this chip as they may have some unsuspected requirements or limitations.
Good catch, cnxsoft, thanks for the article.
Don’t forget WICED that is also arm based.
I switched completely to ESP32 and Micropython.
Python may have a large overhead, but software development is ways faster and easier than with Arduino/Platformio or the native SDK.
And it’s fast enough for everything I want to do with it.
This is also what I noticed at SHA2017, where the esp32 badge had micropython by default. People were so quick to make software for it.
If it really has 1MB of flash, the interesting part would be to know how much of that is available once the Wi-Fi stack etc. is loaded.
Also, designing your own Wi-Fi antenna is not exactly easy, at least not to make something with decent range.
Obviously this can’t be used in retail products without certification either, since the certification has to include the antenna.
Looks like an interesting piece of hardware otherwise. I can see this ending up in some low-end Wi-Fi based IoT products.
My main gripe with ESPs might be a bit petty.. but I’ve never been able to setup a sane toolchain/library/SDK for it with C++ and CMake – while with more mainstream ARM chips like an STM32 it was pretty sane and clean and I can apt-get the toolchain on any distro. I guess we need to wait and see what the library/SDK looks like for this thing – but being an ARM is a good start 🙂
I’ve been meaning to look at the Pine STAMP IOT, but it also kinda feels like that ship has sailed
It’s quite straightforward how to setup/build the toolchain for ESP32.
Have a look at my tutorial which uses LXD containers,
https://blog.simos.info/setting-up-the-esp32-in-lxd-on-ubuntu/
Haha, sure sure, just building the toolchain with magic scripts and then running a make file someone give you is easy – but just try to look into what build-esp32-toolchain.sh is doing or how the Makefiles are setup. It’s horrifying. (and I’m guessing that’s why you’re putting the insanity in a container) I’m not really talking about that.
Just take a few minutes and look at my STM setup for comparison: https://geokon-gh.github.io/bluepill/
It’s got a few small warts, but you literally run: git clone -> cmake -> make- > openocd and you have code running on your board! You can open it into any modern IDE (or Emacs) and have full code completion, debugging, linting and jumping around library code. This is like a whole ‘nother level man..
I mean, I don’t do this stuff professionally. It’s just a little hobby and I’m pretty ignorant of the industry standards – so maybe I’m missing some big picture stuff here, but to me the ESP setup is the stone age and simply unacceptable
Geokon,
Sounds like you need to give PlatformIO a tryout on the ESP platforms. Much more together than the Espressif toolchain and not nearly as clunky as the Arduino stuff. You just need to remember to run “pio run” instead of “make” (yes, my fingers still occasionally type the wrong incantation, even after a couple of years …I really should put a Makefile in my build directories 🙂 ).
Platformio is one step forward and two steps back. It’s a lot more usable and flexible but they intentionally reinvented the wheel with their custom toolchain to create lock in for their commercial offerings.. instead of just using CMake/git/GNU-tools/crosstool-NG/etc. like everyone else. You don’t have the normal C++ ecosystem at your disposal
More discussion here: https://news.ycombinator.com/item?id=14071939
Let’s petition the GCC developers to actually support other arch with a toggle switch, like LLVM is doing with –arch=armv7.
Most distros do not ship binary cross compilers, for ARM it got better recently with the armv7 android mass adoption, but for most other exotic arches, binary toolchains are not there yet.
PS: btw, thanks for writing that guide. These things are really useful and I know they’re a lot of work to write. I’ll be saving it for if I ever need to revisit ESPs
The RTL8370 was pretty nice hardware, the biggest problem was that the SDK is an absolute mess.
Does this have a proper c++ sdk?, or mbed support?
Ah WCH has a new USB-serial chip in SOP8 (easy to solder) on the Seed board, the WCH330: integrated crystal etc… Probably a brother of the WCH340, but without all the fancy DTS RTS CTS pins…
I saw the chip but didn’t look into it. Funny how the most interesting take away from this board is that there’s a new USBserial chip in town. 🙂
Could only find it on Taobao for few cents at the moment… But gonna try to get some, just to breadboard them.
WCH330 Datasheet is here: https://datasheet.lcsc.com/szlcsc/Jiangsu-Qin-Heng-CH330N_C108996.pdf
Personally I used to designed a CH330N USB2UART board as a practice to PCB drawing 🙂
It’s quite simple and cheap 🙂
Yeah, some people noticed your PCB drawings on hackaday article:
https://hackaday.com/2018/10/03/new-part-day-the-fifty-cent-usb-chip/
I wrote to Jean-Luc to make a post about the WCH330, but Hackaday was faster to write something…
Can you confirm the linux ch340 driver works fine with the wch330? lsusb? dmesg? lsub -vvv?
The USB ID and behavior of CH330 is the same with CH340.
And I have used with ch341 kernel driver for a long time.
Is there a similar board with USB? This USB is really interesting. Just print a a plastic case and use your software and you have a ready to use product.
If you mean a similar ESP8266 board with a full size USB port, there was vESPrino project @ https://www.cnx-software.com/2016/08/01/vesprino-esp8266-usb-wifi-dongle-supports-add-on-boards-crowdfunding/, but it generated very little interest, and does not seem to be available anymore.
WiThumb is similar https://www.cnx-software.com/2016/07/01/withumb-is-an-esp8266-wifi-usb-adapter-with-motion-and-temperature-sensors-crowdfunding/, but also gone.
They have ESP8266 USB adapters on Aliexpress (https://www.aliexpress.com/w/wholesale-adapter-esp8266.html), to be used with ESP-01.
Mhmm, this form factor is way more interesting. Is it only flashing via USB or also other communication? That would be really interesting.
is this a joke that you make a small PCB only to put it on another PCB? the specifications looks sub-standard for manufacturing. at 10 dBm output power, i believe it cannot make it to commercial use as a WiFi module. it is more like Bluetooth.
Can 802.11b rates be disabled on this chip?
How does it compare to rtl8710 ameba which is also $2 arm m3?
It’s good for competition. This one runs on ARM so it might be quit appealing to those who don’t trust ESP’s Xtensa toolchain. The fact that Seeed makes it like a USB stick might cater to audience who love to stay light. I mean, no cable and stuff.
I don’t see any added value in Air602 module over PADI IoT Stamp (RTL8710).
The same ARM cortex-M3 as PADI (RTL8710)
Air602 has got less RAM
Air602 has got less PINs exposed
Air602 is more expensive when including Antenna 🙂
RDA5981 had a chance, but the manufacturer is not interested in supporting hobby segment, anyway RDA5981 has ARM Cortex-M4, Supports XIP – Execute in Place and USB2.0 peripheral.
PADI’s (RTL8710) shortcomings:
1/ ROM – did not include ability to flash over serial (using x, z or y modem) – this is a killer to beginners – hobby market, limiting adoption. (RDA5981 has it)
2/ Missing XIP (Execute in Place), not sure whether it’s a limitation of being Cortex-M3, whether M3 core design simply does not support that.
3/ No ADC port – At least one ADC! expose some internal ADC interleaved as ESP does, but at least something.
4/ No Reset pin.
5/ Nice to have to be able to succeed against ESP8266/ESP32 – USB peripheral (host as well as slave).
P.S. There is an Mbed OS Patch that makes Target = PADI (RTL8710) compatible.