AnduinoWiFi Getting Started

Consider this the “Blinky LED” of the anduinoWiFi shield!

Things used in this project

Hardware components

Anduino WiFi
Andium Anduino WiFi
× 1
Arduino Due
Arduino Due
× 1
Arduino Zero & Genuino Zero
Arduino Zero & Genuino Zero
× 1

Software apps and online services

Arduino IDE
Arduino IDE

Story

Motivation

Implementing an IoT prototype utilizing an Arduino that doesn’t natively support WiFi can be cumbersome. Sure there are some pretty good options for native support. The MKR1000 natively supports WiFi, but this ease comes at a price. The SAMD21 is essentially half as powerful as the SAM3X8E on the Due. Why not have the best of both worlds?

 

Give me the speed, storage, and excessive amount of I/O available on the Due with the same WiFi101 capabilities and ease of use as the MKR1000? Wouldn’t it also be nice to prevent your prototypes from looking like a labyrinth of wires and breadboards?

Enter AnduinoWiFi! Sure once you’ve connected the WiFi shield you’ve stolen away some I/O and shield real estate. Add on other critical IoT components like NFC, EEPROM, an LCD Display, and you usually start living on multiple breadboards. With our shield we’ve crammed it all onto one shield! (without compromising too many I/O pins) Let’s dig in and start testing out some of the built in features and components!

Getting Started

So you’ve just unboxed your shiny brand new anduinoWiFi shield, what’s next?

anduinowifi_transbak_m98DB39XEd
auduino WiFi

Whenever I buy something new I usually skip reading the user manual and immediately push all the buttons to see what they do. After stepping through this getting starting guide you’ll have essentially “pushed” all the buttons and explored the 4 major components found on the anduinoWiFi shield.

  • WiFi connectivity (ATWINC1500)
  • RFID/NFC card scanning (PN532)
  • EEPROM storage (ST-M24256)
  • LCD Display (160x128px ST7735)

Let’s kick things off with arguably the most important component of any IoT device, internet!

**For each component you’ll need to download and install libraries in the Arduino IDE. You can download utilizing the ‘Manage Libraries’ option within the IDE or by downloading from GitHub and transferring the files to your Arduino>>libraries directory. For the anduino libraries you’ll want to make sure you include the AnduinoPins Directory as well. This takes care of setting up the I/O for the shield behind the scenes If you haven’t done this before, check out Arduino’s step-by-step guide installing libraries.

Getting Connected With the ATWINC1500

The anduinoWiFi ships with the same WiFi module as the Arduino WiFi shield, the MKR1000, the Adafruit Feather M0 WiFi, just to name a few. This means that we can employ the same WiFi101 Arduino Library, community support, and documentation to get our prototypes working quickly. The ATWINC1500 is wired up just like the WiFi101 shield, so we can use any WiFi101 library example without any modification or adjustment for a different pinout.

To test out WiFi let’s attempt to connect to a web server utilizing https. Once you download and install the WiFi101 library navigate to File>>examples>>WiFi101>>WiFiSSLClient. Open the sketch and enter your WiFi SSID and Password here.

char ssid[] = "yourNetwork"; //  your network SSID (name) 
char pass[] = "secretPassword";    // your network password (use for WPA, or use as key for WEP) 

If you’d like to change the web server you connect to just modify this variable here:

char server[] = "store.andium.com";    

Here’s where we connect to store.andium.com on port 443(HTTPS) and GET the home page:

 if (client.connect(server, 443)) { 
   Serial.println("connected to server"); 
   // Make a HTTP request: 
   client.println("GET / HTTP/1.1"); 
   client.println("Host: store.andium.com"); 
   client.println("Connection: close"); 
   client.println(); 
 } 
} 

So compile and run the code, open up your serial monitor and lets take a look! If all goes well you’ll see HTML returned to the terminal looking similar to what’s below!

<!--[if IE 9]> <html class="ie9 no-js" lang="en"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="theme-color" content="#00cbf5">
<link rel="canonical" href="https://store.andium.com/">
<link rel="shortcut icon" href="//cdn.shopify.com/s/files/1/1789/9879/files/andiumfavicon_32x32.png?v=1487455314" type="image/png">
<title>
Andium Marketplace
&ndash; Andium Inc.
</title>
<meta name="description" content="Turn your Arduino into an andiumNode and start prototyping IoT solutions utilizing your favorite hardware!">

That’s it! You’ve just tested out your anduinoWiFi’s ATWINC1500 and made a request to an HTTPS web server. Feel free to try any of the other WiFi101 example sketches, enter your WiFi credentials and give it a spin. When you’re ready to move on, lets test the NFC!

RFID Card Scanning with the PN532

The anduinoWiFi shield ships with NXP’s PN532 and a uFl connected RFID antenna used for scanning passive RFID tags at 13.56MHz. The anduinoNFC library also supports the NDEF format which we put to use in some other examples.

RFID antenna

To test out NFC on our shield we’re going to run the readRFIDTag example sketch and see if we can grab some information from the RFID Tag and display it in the terminal.

Navigate to File>>examples>>AnduinoNFC>>readRFIDTag and open the sketch. Even though we haven’t programmed anything on to the tag we can still read the UID and display some information about the tag.

Download the sketch, open the serial terminal, once prompted to ‘Scan an NFC tag’ approach the antenna with with a tag and wait for the output!

RFID Tag Reader 
Found chip PN532 
Firmware ver. 1.6 
Scan an NFC tag 
NFC Tag - NFC Forum Type 2 
UID 04 96 A5 89 BA 5A 1F 
NDEF Message 1 record, 18 bytes 
 NDEF Record 
   TNF 0x1 Well Known 
   Type Length 0x1 1 
   Payload Length 0xE 14 
   Type 55  U 
   Payload 04 67 6F 6F 2E 67 6C 2F 76 58 68 6C 72 69  .goo.gl/W4PiKW  
   Record is 18 bytes  

The Mifare Ultralight tag I’ve just scanned contains one record which stores a shortened URL. It’s unique ID is ’04 96 A5 89 BA 5A 1F’.

There are example sketches to read, write, format, erase, even a simple RFID Authentication example (keyCardAccess). To learn more about NFC check out some of our other tutorials utilizing the PN532. Now let’s test out the EEPROM.

EEPROM Read Byte Write Byte & LCD

EEPROM may be arguably the least exciting of the components on the anduino shield but none the less worth a look! You truly don’t realize how much you miss something until they take it away! Well, now we’ve brought the EEPROM back and it’s better than ever.

To spice things up a bit we’re going to test the LCD Display and the EEPROM at the same time. Make sure you have the AnduinoLCD and AnduinoNFC libraries loaded. To open the example sketch navigate to File>>examples>>AnduinoEEPROM>>wbyteRbyte. Flash the sketch and let’s check the LCD display for the output.

We just wrote ‘0x06’ hex to EEPROM address ‘0’.

 byte eebyte = 0x06;                 //what to write 
 int eeaddress = 0;                  //where to write it 

Let’s make a quick change to the sketch and store the character ‘A’ in address 2.

 byte eebyte = 'A';                 //what to write 
 int eeaddress = 2;                  //where to write it 

Code

Anduino

An Arduino library for the Andium(Anduino) shield. Transform your Arduino into an AndiumNode.

An Arduino library for the Andium(Anduino) shield. Transform your Arduino into an AndiumNode. — Read More

 


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top