Product | Communication | WiFi | Arduino SPI WiFi Module
Arduino SPI WiFi Module
Arduino SPI WiFi Module
More than 200
US$49.98 Loading ...

Arduino SPI WiFi Wireless Module

Introduction :

Getting you Arduino into WiFi network is not a fresh news any more. We introduced our UART Wifi Module which easily gets your Arduino into WiFi.

But now Users who use UART Wifi Module will find that the operation is very easy, and programming is pretty easy, too. Basically once you configured it well, you don't need to do further configuring work in the future until the wifi network changes. Each time while it is powered up, it accesses to the wifi network automatically. However, the data speed may not satisfy your needs. Because the data go through UART, and UART speed is limited.

Well, this new Arduino WiFi Module sends and receives data through SPI interface. The max data speed is 2Mbps. Basically you can transmit picture or vedio wirelessly. Also, this new shield supports AES encryption, more safer while transmitting your data. This shield requires much programming code.

So here is the difference :

Feature :

1、Compatible with Arduino UNO, Mega, Duemilanove and so on

2、Compatible with most none-Arduino platform with SPI such as PIC

3、Power: 5V DC

4、Interface: SPI

5、Plug and play solution

6、Compatible with Arduino UNO, Diecimila, Duemilanove and Mega series

7、IEEE Std. 802.11b/g/n compatible

8、Data Rate: 1 and 2 Mbps

9、Uses SPI for host communication (max speed 25MHz)

10、Easy access reset button on-board

11、Solder-switchable interrupt pin usage between INT0 and digital pin 8

12、16 Mbit on-board DataFlash, can be used to store webpages, sensor logs, etc.

13、Extra port to facilitate usage for non-Arduino platform such as PIC.

14、Supports 802.1x, 802.1i security: WEP, WPA-PSK, and WPA-2-PSK.

15、Hardware Security Engine for AES and RC4-based ciphers

16、Support AdHoc.

Description :

WiFi access to the LAN is already a common way. We have introduced a wired way to access LAN. Is it possible for Arduino to access LAN via WiFi? The answer is yes. We are here to introduce a WiFi wireless communication module based on SPI.

To use this module, first we need to start with to download the appropriate library, or you can download our testing version. The library files should be extracted to the Arduino (we tested using the Arduino-0021) libraries directory, and rename it to WiFi and restart Arduino IDE.

In order to communicate with access point (AP) or wireless router (Router), this WiFi module needs to be configured, including the wireless network ID (SSID) and encryption methods. At present, the WiFi module can support WEP, WPA / TKIP-PSK and WPA2/AES-PSK encryption. Before configuring WiFi module, you need to understand clearly your AP or router's configuration. Here we used a NETGEAR wireless router, with WPA encryption. Configuration as shown below :


In the download WiFi package there are some examples. Here we test the WebServer example, consisting of two parts: webserver.c and WebServer.pde. We need to modify WebServer.pde, mainly based on the wireless router's configuration. We modified the code as follows :
# Include <WiShield.h>


/ / Wireless configuration parameters ----------------------------------------
unsigned char local_ip [] = {192,168,0,14}; / / IP Address
unsigned char gateway_ip [] = {192,168,0,1}; / / Gateway address
unsigned char subnet_mask [] = {255,255,255,0}; / / subnet mask
const prog_char ssid [] PROGMEM = {"LOTUS"}; / / SSID

unsigned char security_type = 2; / / 0 - open; 1 - WEP; 2 - WPA; 3 - WPA2

/ / WPA/WPA2 passphrase
const prog_char security_passphrase [] PROGMEM = {"12345678"}; / / max 64 characters

/ / WEP 128-bit keys
/ / Sample HEX keys
prog_uchar wep_keys [] PROGMEM = {

0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, / / Key 0
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, / / Key 1
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, / / Key 2
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 / / Key 3

/ / Setup the wireless mode
/ / Infrastructure - connect to AP
/ / Adhoc - connect to another WiFi device
unsigned char wireless_mode = WIRELESS_MODE_INFRA;

unsigned char ssid_len;
unsigned char security_passphrase_len;
//------------------------------------------------ ---------------------------

void setup ()
WiFi.init ();

/ / This is the webpage that is served up by the webserver

const prog_char webpage[] PROGMEM = { "HTTP/1.1 200 OK Content-Type: text/html  <center><h1>Hello World!! WiFi</h1> </center>"};

void loop ()
{ ();

In the code, security_passphrase is for WPA/WPA2 encryption, and wep_keys is for WEP (128 bit key) encryption, You need to fill in the appropriate parameters according to the setting of your WiFi network, Here we deal with WPA encryption, So we only need to set security_passphrase.

Download the program to the Arduino, Hardware connection is simple. This module uses the SPI interface, So we can use the IDC expansion Shield, 6-pin IDC is used here:


WiFi module's initialisation will takes some time. We can use the ping command to check that whether this wifi module is normal to connect the wireless AP/the router or not :

Ping -t

Here is the basic example for Arduino

1、Connect this WiFi module with Arduino

2、Download the appropriate library and extract to the Arduino libraries directory, then rename it to WiFi and restart Arduino IDE

3、Open the example of WebServer in Arduino IDE and make some necessary change

4、Upload the code and run, then in your browser visit

Once the connection is right, you can use the browser to test the WiFi WebServer:

Click to download the SDK Zip Document

SDK Zip Document Including List :





5、Schematic Diagram



Write a review
*Review title
Please enter subject.
*Your review
Please enter review.
(Click star icon to comment)
Display name
*Enter security code


Please enter code
Loading ...