For years we've seen all sorts of microcontroller-friendly WiFi
modules but none of them were really Adafruit-worthy. Either they were
too slow, or too difficult to use, or required signing an NDA, or had
limited functionality, or too expensive, or too large. So we shied
away from carrying any general purpose microcontroller-friendly WiFi
The CC3000 hits that sweet spot of usability, price and capability.
It uses SPI for communication (not UART!) so you can push data as fast
as you want or as slow as you want. It has a proper interrupt system
with IRQ pin so you can have asynchronous connections. It supports
802.11b/g, open/WEP/WPA/WPA2 security, TKIP & AES. A built in TCP/IP
stack with a "BSD socket" interface. TCP and UDP in both client and
server mode, up to 4 concurrent sockets. It does not support "AP"
mode, it can connect to an access point but it cannot be an access
We wrapped this little silver module in a tidy breakout board. It has
an onboard 3.3V regulator that can handle the 350mA peak current, and
a level shifter to allow 3 or 5V logic level. This version of the
CC3000 breakout does not have an onboard antenna - instead we placed a
standard uFL connector so that an external 2.4GHz antenna can be used.
You will need to purchase a uFL to RP-SMA adapter cable and a 2.4GHZ
'WiFi' antenna to use! See accessoires for these items. This option
can give you better range and makes it easier to enclose in a box. We
use the same route and layout as TI's eval board, however, this module
is no longer automatically FCC certified when an external antenna is
Each order comes with one fully assembled and tested breakout and a
small stick of header you can use to solder in and plug into a
breadboard. We don't have a detailed tutorial yet but to get you
started, we've got a fully working Arduino library that is based off
of TI's codebase but adapted for use with the AVR. We also have
example code showing how to scan the SSID's, connect to your access
point and run DHCP, do a DNS lookup to IP address, ping a site and
connect to a remote TCP socket such as a website and print out the
Please note the hardware is good, but the library code does not yet
support all of the CC3000's functionality. At this moment, SSID
scanning, connection, DHCP, DNS lookup, ping, and UDP/TCP client & TCP
server connections (eg connect to a website and grab data or host a
very short website) all work and are tested with example code. Check
out our tutorial for wiring and Arduino library downloads 
For use with Arduino Uno, Leonardo/Micro & Mega only at this time -
we'll try to get the code ported to the Due at some point but no ETA.
* Dimensions: 26.22mm / 1.03" x 40.45mm / 1.59" x 2.95mm / 0.11"
* Weight: 3.46g