Wiring & Test

For this initial demo we'll be using an Arduino UNO to connect. You can also use an Arduino Zero, but you'll have to use the ICSP 6-pin header not pins 11,12,13

  • Vin - connect this to 3.3V or 5V, whichever is the logic voltage of the microcontroller you're using. For UNO this will be 5V, for Zero its 3.3V
  • GND - connect to common ground
  • SCK - Connect to SPI clock. On UNO this is pin #13 on Zero its on the 6-pin ISP header
  • MISO - Connect to SPI MISO. On UNO this is pin #12 on Zero its on the 6-pin ISP header
  • MOSI - Connect to SPI MOSI. On UNO this is pin #11 on Zero its on the 6-pin ISP header

For the remaining pins, you can be a little flexible:

  • CS - Connect to any digital I/O pin, we use #8 by default
  • EN - connect this to 3.3V or 5V, whichever is the logic voltage of the microcontroller you're using. For UNO this will be 5V, for Zero its 3.3V; later on if you want to enable/disable the module, connect it to a digial I/O pin
  • IRQ - Connect to any digital I/O pin, preferrably one with an interrupt capability. We use #7 by default
  • RST - Connect to any digital I/O pin. We use #4 by default

You can change these pins later but for now use them, so you can verify your setup!

Install the Library

We will start by installing the official Arduino WiFi101 library.

We want the latest version so visit the Library Manager

Type in wifi101 and when the library comes up, click Install or Update to make sure its the most recent one!

If you're not familiar with installing Arduino libraries, please visit our tutorial: All About Arduino Libraries!

Restart the Arduino IDE.

Use the very latest version of the Arduino IDE!

Check Connections & Version

 Before we start, its important to verify you have the right setup & firmware version.

Load up the WiFi101->CheckWifi101Firmware sketch

Note that to use the official Arduino WiFi101 Library, we must configure it to use the pins specific to the ATWINC1500 Breakout. With each example sketch, you'll need to add WiFi.setPins(8,7,4); to the top of the setup function, before WiFi.status() is called.
Download: file
//Configure pins for Adafruit ATWINC1500 Breakout
WiFi.setPins(8,7,4);

Like so:

Upload to your Arduino and open up the Serial Console at 9600 baud:

You should see the firmware version. If your version has not PASSED follow this page to update your firmware!

If you have version 19.3 or less, the firmware is too old

If you get not response, the firmware is either waaay to old, or something is amiss with your wiring!

If you get a warning that says

WiFi101 shield: DETECTED
Firmware version installed: 19.5.2
Latest firmware version available : 19.5.4

Specifically with 19.5.4 and 19.5.2, you can continue without updating

Scanning WiFi

Now that you have the right firmware version, lets scan for network!

Run the WiFi101->ScanNetworks example to see a list of available visible networks

Don't forget to add WiFi.setPins(8,7,4) at the top of setup()

Connect & Read Webpage

OK finally you get to connect and read some data!

Open up the WiFi101->WiFi101WebClient example, then edit the ssid and pass variables to contain your network and password

Add the following lines at the top of setup()

  //Configure pins for Adafruit ATWINC1500 Feather
  WiFi.setPins(8,7,4);

It will connect to the website in server and read the webpage manually:

That's it! pretty easy, huh? There's other examples you can try such as server mode, UDP data transmission & SSL

This guide was first published on Jan 20, 2016. It was last updated on Jan 20, 2016. This page (Wiring & Test) was last updated on Jun 24, 2019.