3.75 out of 5
155 reviews on Udemy

All about Arduino Wireless and the IoT

A complete course on using your Arduino to communicate data wirelessly
Stephen Borsay
1,749 students enrolled
English [Auto-generated]
Use Arduino and ESP8266 to transmit and receive data wirelessly over WiFi, and Radio
Configure and program various transceivers like the Nrf2401, 315Mhz, and LoRa
Protoype basic wireless hardware with Arduino and the ESP8266
Create Datalogs and files using an embedded SD card, and software based datalogging in Putty, Teraterm and Android
Learn how to properly use the send and receive API's to pass arrays and data structures wirelessly
Use various 3rd party sites for Data Visualization and conditional SMS and Email alerts

This course is a strong foundation for understanding IoT utilizing wireless Arduino communications.  We will be using both the Arduino and the ESP8266 for wiFi and radio functions.  This course will give students an good understanding of IoT and wireless communications utilizing Arduino and the ESP8266 with inexpensive wireless transmitters, receivers and transceivers. We will go over most of the popular and least expensive methods, tools, and associated hardware to pass data wirelessly between devices and over the web and through the cloud. Students will learn how to configure, develop, and program these popular and cheap wireless devices to trigger an event or pass data between devices. Students will be able to thoroughly grasp the concepts of transmitting data around the web:

*ESP8266 to the web

*Between Arduinos

* Arduino data to a PC

* Arduino data to the “Cloud”

* Arduino to Putty and Teraterm

* Arduino to SD Card for Datalogging

* Arduino to ThingSpeak, Google, IFTTT, Losant, Ubidots and others for for graphics and conditional

control Flow applications.

Hardware and Tools utilized in this course:


315 MHz transmitters

nRF2401+ (Nordic radio Transceivers)

ESP8266 (Model 12-E)

DHT11 Environmental Monitor


DuPont Jumpers

Ethernet Shield based on the popular WIZnet 5100 chip

Students will learn how to manipulate each of the wireless libraries, functions, and protocols to meet the requirements of a wireless network. we will cover not only simple wireless over the “air” , Students will also acquire the knowledge needed to use wireless Wifi chips and Ethernet to pass data to the web with, and without, a computer.

Introduction to Arduino Wireless

What this course covers

A brief description of what this course covers.

Inexpensive Hardware and Software requirements

Hardware parts list

2 Arduino's uno or other model (reccomend Uno or Mega)

Solderless Breadboard

40PCS Dupont Wire Jumpers Male to Male 20cm
40PCS Dupont Wire Jumpers Male to Female 20cm

DHT11 Sensor

315Mhz RF transmitter and receiver kit

2PCS NRF24L01 2.4GHz Wireless Transceiver Modules

Ethernet Shield with WIZnet5100 and Memory Card Slot For Arduino

WiFi Shield for Arduino with CC3000 chip (LinkSprite or Adafruit preferred)

HC-05 6 Pin Wireless Bluetooth RF Transceiver Module Serial For Arduino

Micro SD Storage Board Memory Shield Module on SPI For Arduino

for future bonus lecture material you can look at and order ESP8266 (01 or 12 model)

Free software to download

Arduino IDE
Tera Term
Bluetooth Graphics Terminal for Android
ThingSpeak account on web
ThingView App for Android

Why Arduino and Resources

Additional resources and getting help

Sending and receiving data with the 315Mhz Wireless radio

Setting up the 315Mhz Transmitter

A demonstration on how to set up the 315 radio transmission unit.

Setting up th 315Mhz Receiver

Setting up the DHT11 receiver

Setting up the Com Ports on the IDE

An explanation on how to set up the Com Ports on your computer to work with the radio unit and Arduino.

SImple send Tx

A simple program to send data for proof of cobncept. See .py file for code.

Simple receive Rx

Code to receive our data from the trnssmisssion unit.

setting up the DHT11 Transmitter

Setting up the DHT11 with the transmitter

Sending basic numeric data over the 315Mhz transmitter

Sending data with the DHT11 unit and simple transmisssssion code.

Receiving basic numeric data over the 315Mhz receiver

Receivinbg basic environmental data with our DHT11 and 315 Mhz unit.

VirtualWire library highlights

talking bout the VirtualWire.h library with a focus on vw_send and vw_get_message and relevant parameters

Sending an array of numeric data over the 315Mhz transmitter

sending over a a double array of data

Receiving an aray of numeric data over the 315Mhz receiver

Receiving a double array of data.

Sending and Receiving data with th nRF2401 Transceivers

Setting up the nRF2401 transceiver

Setting up and wiring the hardware on the Nordic Radio Transceiver.

Transmitting a coordinatd blink on th nRF2401

Coding a simple blink example to coordinate transmissions on the nRF2401.

Receiving the coordinated blink message on the nRF2401

Going over code for receiving the blink single from the transmitting unit of the transceiver set.

Transmitting a data structure from the nRF2401 trasceiver

Reviewing the code needed to pass an entire structure of data between Nordic Radios

Receiving a data structure from the nRF2401 Transceiver

Coding the receiving side of the Nordic radio. This code will receive a whole structure of data elements from the sending unit.

The WIZnet5100 TCP/IP based Ethernet Shield for Arduino

Setting up the Ethernet shield and Arduino sketch to ThingSpeak

Discussing the specifications of the Ethernet shield and it interacts with the Arduino IDE. Uploading a simple data point.

Modifying the sketch for multiple data points on ThingSpeak

Coding a more complex example which will uploaded complete environmental data to the ThingSpeak website on the internet and can be used for remote monitoring anywhere in the world both graphically and for data logging.

The CC3000 based WiFi network Shiled for Arduino

The WiFI shield, WiFi Library specifications, and using ThingsSpeak via WiFi

A Wifi example using the LinkSprite shiled based on the CC3000 chip. See resouces for code and examples

Altering our code to pass data from Arduino Wifi to datalogging Thingspeak

More advanced example utilizing a lot more functionality, implementing your API key from ThingsSpeak.

The ESP8266 12-E WiFi device

Comparing the ESP8266-01 and the improved 12-E WiFi IoT SoC modules

Explaining what the ESP8266 is about and then comparing the ESP8266-01 to the ESP8266-12E wireless IoT modules.

Demo of the Breadboard setup for the ESP8266 12-E

Showing how to wire the ESP8266 on the breadboard for both the wifi scan code example and the ThingsSpeak example with the DHT11.

Useful Instructional and Driver Download for ESP8266 12-E

Demonstrating how to use the Acrobotix resource page and download the Silicon Labs C2102 UART-USB driver for the ESP8266 12-E board.

Configuring the Arduino IDE for the ESP and running a simple WiFi scan example.

Showing how to configure the Arduinio IDE to work with the ESP8266.

Tasks include pointing to the ESP8266 community website, downloading the Board Support Package from the website, downloading the Adafruit ESP8266 Libraries, and configuring the board for using NodeMCU (1.0).

After configuration using the premade WiFi Scan example program to find your wireless networks with the ESP8266

Connecting to ThingSpeak and uploading your environmental sensor data.

Demonstrating the code to connect the ESP8266 12-E using the DHT11 to the ThingSpeak website and upload your environmental data.

Send WiFi data to your Google Sheet

Part 1: Setting up your Google Sheet

In this part we will create a Google sheet based on your Gmail account and then use our Google script to prepare to receive variables from our WiFi deice sketch to log our data over the web.

Part 2: Configuring the PushingBox API

In this second part we will configure our free PushingBox account with our Gmail to link the variables from our WiFi Device sketch(Part 4) into our Google Script (Part 1)

Part 3: Checking our work thus far with a URL test
Part 4(A): The Arduino sketch for the ESP8266-12E
Part4(B): The Arduino sketch for the MKR1000

Send WiFi Data to InitialState.com

Data logging and graphing on IntialState.com

Losant with JSON and MQTT

Losant with JSON and MQTT Part 1
Losant part 2
Losant Part 3


Ubidots using REST
Ubidots using MQTT

Send WiFi Data to theThings.io using MQTT

Using MQTT for IoT Data with theThings.io

Send an Email and Text with Arduino ESP8266 over WiFi

Setting up the parameters on IFTT parameters

Configuring IFTTT.com API's to get email and text messages sent directly to you from your ESP8266

Program the Arduino Sketch (ESP8266)

The Arduino Code to send data from your DHT on the ESP8266 to IFTTT to get an email and text message.

Arduino MKR1000 to IFTTT

Setting up Bluetooth to work with Arduino and Android

Wiring Bluetooth to Arduinio and setting RX and TX

Setting up and wiring our Bluetooth module to use as a wireless extender for our tramsitting or receiving unti.

Receiving Bluetooth from Android and PC serial logging

Demonstrating Bluetooth reception over Andriod and bluetooth wireless on Tera Term

Datalogging to an SD card

Seting up the SD card to Arduino hardware and wiring

Connecting and wiring or inexpensive SD card reader/writer for use datalogging from our Arduino.

Code the receiver to log data without a computer using a SD card reader/writer.

Reviewing the code needed for implementing the datalogging to the SD card

Datalogging to a Serial monitor

Using Putty to log data

We can use putty to save our Data with the log. Download at:


Using Tera Term to log data

Using Tera Term for data logging functions over serial or Bluetooth from data sent from Arduino

Section Quizs

Quiz on 315MHz Wireless

This is a quiz on relevant elements on the wireless 315 MHz transmitter and receiver and VirtualWire.h library

Quiz on Nordic Radio 2401

a Quiz on the nRF2401

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
3.8 out of 5
155 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


6 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion