Arduino WiFi Shield memungkinkan board Arduino untuk terhubung dengan jaringan internet secara wireless. Secara umum feature yang dimiliki oleh Arduino WiFi Shield ialah sebagai berikut.
- Tegangan operasi 5 volt yang berasal dari board Arduino
- Memiliki compability dengan board Arduino Due
- Terhubung ke jaringan melalui 802.11b/g networks
- Jenis encryption WEP dan WPA2 Personal
- Terhubung dengan board Arduino via SPI port
- Dilengkapi dengan slot micro SD
- Terdapat ICSP header
- Memungkinkan serial debugging dengan FTDI connection
- Terdapat mini USB untuk update firmware dari Arduino WiFi Shield
Arduino WiFi Shield memungkinkan board Arduino terhubung dengan jaringan internet berdasarkan HDG104 Wireless LAN 802.11b/g system in package. Dengan AT32UC3 menyediakan network IP yang dapat digunakan untuk TCP dan UDP. Arduino WiFi Shield telah dilengkapi dengan slot micro SD onboard, yang dapat digunakan untuk menyimpan berkas-berkas. Untuk library WiFi dan SD card juga telah disediakan. Pada saat menggunakan library, pin SS ada pada pin digital Arduino 4.
Komunikasi Arduino baik untuk WiFi maupun SD card menggunakan SPI bus, melalui ICSP header, yang terdapat pada pin digital 11, 12, dan 13 pada Arduino Uno, sedangkan untuk Arduino Mega ada pada pin digital 50, 51, dan 52.
Baik pada board Arduino Uno maupun Mega, pin digital 10 digunakan untuk memilih HDG104 sedangkan untuk pin digital 4 digunakan untuk SD card. Saat digunakan untuk keperluan ini, kedua pin digital tersebut tidak dapat digunakan sebagai pin input output biasa. Catatan pada board Arduino Mega, pin digital 53 berfungsi sebagai hardware SS, meski tidak digunakan untuk memilih antara HDG104 atau SD card, namun harus tetap didefinisikan sebagai output agar interface SPI dapat bekerja dengan baik.
Karena HDG104 dan SD card saling berbagi jalur SPI bus, maka hanya satu saja yang dapat dilakukan. Keduanya tidak dapat dilakukan secara bersamaan. Adapun digital pin 7 digunakan untuk handsake antara Arduino WiFi Shield dengan board Arduino, juga sebaiknya tidak digunakan sebagai pin input output biasa.
Lihat juga mengenai tutorial konfigurasi Arduino dengan Ethernet Shield.