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.
Spark Core is also providing an Arduino + CC3000 dev board from their already funded Kickstarter.
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.
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.
There is TI’s new boosterpack- http://www.ti.com/tool/cc3000boost
oops meant to post the estore link: https://estore.ti.com/CC3000BOOST-CC3000-BoosterPack-P4258.aspx ($35)
> the Arduino or other microcontrollers
Oh boy, I hope there will be one for the AVR.. wait… what?
the only downside is the CC3000 does not support ad-hoc mode.
If you have $10,000 and $5,000 worth of infrastructure this is awesome..
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).
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
DigiKey has them for $12.51 in qty 1 (http://www.digikey.com/product-detail/en/CC3000MODR/296-35512-1-ND/3768439)
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 !!
Link please? I was unable to find these on dx.com
I suppose this one http://dx.com/p/hi-link-hlk-rm04-serial-port-ethernet-wi-fi-adapter-module-blue-black-214540
It’s a shame they have chosen to post a photo of one with bent pins…
http://img.dxcdn.com/productimages/sku_214540_3.jpg
is it module or a whole router?
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.
why would you want to write own drivers when OpenWRT runs on Ralink and has all the drivers ready
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.
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.
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!!
Do you have a link for the command set, e.g. “connect to this WiFi AP” or “listen on TCP port 80” ?
http://www.hlktech.net/inc/lib/download/download.php?DId=19
Wireless parameter setting via at command:
At+wifi_conf=,,\r
HLK-RM04 user manual page 22
Thanks for the links!
Although impossible, I’d love to see these chips in DIP.
Embrace surface mount… it is your friend…
Saves drilling holes at least and so cuts a lot of the work on homemade PCB efforts.
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.
why would you need a level shifter?
The Arduino has a 3.3v supply too
There is a 3.3v power supply, but you need a level shifter for the communication. The (regular) arduino’s digital pins are 5v.
only if you have a 5V arduino.. Mine are all 3.3v
Aren’t the new Arduinos all 3.3v, and only the classics 5v now?
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.
You are not planning to power the thing through IO pins, do you?
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).
Aww the library… Why know anything when someone else can do all your thinking for you… HACKS a day is more like it…
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….
Hi,
there is already made Ti board it’s 26£
(in my case : I don’t have equipment to my own PCB :( )
http://uk.mouser.com/Search/ProductDetail.aspx?R=CC3000BOOSTvirtualkey59500000virtualkey595-CC3000BOOST
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.
any one know how i can send signal to the LHK RM04 from a web page
This link shows file not found
http://www.hlktech.net/inc/lib/download/download.php?DId=19
any one plz help me to get AT commands for accessing web page using hlk-rm04..
Has this Ti WiFi Library been ported to Spark Core ?
just got a druinofun shield to work. had to use the correct library in arduino IDE. but it works. now i can make a cheap wifi mega clone with sd card on my own pcb for much less. THANK THANK THANK YOU