WiFi module with an SPI interface- project...

Status
Not open for further replies.
In THIS thread user manitou has posted results in speeding up SPI transfers, mainly with the aim to improve throughput using the WIZ820io Ethernet module.
His little github repository namely the file W5100.cpp.fat, includes code that allows you to change the SPI bus frequency/data rate. Works very nicely BTW.
 
Last edited:
Here's a screenshot of the webpage of my Teensy 3.0/CC3000 board monitoring/ controlling a combination of up to 12 DS18B20/DS2406+ digital thermometers/switches:
TeensyNetCC3000.png
The UDP server is working pretty well.
 
Headroom,

Thanks for the link. That seems like the same code as have been using with the sdfat library found here(http://code.google.com/p/beta-lib/downloads/detail?name=SdFatBeta20130621.zip&can=2&q=). With this sdfat library the Teensy 3.0 works perfect(with the sketches I have tested). I also modified the adafruit cc3000 library to run with the sdfat spi routines, works perfect. The problem I am facing is switching between the cc3000 and sdfat. There seems to be an issue with switching the clock polarity and phase(CPHA) between the two devices, CPHA=0 for sdfat, CPHA=1 for cc3000. It is very annoying. I created a simple sketch,it inits the sd, runs the adafruit build test, then opens a file for reading. It works up till the point where it needs to open the file. I am switching the mode between the two, but it doesn't work. I did have some success reading the file by putting a 2 ms delay after sd card chip select goes low. It seems like some sort of timing issue related to spi, but I can't nail it down.

-ren
 
Anyone have any luck with the (new) server functionality in the Adafruit library? All the client stuff works fine with Teensy 3, but the server examples just lock up for me.
 
Here's a screenshot of the webpage of my Teensy 3.0/CC3000 board monitoring/ controlling a combination of up to 12 DS18B20/DS2406+ digital thermometers/switches:
View attachment 1067
The UDP server is working pretty well.

Well, I guess I spoke too soon. I can't keep a reliable connection, it seems to just give up randomly, plus the range isn't that great with either the on-board ceramic antenna or an external antenna. I'm going back to investigating the TL-WR703N as an alternative until the CC3000 matures a bit.
 
I'm going back to investigating the TL-WR703N as an alternative until the CC3000 matures a bit.

Spark Core is using the CC3000, with no problems, and they will be shipping any day from now.:cool:
 
How do you know that they are using it without a problem without holding a unit in hands and having run code ?
I mean aside from marketing promises ;-)
 
I backed the Spark project, for only the simple $39 board (no extra stuff). Until is arrives, I'm personally still considering the project vapor.
 
Just got an update, they claim 50% are built and today they're starting to ship. Still, they've previously published several updates that were overly optimistic, so I'll believe it when I see it.

But they do have over 5500 orders to ship. When we did the Teensy3 kickstarter, at our peak we were shipping about 250 to 300 per day. So their estimate that it'll take a couple weeks to ship is actually pretty reasonable.

Had I know Adafruit would ship a CC3000 breakout long before Spark, I would not have backed their project. Oh well....
 
For best range
- force mode to lowest modulation order, e.g., "1DSSS". Receiver sensitivity is best and TX power is highest, vs. higher rates.
- The on PCB chip antennas are rather directional and have negative gain in dBi. Size matters. Some modules have a U.FL connector to permit you to use other kinds of antennas.

802.11 will always have poorer range than, say, 802.12.15.4, becuase '15.4 is a 2MHz/250KHz raw bit rate system whereas 802.11 is 20MHz or more.
 
Last edited:
I have the Adafruit CC3000 breakout connected to a teensy 3 and everything works well EXCEPT the SendTweet sketch. The first ip lookup (cc3000.getHostbyName) for the time server works without any problems. But then the second ip lookup for "api.twitter.com" returns the same ip as the time lookup. In fact any subsequent ip lookups return the same ip value. I wrote a simple test program that does three sequential lookups/open connection/close connection with a 5 second delay between each and only the FIRST lookup works and all subsequent lookups return the initial lookup ip value!!!

I also tested the sendtweet and test sketches on an arduino pro mini using IDE 1.54 and it does the exact same thing.

Has anyone tried the SendTweet sketch or multiple (different) ip lookups?

:(
 
Ouch. Sounds like a bug in the CC3000 library or the CC3000 firmware.

Have you reported this on Adafruit's forum? Kevin is very good with that library and might be able to investigate. It really needs to go through Adafruit for that to happen.
 
Hi, I was reading that the CC3000 required more power than the Teensy 3.x can provide but the pictures Paul a few pages back seemed to show the CC3000 connected directly to the Teensy. Am I wrong or doesn't this mean that the CC3000 should be connected to the power supply separately?
 
The cc3000 can take its +ve from the teensy Vin pin when you are connected by USB.

A quick check was done regarding this: http://forum.pjrc.com/threads/24568-Teensy-3-and-Adafruit-CC3000-breakout

I connected Teensy3's VIN pin, which has 5V from the USB, to the power input on Adafruit's CC3000 breakout. Their breakout board has a 3.3V regulator, so the CC3000 runs on 3.3V even when powered from 5V. It outputs 3.3V signals. The breakout board has a buffer chip that can accept 5V or 3.3V signals on the inputs (MOSI, SCK, CS).

In terms of mA, I have not put a meter on it, but Manitou read that it could need up to 300mA. For the basic setup and tests, I have not encountered any power issues with this format so far.
 
Last edited:
Be mindful that the USB spec requires 500mA, but experience says many products do not provide more than 100mA or less. Esp. hubs and laptops.
 
Most PCs follow the USB spec and provide 100mA but will negotiate to provide up to 500mA. When you take more than that a lot of PCs will shut down that portion of the USB, often requiring a reboot to re-enable it. That's why some early external hard disks used dual USB plug cables.

Most hubs with external supplies don't bother limiting power and provide whatever they can from their supply. I've been able to melt down a couple :)

Some USB chargers I have will supply up to 2.1A.

Another limit you have to watch for is the cable itself, those are some pretty small wires and you will get a substantial voltage drop on the cable.
 
I had one USB cable that had too-small wire gauge. Caused odd symptoms.
Took me a long time to realize this - hindsight was that the cable was too thin/flimsy vs. others.
trashed it.
 
server examples lock up

Anyone have any luck with the (new) server functionality in the Adafruit library? All the client stuff works fine with Teensy 3, but the server examples just lock up for me.

I am having the same issue. Anyone possibly have a fix for this? The server examples I tested run fine on a nano 3.0, but it doesn't have close to the specs I need for my current project.
 
Status
Not open for further replies.
Back
Top