TI’s CC3000 WiFi chip gets a library

About six months ago, Texas Instruments released a simple, cheap, single-chip WiFi module. At $10 a piece in quantities of 1000, the CC3000 is a much better solution to the problem of an ‘Internet of Things’ than a $50 Arduino Ethernet modules, or even the $30 Electric Imp. All indications, especially the frequent out of stock status for the dev board on TI’s web site, show the CC3000 will be a popular chip, but until now we haven’t seen a CC3000 library for the Arduino or other microcontrollers.

[Chris] just solved that problem for us with a CC3000 WiFi library for the Arduino. He ported TI’s MSP430 CC3000 library to the Arduino, allowing even the bare-bones Arduino Uno to connect to a WiFi network with just a handful of parts. The code itself takes about 12k of Flash and 350 bytes of RAM, giving anyone using the CC3000 enough room left over to do some really interesting stuff. There’s even a slimmed down library that uses somewhere between 2k and 6k of Flash, making an ATtiny-powered web server a reality.

There are a few caveats in using the CC3000 with an Arduino; it’s a 3.3 Volt part, so you’ll need a level shifter or some resistors. Also, the chip draws about 250 mA when it’s being used, so you’ll need a beefy battery if you want your project to last an entire day of use.

Now that the library is out of the way, be on the lookout for a CC3000 breakout board. Here’s one, but expect some more on the market soon.

42 thoughts on “TI’s CC3000 WiFi chip gets a library

    1. Hi, I’m the author of the library.

      I am very excited about the Spark Core too, it seems like it could be the ultimate easy way to get Arduino + WiFi. Unfortunately so far their documentation (http://docs.sparkdevices.com) is really sparse, so at this point I don’t know how much of the CC3000 API they’ll make available to Arduino code or if they’re going to require everything to go “through the cloud”. Also, the Kickstarter’s finished but there’s no specific date on when you can actually buy (and receive) one.

      In the meantime I’ve got the CC3000EM (evaluation module) working with a Teensy 3.0 right now, and it’s pretty fancy.

    2. The Sparkcore isn’t really an Arduino to me. It’s has a Wiring port that runs on ARM. I believe they are really building on top of the work that Leaflabs did. Don’t expect libraries you download for Arduino to just work. They oftentimes will not because the Sparkcore is an ARM platform and not AVR.

    1. You don’t have to buy 1,000 of them at once, that’s just the number you have to buy to get the $10/ea bulk rate. Both Mouser and Digi-Key have them listed for individual sale (though they naturally cost more).

  1. Yeah, they’re $10 if you buy a thousand of them. They’re more like $20 in single unit quantities, which is the price most readers of this site would be interested in. W

  2. Still costly, i prefer an RT5350F based ready to use UART-WiFi-ETH (soldering and breadboarding friendly! ) module! it’s only $16 in dx (shipping included!), AT-command manageable, so an arduino library it’s an easy task to develop!, TI it’s in good direction but price have to decrease more !!

    1. I had never seen that module before, thanks.

      A quick glance at it tells me the biggest difference between the RT5350F and the CC3000 is the documentation. There’s not much at all in the datasheet for the RT5350F; the TI chip has a pretty complete implementation of Berkeley sockets etc. The devil, as they say, is in the details.

        1. Sorry, I didn’t mean LAN/WAN/WiFi drivers. I meant more of an Arduino library to do things like open a TCP port, send a UDP multicast packet, etc.

          1. You can run full blown python in there. 350MHz and plenty of ram. Its like a Rasppi at half the price, but with no HDMI.

      1. Product Page

        http://www.hlktech.net/product_detail.php?ProId=39

        Datasheet & circuit examples

        http://www.hlktech.net/inc/lib/download/download.php?DId=20

        Configuration tools

        http://www.hlktech.net/inc/lib/download/download.php?DId=18

        The module features a router-on-a-chip and external memory with OpenWRT so the whole TCP/IP stack is programmed there.

        Just add PHY transformer and RJ45 connector, and there is LAN solution in the same chip!!. I think it’s the perfect solution for Arduinos!!

        1. Do you have a link for the command set, e.g. “connect to this WiFi AP” or “listen on TCP port 80″ ?

  3. I don’t know it is just me or what, but TPlink MR3020 wifi router modded with OpenWRT + little configuration provides more powerful solution at a cheap price (around $20). Especially when local store sells this kind of sophisticated module/parts at a steep price and low stock.

    1. There is a 3.3v power supply, but you need a level shifter for the communication. The (regular) arduino’s digital pins are 5v.

    2. The Arduino IO pins (MOSI, CS, SCK, Enable) will be 5V, which will blow up the module. You need level shifters to convert these signal pins to 3.3V so the CC3000 can use them.

      Also note that even though Arduinos have 3.3V pins they can only supply about 50mA of current. The CC3000 needs 275mA when transmitting.

        1. Um…no…? I’m not sure I understand your question. My statement above was on interfacing the IO pins of the CC3000 (which aren’t 5V tolerant) with Arduino IO pins (which are 5V).

  4. Aww the library… Why know anything when someone else can do all your thinking for you… HACKS a day is more like it…

    1. Or Arduino story a day…

      It’s no wonder america is failing. Young engineers and techs know absolutely nothing. Why should they? Google, Arduino sketchs and libraries, wikipedia. Never ask them anything they can’t look up… I get tired of teaching people who have electronics degrees – ELECTRONICS. “Which way does this resistor go? I don’t want to get the polarity wrong” “Why are these capacitor things used on the power supply lines?” “Can you show me how to solder?” It never ends… Don’t even get me started on programming… I forgive you if you don’t have a degree, but when you come out here to the work force and show up not know jack shit….

  5. On the power requirements: It is transmitting you know, you just can’t avoid putting some power in to have a range of any significance I expect. Laws of physics apply.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s