gizduino 328 and gizduino wifi shield

i try the build test code but didnt work. it stop in "Initialising the CC3000 ..."

this is the code:

/***************************************************
This is an example for the Adafruit CC3000 Wifi Breakout & Shield

Designed specifically to work with the Adafruit WiFi products:
----> Adafruit HUZZAH CC3000 WiFi Breakout with Onboard Antenna [v1.1] : ID 1469 : $34.95 : Adafruit Industries, Unique & fun DIY electronics and kits

Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!

Written by Kevin Townsend & Limor Fried for Adafruit Industries.
BSD license, all text above must be included in any redistribution
****************************************************/

/*

This example does a full test of core connectivity:

  • Initialization
  • SSID Scan
  • AP connection
  • DHCP printout
  • DNS lookup
  • Ping
  • Disconnect
    It's a good idea to run this sketch when first setting up the
    module.

*/

#include <Adafruit_CC3000.h>
#include <ccspi.h>
#include <SPI.h>
#include <string.h>
#include "utility/debug.h"

// These are the interrupt and control pins
#define ADAFRUIT_CC3000_IRQ 3 // MUST be an interrupt pin!
// These can be any two pins
#define ADAFRUIT_CC3000_VBAT 5
#define ADAFRUIT_CC3000_CS 10
// Use hardware SPI for the remaining pins
// On an UNO, SCK = 13, MISO = 12, and MOSI = 11
Adafruit_CC3000 cc3000 = Adafruit_CC3000(ADAFRUIT_CC3000_CS, ADAFRUIT_CC3000_IRQ, ADAFRUIT_CC3000_VBAT,
SPI_CLOCK_DIVIDER); // you can change this clock speed but DI

#define WLAN_SSID "myNetwork" // cannot be longer than 32 characters!
#define WLAN_PASS "myPassword"
// Security can be WLAN_SEC_UNSEC, WLAN_SEC_WEP, WLAN_SEC_WPA or WLAN_SEC_WPA2
#define WLAN_SECURITY WLAN_SEC_WPA2

//
/*!
@brief Sets up the HW and the CC3000 module (called automatically
on startup)
*/
/
/
void setup(void)
{
Serial.begin(115200);
Serial.println(F("Hello, CC3000!\n"));

displayDriverMode();
Serial.print("Free RAM: "); Serial.println(getFreeRam(), DEC);

/* Initialise the module */
Serial.println(F("\nInitialising the CC3000 ..."));
if (!cc3000.begin())
{
Serial.println(F("Unable to initialise the CC3000! Check your wiring?"));
while(1);
}

/* Optional: Update the Mac Address to a known value /
/

uint8_t macAddress[6] = { 0x08, 0x00, 0x28, 0x01, 0x79, 0xB7 };
if (!cc3000.setMacAddress(macAddress))
{
Serial.println(F("Failed trying to update the MAC address"));
while(1);
}
*/

uint16_t firmware = checkFirmwareVersion();
if (firmware < 0x113) {
Serial.println(F("Wrong firmware version!"));
for(;;);
}

displayMACAddress();

/* Optional: Get the SSID list (not available in 'tiny' mode) */
#ifndef CC3000_TINY_DRIVER
listSSIDResults();
#endif

/* Delete any old connection data on the module */
Serial.println(F("\nDeleting old connection profiles"));
if (!cc3000.deleteProfiles()) {
Serial.println(F("Failed!"));
while(1);
}

/* Optional: Set a static IP address instead of using DHCP.
Note that the setStaticIPAddress function will save its state
in the CC3000's internal non-volatile memory and the details
will be used the next time the CC3000 connects to a network.
This means you only need to call the function once and the
CC3000 will remember the connection details. To switch back
to using DHCP, call the setDHCP() function (again only needs
to be called once).
/
/

uint32_t ipAddress = cc3000.IP2U32(192, 168, 1, 19);
uint32_t netMask = cc3000.IP2U32(255, 255, 255, 0);
uint32_t defaultGateway = cc3000.IP2U32(192, 168, 1, 1);
uint32_t dns = cc3000.IP2U32(8, 8, 4, 4);
if (!cc3000.setStaticIPAddress(ipAddress, netMask, defaultGateway, dns)) {
Serial.println(F("Failed to set static IP!"));
while(1);
}
/
/
Optional: Revert back from static IP addres to use DHCP.
See note for setStaticIPAddress above, this only needs to be
called once and will be remembered afterwards by the CC3000.
/
/

if (!cc3000.setDHCP()) {
Serial.println(F("Failed to set DHCP!"));
while(1);
}
*/

/* Attempt to connect to an access point */
char ssid = WLAN_SSID; / Max 32 chars */
Serial.print(F("\nAttempting to connect to ")); Serial.println(ssid);

/* NOTE: Secure connections are not available in 'Tiny' mode!
By default connectToAP will retry indefinitely, however you can pass an
optional maximum number of retries (greater than zero) as the fourth parameter.
*/
if (!cc3000.connectToAP(WLAN_SSID, WLAN_PASS, WLAN_SECURITY)) {
Serial.println(F("Failed!"));
while(1);
}

Serial.println(F("Connected!"));

/* Wait for DHCP to complete */
Serial.println(F("Request DHCP"));
while (!cc3000.checkDHCP())
{
delay(100); // ToDo: Insert a DHCP timeout!
}

/* Display the IP address DNS, Gateway, etc. */
while (! displayConnectionDetails()) {
delay(1000);
}

#ifndef CC3000_TINY_DRIVER
/* Try looking up www.adafruit.com */
uint32_t ip = 0;
Serial.print(F("www.adafruit.com -> "));
while (ip == 0) {
if (! cc3000.getHostByName("www.adafruit.com", &ip)) {
Serial.println(F("Couldn't resolve!"));
}
delay(500);
}
cc3000.printIPdotsRev(ip);

/* Do a quick ping test on adafruit.com */
Serial.print(F("\n\rPinging ")); cc3000.printIPdotsRev(ip); Serial.print("...");
uint8_t replies = cc3000.ping(ip, 5);
Serial.print(replies); Serial.println(F(" replies"));
if (replies)
Serial.println(F("Ping successful!"));
#endif

/* You need to make sure to clean up after yourself or the CC3000 can freak out /
/
the next time you try to connect ... */
Serial.println(F("\n\nClosing the connection"));
cc3000.disconnect();
}

void loop(void)
{
delay(1000);
}

/**************************************************************************/
/*!
@brief Displays the driver mode (tiny of normal), and the buffer
size if tiny mode is not being used

@note The buffer size and driver mode are defined in cc3000_common.h
*/
/**************************************************************************/
void displayDriverMode(void)
{
#ifdef CC3000_TINY_DRIVER
Serial.println(F("CC3000 is configure in 'Tiny' mode"));
#else
Serial.print(F("RX Buffer : "));
Serial.print(CC3000_RX_BUFFER_SIZE);
Serial.println(F(" bytes"));
Serial.print(F("TX Buffer : "));
Serial.print(CC3000_TX_BUFFER_SIZE);
Serial.println(F(" bytes"));
#endif
}

//
/*!
@brief Tries to read the CC3000's internal firmware patch ID
*/
/
/
uint16_t checkFirmwareVersion(void)
{
uint8_t major, minor;
uint16_t version;

#ifndef CC3000_TINY_DRIVER
if(!cc3000.getFirmwareVersion(&major, &minor))
{
Serial.println(F("Unable to retrieve the firmware version!\r\n"));
version = 0;
}
else
{
Serial.print(F("Firmware V. : "));
Serial.print(major); Serial.print(F(".")); Serial.println(minor);
version = major; version <<= 8; version |= minor;
}
#endif
return version;
}

//
/*!
@brief Tries to read the 6-byte MAC address of the CC3000 module
*/
/
/
void displayMACAddress(void)
{
uint8_t macAddress[6];

if(!cc3000.getMacAddress(macAddress))
{
Serial.println(F("Unable to retrieve MAC Address!\r\n"));
}
else
{
Serial.print(F("MAC Address : "));
cc3000.printHex((byte*)&macAddress, 6);
}
}

//
/*!
@brief Tries to read the IP address and other connection details
*/
/
/
bool displayConnectionDetails(void)
{
uint32_t ipAddress, netmask, gateway, dhcpserv, dnsserv;

if(!cc3000.getIPAddress(&ipAddress, &netmask, &gateway, &dhcpserv, &dnsserv))
{
Serial.println(F("Unable to retrieve the IP Address!\r\n"));
return false;
}
else
{
Serial.print(F("\nIP Addr: ")); cc3000.printIPdotsRev(ipAddress);
Serial.print(F("\nNetmask: ")); cc3000.printIPdotsRev(netmask);
Serial.print(F("\nGateway: ")); cc3000.printIPdotsRev(gateway);
Serial.print(F("\nDHCPsrv: ")); cc3000.printIPdotsRev(dhcpserv);
Serial.print(F("\nDNSserv: ")); cc3000.printIPdotsRev(dnsserv);
Serial.println();
return true;
}
}

//
/*!
@brief Begins an SSID scan and prints out all the visible networks
*/
/
/

void listSSIDResults(void)
{
uint32_t index;
uint8_t valid, rssi, sec;
char ssidname[33];

if (!cc3000.startSSIDscan(&index)) {
Serial.println(F("SSID scan failed!"));
return;
}

Serial.print(F("Networks found: ")); Serial.println(index);
Serial.println(F("================================================"));

while (index) {
index--;

valid = cc3000.getNextSSID(&rssi, &sec, ssidname);

Serial.print(F("SSID Name : ")); Serial.print(ssidname);
Serial.println();
Serial.print(F("RSSI : "));
Serial.println(rssi);
Serial.print(F("Security Mode: "));
Serial.println(sec);
Serial.println();
}
Serial.println(F("================================================"));

cc3000.stopSSIDscan();
}

help me!!!

gizduino-v4-png400.png

download.jpg

i try the build test code but didnt work. it stop in "Initialising the CC3000 ..."

Stopping from "Initialising the CC3000 ..." means that there might be a problem in the hardware (CC3000 WiFi module)

But before we conclude that there is really a problem in your hardware, I will give you some ideas first.

Let see,

What type of gizDuino did you used? gizDuino328 or gizDuino+?

Correct me if i'm wrong but based on your attached pictures, it seems to me that you are using gizDuino328. right?

If you are using gizDuino328, you need to solder 2x3 male pin header to the ICSP portion of the gizDuino328 board first since it does not include an ICSP header once you purchase it.

Since CC3000 is using SPI communication, an ICSP header is needed in connecting the SPI pins of the CC3000 WiFi module to the gizDuino328. Refer to the attachments.

After doing so, then try to test it again. Make sure that you followed the correct placement of the WiFi shield to the gizDuino board. Please also refer to the Technical Manual of the CC3000 board for setup guides and other info.

Here's the link:

If you are using gizDuino+, it comes with an ICSP header already. If we assumed that you stack the two boards properly and run the buildtest.ino from the modified CC3000 library from E-Gizmo, then we can already conclude that there is really a problem with your WiFi module and you need to contact the technical support side of E-Gizmo for assistance.

Tip: E-gizmo advised that you should use gizDuino+ based on ATmega644 MCU to avoid RAM issues (as stated in their tech manual for the CC3000 WiFi module in page 7). So I suggest that you should use gizDuino+ for your project.

Goodluck,

Jhonz

gizduinov4400 (1).png

i already try to connect to the internet and give me IP address but it cannot ping site......

its needed to connect the 2x3 ISP of CC3000 to 2x3 ICSP of e-gizmo328 because i already try again the build test code but it didnt out a ping of site.