Sunday, June 14, 2015

Comparing Modern Microcontroller WiFi Solutions



Comparing modern microcontroller WiFi solutions, even in the Internet age, requires a great deal of searching.  So to provide a list of popular microcontroller WiFi transceivers, I compiled the data in the table below.

    Product Info:          Link                  Link                 Link                 Link               Link                Link

Note 1: Also comes in Arduino Shield size with SD card slot for $39.95
Note 2: Adafruit and Sparkfun sell tested units with AT Firmware for $6.95.  eBay prices and quality vary.
Note 3: Adafruit sells tested units with AT Firmware for $6.95.  eBay prices and quality vary.
Note 4: Currents are probably somewhat higher than stock ESP-12 due to onboard LED and regulator.  

The data should be taken as  informative, not authoritative.  I may have not gotten the data 100% correct or comparing some information may not be a one-to-one comparison.  The cost information is in United States dollars - prices in other countries are comparable but may vary.

If there is data that appears incorrect, please leave a comment on the blog and I will see about correcting things.

Why these devices?


I tried to choose the most commonly used WIFi devices today.  There are several smaller manufacturers with WiFi boards and there are devices like the NodeMCU DevKit that implements an ESP-12 board with similar features to the Adafruit Huzzah ESP8266.  Sparkfun also sells a CC3000 board similar to the Adafruit Huzzah CC3000.  So the table does not list all available boards but does have a number of the more popular / different boards.  There are also some WiFi radios in Xbee form factors (one is in the picture, upper right) but use of the Xbee socket has waned in the last two years.

My thoughts


Like many experimenters, I have some criteria and  requirements for specific projects.
  • Price is always a factor, from hobbyists on a budget to groups manufacturing large product quantities.  There are generally three tiers of pricing.  Older modules cost above $70 US.  The CC3000 brought reliable communications down to half that, at about $35.  Then the new ESP8266 based devices have shattered the price points at $10 or less.
  • Software is one of my factors (and I'm sorry it isn't in the table). The Arduino.cc WiFi Shield is a benchmark for many developers for a standard.  I rate Adafruit's CC3000 comparable on use, better on examples - Adafruit's tutorials on device use are very good (I'm biased having written for them some).  The ESP8266 information was pretty poor in the beginning but the number of people experimenting with these modules has generated a great increase in information.  So I rate ESP8266 as still a bit "wild west" but getting better.
  • Usability is a factor for specific projects.  Arduino shield form factors are easier for beginners but typically use more power, are larger, and are convenient only for those boards that have shield sockets.  Smaller boards are much easier to put into finished projects and novel uses such as wearable electronics.  This is a factor for each individual to judge.
  • Power must be considered for battery-operated projects.  Arduino shields do not lend themselves to low power.  The CC3000 has very good power management with one Adafruit tutorial providing excellent information.  Use of ESP8266 in low power modes is possible but standard examples are elusive.
Other criteria you might have are: manufacturability (putting chips into custom solutions), features (does the solution have what I need), etc.

Product lines are continually evolving.  Espressif has two new chips on their website which may lead to more hobby solutions and other companies may be working on new designs.

Lastly


WiFi radios are very useful as many different types of devices, from cell phones to tablets, laptops to desktops, can communicate with these boards.  But most WiFi radio signals do not travel great distances.  They are also not very tolerant to data loss.  Other radio frequency solutions may be better for different applications.  But for ubiquity (finding these everywhere), WiFi is hard to beat.  That and they "speak" the language of the Internet (TCP and UDP), so a project could communicate (via a gateway device) with devices anywhere around the planet.