Wicked Device WildFire Arduino Compatible with ATMega1284P and WiFi

Wicked Device WildFire
Wicked Device WildFire

Vic at Wicked Device kindly sent me one of their new WildFire Arduino compatible boards to try out. The WildFire uses the ATMega1284P microprocessor clocked at 16MHz and has an onboard Texas Instruments CC3000 WiFi module and a MicroSD card slot all on a board the same size as a standard Arduino Uno or Duemilanove.

Followers of this blog will know I’m a big fan of the ATMega1284P and it was what I used in my own OSWIN Arduino compatible board although that was with the huge 40 pin DIP version, the WildFire uses the 44 pin TQFP package making a much smaller board possible.

The ATMega1284P has quite a few advantages over the ATMega328 used in the Uno and Duemilanove, more RAM (16KB v 2KB), more Flash (128KB v 32KB) and more EEPROM (4KB v 1KB), things which really make a difference when doing web server type applications. There is also more I/O, on top of the usual array of pins found on the Uno/Duemilanove etc. the WildFire has 2 more analogue pins squeezed in next to the usual 6 and an extra 6 pin header provides 4 more digital pins as well as duplicates of the I2C pins and there is also a JTAG programming/debug header.  You also gain a second UART on D2 and D3 and an extra interrupt that means two are still available for use (INT0 on D2 and INT1 on D3) even though INT2 on D8 is in use for the CC3000 IRQ. All the available pins on the WildFire are at a 5V logic level with a couple of buffer chips handling the high/low conversions to the 3V3 parts (CC3000 and uSD slot).

Some of the pins are used for communication with the built in peripherals, namely D4 for the uSD slot CS, D7 for the MAC chip data, D8, D9, D10 for the CC3000 and of course D11,D12,D13 are the SPI pins used for the uSD slot and CC3000. The WildFire library allows you to easily create an object to make sure these pins are initialised in a safe state.

CC3000 WiFi

The built in Texas Instruments CC3000 WiFi module is what really makes this board interesting, there is also an on board ceramic antenna so everything you need for a WiFi connected Arduino is there and the modified version of the Adafruit CC3000 library makes it very easy to use.

In fact the WildFire comes preloaded with a sketch based on RESTduino and also integrates support for the Texas Instruments SmartConfig app so you can set your WiFi settings via your Android phone, iPhone or PC and start to use the inputs and outputs for basic things without even opening up the Arduino IDE.

smartconfig
SmartConfig on Android

On the subject of the SmartConfig app, here’s a tip for Android users: The slip in the box provided a link to the Texas Instruments site to download the SmartConfig app, don’t bother, go to the WildFire site and use the link to the direct download there. Someone at TI obviously has a sick sense of humour as in order to get the Android SmartConfig app from them you need to sign in to their site, fill in a form with your details which requires your company name and url even if you are an individual and a description of what you want to use it for (programming the CC3000 funnily enough!), after all that they email you the download link which results in… a Windows executable! Seriously, and it requires Java too so wouldn’t run on my Javaless Wine installation. I gave up in the end and found a copy of the apk via Google only later discovering the same file was linked to from the WildFire page.

Once I had the app on my phone it was very easy to get going, just load the SmartConfig app and enter your network password then click start and reset the WildFire. The only catch for me was I have MAC address filtering enabled on my network, it would be nice if the preloaded sketch printed the MAC address out on the serial output to make getting round that a little easier.

The CC3000 WiFi module is becoming quite popular in Arduino land these days, mainly thanks to its adoption by Adafruit who have written the library that the WildFire uses and I can see why. It supports 802.11b and 802.11g WiFi with support for WEP,WPA and WPA2 security using TKIP or AES and it can handle up to 4 concurrent connections with its built in TCP/IP stack that has support for TCP and UDP connections in both client and server modes.

RESTduino

As I mentioned above the WildFire comes preloaded with a RESTduino sketch which is a nice way to easily interface with an Arduino via the web, allowing people with web development experience to build systems using the inputs and outputs without ever getting into any Arduino coding at all (although I would urge them to give it a try). The WildFire page provides some examples for using the preloaded sketch:

To set a digital pin: http://WILDFIRE_IP/13/HIGH  This sets D13 high and turns on the onboard LED

To read a digital pin: http://WILDFIRE_IP/5  This reads D5 and returns JSON similar to {“5″:”LOW”}

To read an analog pin: http://WILDFIRE_IP/a1  This reads A1 and returns JSON similar to {“a1″:”361″}

There is a slight problem with the example to turn the on board LED as the LED is on Pin 13 (following the original Arduino design) which is the SPI SCK line as used by the CC3000 so it locks up the WiFi once you set it to high and requiring a reset to recover but this is only a minor thing.

Arduino IDE support

To get started with programming via the Arduino IDE you need to download the WildFire support package to add support for the ATMega1284P, just download the file and unzip it into your sketchbook directory. Restart the IDE and you should have the WildFire listed in the boards menu.
The package also includes the WildFire library and the modified versions of the Adafruit CC3000 and MDNS libraries, some of the examples I’ve tried don’t work out of the box but the Adafruit library is good to work with and they all seem easy enough to get going so far. There wasn’t a http server example so I’ve adapted the standard Arduino ethernet example to work with it which you can find here: WildFire_WebServer.ino

All in all it is a very nice little board and I look forward to getting stuck into some projects with it.

The WildFire is available from Wicked Device for $89.99 and the WildFire resource page has everything you need to get going, there is also a discussion forum.

 

2 thoughts on “Wicked Device WildFire Arduino Compatible with ATMega1284P and WiFi

  1. Thanks, it’s a nice board. The web server example nicely shows off the benefits of the 1284 for things like this, all it does it output the values of the analogue inputs but Stino reports:

    Binary sketch size: 23448 bytes (of a 122878 byte maximum, 19.08 percent).
    Estimated memory use: 1263 bytes (of a 16384 byte maximum, 7.71 percent).

    Which wouldn’t leave a lot left for anything else on a 328 and it’s only a simple sketch!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notify me of followup comments via e-mail. You can also subscribe without commenting.