I'm trying to use a CC3000 (with an Uno). It runs for a few hours then hangs. Before I upgrade the CC3000's firmware, I thought I'd ask:
- Is there a difference between the Tinysine and Adafruit libraries?
- What is the best (most reliable) CC3000 library for Arduino and for which firmware version of CC3000?
The firmware version reported by calling (by calling nvmem_read_sp_version) is 1.24.
According to CC3000_Release_Notes, this is 4 versions older than the most recent version of v1.32. Yet both the Tinysine and Adafruit CC3000 libraries appear to only support v1.19 (0x113)and v1.24 (0x118), i.e.:
uint16_t firmware = checkFirmwareVersion();
Serial.print(F("Firmware v")), Serial.println(firmware, HEX);
if ((firmware != 0x113) && (firmware != 0x118)) {
Serial.println(F("Wrong firmware version!"));
for(;;);
}
The release notes suggest bug fixes that could explain my hang problem, i.e.,
"Fixing the assert behavior, which would hang the CC3000 device and never allows it to recover."
FWIW, I think the definitive cc3000 library is
which is what all the other libraries are based on.
having said that, you may want to cut your losses short and just switch to a different wifi module.
That library's author gave up on the cc3000 because it just does not work. Even TI abandoned this. And yes, I wasted a month's time on this module. Luckily I was able to return the two modules I bought. I highly question the integrity of any seller that still sells this module fully knowing it does not work.
Well, that's depressing, but yes, I'll rather cut my losses rather waste more time.
Any recommendations for reliable WiFi shields that don't cost and arm and a leg?
Do the ESP8266-based shields work reliably?
esp8266 hardware I think is fine. The problem is the firmware and software.
The firmware implementation (of AT commands) is not well done. I don't think it can pass any kind of software engineering standard.
I am writing my own esp8266 library (still work in progress). It's not easy considering how badly implemented the AT commands are, and to make things worse, almost on every firmware update, they will introduce something that is not backwards compatible.
I think if you are not going to do any heavy use, there are plenty of simple libraries for esp8266 module.