CP480 Wireless Communication and Networks Lab

This page is is being updated for Winter 2020.

This is the CP480 Lab page, created and updated by Terry Sturtevant.
Page last updated Friday March 13, 2020
**Items marked this way are not final.**

Week 1, Week 2, Week 3, Week 4, Week 5, Week 6, Week 7, Week 8, Week 9, Week 10, Week 11, Week 12


Evaluation Methods

Course Material

Week of ... Lab Reference Material
[ white background indicates required reading;
gray background indicates optional reading]

  Introduction to Arduino

Jan. 6 Arduino homepage

Pin assignment diagram (png version)

Pin assignment diagram (DIA, i.e. editable version)

LCD Shield wiki
Sample code (Note: The code in the wiki is very confusing.)

LCD-00255 datasheet   [ February 5, 2015 ]

LCD-00255 extended datasheet   [ February 5, 2015 ]

  Wireless Devices with Arduino
Serial Communication-UART [PDF]   [ June 28, 2017 ]

Jan. 13 Index of sensors (including ones used here)


Jan. 20

  Exploring NRF24L01

Jan. 27
  • These wireless modules allow you to set up wireless networks of various topologies to interconnect Arduinos or similar devices.
    Arduino with NRF24L01 module
    Your goal over the next few weeks will be to get a network set up so that each device can have a unique sensor, but that all devices will display the information from all of the sensors.

    Arduino Wireless Communication - NRF24L01 Tutorial
    Your goal this week is to work with another group, so that each group can transmit to or receive from the other group.

    Note: The wireless transceiver need 3.3V for power, not 5V. This is indicated on the schematic diagram.

    Here's a connection diagram that might be more helpful than the ones in the tutorial:
Arduino connections

    Note: Instead of pins 7 and 8 for CE and CSN, use pins which will not interfere with the LCD shield.

    Note: The Arduino Nano is exactly like the UNO except for the size. In other words, it has the same pins.

    You can use the analog pins for digital I/O as well; don't use A0 since it is used by the LCD shield.

NRF24L01 tranceiver
Wireless transceivers (SPI)
arduino info: NRF24L01-2.4GHz Howto
Arduino Wireless Communication - NRF24L01 Tutorial
Arduino Playground - NRF24L01
How to use the NRF24L01 2.4GHz wireless module with an Arduino


Feb. 3
  • Starting from last week's lab, make it so that communication can be two way; i.e. two Arduinos can communicate in both directions.
    Make the messages personalized so it's clear which Arduino is sending.
  • Also, if not already done, get the received data to display on the LCD shield.
  • Assign 3 buttons to send messages to each of the other 3 Arduinos. In other words, each Arduino can send a unique message to each other one based on the button pressed.

325-433MHz transmitter/receiver pair
wireless transmitter/receiver pair
433MHz remote control/receiver pair
remote control
Serial Communication-SPI [PDF]   [ June 28, 2017 ]
Serial Communication-I2C [PDF]   [ June 28, 2017 ]

Xbee shield wireless module
Xbee Zigbee wireless module datasheet
Xbee module mechanical specifications
Arduino Xbee shield wireless module schematic

PN532 NFC Arduino library

PN532 NFC datasheet
pn532 NFC module (front)
pn532 NFC module (back)
Fritzing where you can download software to draw wiring diagrams with Arduinos and other components


Feb. 10 Wi-Fi Wireless Wiki (see section on "Attenuation")

Electromagnetic waves - reflection, refraction, diffraction [Radio-Electronics.com ]

Fast fading

Textbook: Section 2.4 Transmission Media


Feb. 17 Reading Week - no lab  

  Exploring Bluetooth

Feb. 24


Page with HC-05 having KEY and SATE pins

Page with HC-05 from LC Technology

How to Use Bluetooth 4.0 HM10 (Instructables)
Bluetooth LE module (UART)
Bluetooth Mate tranceiver (UART)
Bluetooth Mate page

Bluetooth HC-05 tranceiver (UART)
bluetooth tranceiver
Bluetooth LE with Arduino and Linux
  [ June 19, 2017 ]

Bluetooth Classic with Arduino and Linux
  [ June 28, 2017 ]

Bluetooth test sketch
You'll want to change the pins used for Software Serial to avoid pins used by the LCD shield. (Some of the analog input pins would work; remember A0 is used by the shield.)
Also, remember that Tx from the Arduino should connect to Rx of the Bluetooth module and vice versa. Don't forget the voltage divider on the Rx pin of the module.


Mar. 2
  • Bluetooth AT command usage
    Using the Bluetooth test sketch and the Arduino serial monitor, get into AT command mode and examine the various settings on the device.
    For HC-05 devices, tie the KEY pin to 5V before powering up to put it in command mode.
    For HM-10 devices, they should power up in command mode until they are paired with another device.
  • Once this is working, incoporate the LCD shield so that output displays on the shield in addition to the serial monitor, and each button sends a different AT command.
    Also, change the name of your device so that it has a unique suffix after the original name, such as HC-05_3 .

  • Postlab Requirements   [ May 12, 2017  ]

What the Signal Strength Bars mean in Wireless hardware   [2005]

iPhone exaggerates the signal strength of AT&T's network   [2010]


Mar. 9
  • Same process as last week with other device;
    i.e. if you had HC-05, now use HM-10
    if you had HM-10, now use HC-05
  • Postlab Requirements   [ May 12, 2017  ]


Mar. 16
  • continuing


Mar. 23
  • Final documentation:
    For one of your circuits, submit a Fritzing connection diagram, your Arduino sketch and a screencast or video showing the devices working with the Arduino. Include documentation of any useful debugging tips, tools, etc. (For instance, for Bluetooth, discuss master/slave issues, talking to phones, etc.)
  • Lab evaluation


Apr. 1
  • Submit final documentation


To view pdf documents, you can download Adobe Acrobat Reader .
get Acrobat Reader
If you need to update a browser, you might try Firefox which is Get Firefox!
Since this page uses cascading style sheets for its layout, it will look best with a browser which supports the specifications as fully as possible.

If you are looking for an office package, with a word processor, spreadsheet, etc., you might try LibreOffice which is Get LibreOffice!

Go to the main page for the Department of Physics and Computer Science.

Valid XHTML 1.1

Valid CSS!

(Level AA)

Wilfrid Laurier University