CuHead WiFi Shield for Arduino Mega

From LinkSprite Playgound
Jump to: navigation, search


This is the shield you need to get Wi-Fi connectivity to your Arduino-based project! This shield provides 802.11b connectivity and is a direct drop-on plug-and-play solution to your Arduino Mega 1280/2560!

Mega 1.jpg


  • 802.11b Wi-Fi certified
    • 1Mbps and 2Mbps throughput speeds
  • Supports both infrastructure (BSS) and ad hoc (IBSS) wireless networks
  • Ability to connect secured and unsecured networks
    • WEP (64-bit and 128-bit)
    • WPA/WPA2 (TKIP and AES) PSK
  • Low power usage
    • Sleep mode: 250μA
    • Transmit: 230mA
    • Receive: 85mA

Standard spec

Cuhead Mega has charging and discharging function, the charging circuit is used to tell voltage of the battery.

We can connect the positive and negtive of the battery to BAT, if the battery is full, then Cuhead Mega wont charge battery; if it is not, the external battery will be charged.

We bring comparator to check the operating current of Cuhead Mega so you know it is Arduino giving power to Cuhead Mega or the opposite way, and change the charging circuit to connect/disconnect based on that.

When Cuhead Mega connect Arduino, there are two working status:

  • Connect Arduino with USB/Adaptor , Arduino gives power to Cuhead Mega, the charging circuit on Cuhead Mega will disconnect;
  • No external power for Arduino, then the charging circuit of Cuhead Mega is working, and the battery will power the boards. Normally we give power to Arduino directly, thus the charging circuit is inactive.

Add Potentiometer

The new added potentiometer is to adjust the voltage to any value needed (by adjust AMS1117 Vin to 5.6V~6.0V).

It is hard to do so by fixed resistance. The default voltage of Cuhead Mega has been set in the right voltage,normally you don't have to adjust it.

Wi-Fi Transceiver Module Features

  • IEEE Std. 802.11-compliant RF Transceiver
  • Serialized unique MAC address
  • Data Rate: 1 and 2 Mbps
  • IEEE Std. 802.11b/g/n compatible
  • Small size: 21mm x 31mm 36-pin Surface Mount Module
  • Integrated PCB antenna (MRF24WB0MA)
  • Range: up to 400m (1300 ft.)
  • Single operating voltage: 2.7V–3.6V (3.3V typical)
  • Simple, four-wire SPI interface with interrupt
  • Low-current consumption:

RX mode – 85 mA (typical)

TX mode – 154 mA (+10 dBm typic

Sleep – 250 µA (typical)

Hibernate – <0.1 µA (typical)

Wi-Fi Transceiver Module RF/Analog Features

  • ISM Band 2.400–2.484 GHz operation
  • 14 Channels selectable individually or domain-restricted
  • DSSS Modulation
  • Data Rate – 1000 kbps
  • -91 dBm Typical sensitivity at 1 Mbps
  • +10 dBm Typical output power with control
  • Integrated low phase noise VCO, RF frequency synthesizer, PLL loop filter and PA
  • Digital VCO and filter calibration
  • Integrated RSSI ADC and I/Q DACs, RSSI readings available to host
  • Balanced receiver and transmitter characteristics for low power consumption

Cuhead Mega MAC/Baseband Features

  • Hardware CSMA/CA acce ss control, automatic ACK, and FCS creation and checking
  • Automatic MAC packet retransmit
  • Hardware Security Engine for AES and RC4-based ciphers
  • Supports 802.1x, 802.1i
  • Security: WEP, WPA-PSK, and WPA-2-PSK

Application Ideas




Pin definition and Rating

Mechanic Dimensions


Hardware Installation

Ready To Hardware

  • LinkSprite CuHead WiFi Shield for Arduino Mega module

Mega 2.jpg

  • Arduino Mega module

Mega 3.jpg


Cuhead 3.jpg

Ready To Software

  • Arduino 1.0

Download link: Arduino

  • Cuhead Mega’s Library files and code

Download link: cuheadmega


Example demonstration

  • Download file :, unzip it and rename it as cuheadmega, then put it under the arduino-1.0\libraries directory.Mega 4.jpg
  • Open arduino.exe, choose an example such as SimpleServer.

Mega 5.jpg

  • Change the settings, input the right IP address, default gateway and subnet mask according to your wireless router settings.

Mega 6.jpg

  • Choose the right Serial Port and Board.

Mega 7.jpg

  • When Cuhead Mega connected to the router through WiFi,the red LED will turn on.

Mega 8.jpg

  • Input the IP address of Cuhead Mega as we set it:, it showed what SimpleServer is about.(this IP is for demo)

Cuhead 8.jpg


Q1. Program can't be compiled

A1:Check these if you found that the example we provide cannot compile.

  • Whether you choose the right Board. Because Arduino Mega and other versions of the Arduino interface is different. You should choose the board you are using when compile.
  • Here enter cuheadmaga , and open apps-conf.h

Cuhead 13.jpg

To prevent repeated quotation of the same file, which will cause compile error like duplicate definition and nested quoted. You have to change it here according to your needs. To different examples, the macro definition is different, the default is:


Cuhead 14.jpg

If you want to use another example, such as how to use webserver.h,


//#define APP_WISERVER

Q2. Red LED(D1) not on

A2:If the program has been downloaded to Arduino, yet red LED(D1)on Cuhead Mega is not on, which means Wi-Fi not connected,please check below part.

Check the IP address,default gate way and subnet mask in the code if it is right with the WiFi routor settings. And check the SSID、PASSWORD and encryption method. Or you can reset Cuhead Mega/Arduino module and reconnect them.


If you have questions or other better design ideas, you can go to our forum to discuss or creat a ticket for your issue at linksprite support.


How to buy

Here to buy CuHead WiFi Shield for Arduino Mega on store

See Also

Other related products and resources.


This documentation is licensed under the Creative Commons Attribution-ShareAlike License 3.0 Source code and libraries are licensed under GPL/LGPL, see source code files for details.