For years they've seen all sorts of microcontroller-friendly WiFi modules but none of them theyre really Adafruit-worthy. Either they theyre too slow, or too difficult to use, or required signing an NDA, or had limited functionality, or too expensive, or too large. So they shied away from carrying any general purpose microcontroller-friendly WiFi boards.
NO LONGER! 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 point.
Please note that the CC3000 module is being phased out and they suggest the WINC1500 as a replacement - it has SSL support, soft-AP capability, and is more reliable.
Adafruit 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 they 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 below for these items. This option can give you better range and makes it easier to enclose in a box. Adafruit 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 used.
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. Adafruit don't have a detailed tutorial yet but to get you started, they've got a fully working Arduino library that is based off of TI's codebase but adapted for use with the AVR. Adafruit 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 theybsite and print out the page.
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 theybsite and grab data or host a very short theybsite) all work and are tested with example code. Check out Adafruit's tutorial for wiring and Arduino library downloads
For use with Arduino Uno, Leonardo/Micro, & Mega only at this time - they'll try to get the code ported to the Due at some point but no ETA.
Adafruit CC3000 WiFi Breakout with uFL Connector for Ext Antenna (0:25)
- Dimensions: 26.22mm / 1.03" x 40.45mm / 1.59" x 2.95mm / 0.11"
- Weight: 3.46g
Revision history: As of 3/20/2014 they are shipping v1.1 which adds a tri-state buffer to the MISO pin so that you can use the CC3000 with other SPI devices on the same bus.
- Check out our tutorial for wiring and Arduino library downloads
- EagleCAD PCB files, schematics, and Fritzing Library available in the product tutorial
- EagleCAD PCB files for the breakout on GitHub
- EagleCAD PCB files for the shield on GitHub
- Fritzing objects available in Adafruit Fritzing library
- List of wifi access points used to test the CC3000 (by TI, not verified by Adafruit)
- Sending an SMS with Temboo
- MASLOW: an Open WiFi Detector with Adafruit Pro Trinket and CC3000
- A REST API for Arduino & the CC3000 WiFi Chip
- Low Power WiFi Datalogger
- Wireless Gardening with Arduino + CC3000 WiFi Modules
- WiFi Controlled LED Christmahanukwanzaa Tree
- SMS Texting Pet Food Dish
- Cloud Thermometer
- WiFi Candy Bowl Monitor
- Adafruit CC3000 WiFi and Xively
- Adafruit CC3000 WiFi