Summary of A new Wi-Fi Shield to connect your Arduino to the Internet
This article introduces a new WiFi shield for Arduino that simplifies internet connectivity by offloading TCP/IP tasks to a dedicated interface processor. The shield uses the MRF24WB0MA radio and MCW1001A processor, operating at 3.3V with TTL levels. It connects to the Arduino via a two-wire serial interface requiring a customized SoftwareSerial library due to specific communication protocols like two stop bits.
Parts used in the New WiFi Shield:
- MRF24WB0MA radio element
- MCW1001A processor by Microchip
- Voltage regulator (converting 5V to 3.3V)
- Antenna wired on the radio base
- SPI lines (SDO, SDI, SCK)
- Control lines (CS, INT, RST, HIBERNATE, WP)
- Two-wires serial interface (RX, TX) in TTL logic
- Customized SoftwareSerial library
Since now on, it will be easy to provide your Arduino with Internet connectivity by using this shield. The shield sports a TCP/IP stack manager, in order to free up the Arduino from some basic tasks. It’s also essential to equip the board with a library, that communicates with the TCP/IP manager and makes it easier to program the Arduino and to let it communicate with other computers via the Internet.
The WiFi shield
Despite the proliferation of hardware to connect Arduino with the web, and especially despite YUN, we considered useful to design and propose a new WiFi shield for Arduino, which replaces the one already presented.
This time we indeed added an interface processor that manages the TCP/IP protocol: a definitely too challenging task for Arduino. Anyway a network interface card becomes really useful if it’s driven by software which simplifies as much as possible its use, especially in a context of reduced hardware resources such as with Arduino. For this reason we supplied the card with a Arduino library, that is easier than that for more complex hardware such as that of YUN.
The hardware is essentially based on a radio element (MRF24WB0MA) and a MCW1001A processor by Microchip. The power supply is 3.3V (using a voltage regulator from the 5V of Arduino) but the processor also bears TTL levels. The radio element has also an antenna wired on its base. The processor is connected to the radio element via SPI lines (SDO, SDI, SCK) and other control lines such as CS, INT, RST, HIBERNATE, WP.
The board is then connected to the host (Arduino) with a two-wires serial interface in TTL logic (RX, TX). This forced us to use a software simulated serial port with a customized version of the SoftwareSerial library. The customization was necessary because of the two stop bits mode, but also to adjust the optimum speed and make the use of the library transparent. In fact, this version of the SoftwareSerial is included in the library. But this mode of connection precludes the possibility of using the standard SoftwareSerial library for other uses in the same sketch.
For more detail: A new Wi-Fi Shield to connect your Arduino to the Internet
- What is the primary purpose of this new WiFi shield?
To provide Arduino with Internet connectivity while freeing it from basic TCP/IP tasks. - Which processor manages the TCP/IP protocol on the board?
The MCW1001A processor by Microchip manages the TCP/IP protocol. - How is the power supply handled for the processor?
The board uses a voltage regulator to convert the Arduino's 5V down to 3.3V. - How does the processor connect to the radio element?
The processor connects to the radio element via SPI lines and other control lines. - Why was a customized version of the SoftwareSerial library necessary?
A custom library was needed to handle the two stop bits mode and adjust the optimum speed. - Can the standard SoftwareSerial library be used for other purposes with this shield?
No, using this connection mode precludes using the standard SoftwareSerial library for other uses in the same sketch. - Does this shield replace previous hardware presented for Arduino?
Yes, this design replaces the previously presented WiFi shield. - What level logic does the processor support?
The processor bears TTL levels.

