We may earn an affiliate commission when you visit our partners.
Course image
Stephen Borsay

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:

Read more

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

Hardware and Tools utilized in this course:

315 MHz transmitters

nRF2401+ (Nordic radio Transceivers)

ESP8266 (Model 12-E)

DHT11 Environmental Monitor

Breadboard

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.

Enroll now

What's inside

Learning objectives

  • 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

Syllabus

Become familiar with course structure

A brief description of what this course covers.

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
Putty
Tera Term
Bluetooth Graphics Terminal for Android
ThingSpeak account on web
ThingView App for Android

Read more

Additional resources and getting help

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

Setting up the DHT11 receiver

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

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

Code to receive our data from the trnssmisssion unit.

Setting up the DHT11 with the transmitter

Sending data with the DHT11 unit and simple transmisssssion code.

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

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

sending over a a double array of data

Receiving a double array of data.

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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.

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)

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

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

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

Demonstrating Bluetooth reception over Andriod and bluetooth wireless on Tera Term

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

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

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

http://www.chiark.greenend.org.uk/~sgtatham/putty/

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

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

a Quiz on the nRF2401

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides a strong foundation for understanding IoT by using wireless Arduino communications, which is essential for building connected devices and systems
Explores popular and inexpensive methods, tools, and associated hardware to pass data wirelessly between devices, which is useful for hobbyists and makers
Covers various third-party sites for data visualization and conditional SMS and email alerts, which is helpful for monitoring and controlling IoT devices remotely
Requires specific hardware like 315 MHz transmitters, nRF2401+ transceivers, and ESP8266 modules, which may require additional purchases beyond a standard Arduino setup
Uses the ESP8266-12E, which may require learners to download the Silicon Labs C2102 UART-USB driver, which may be a barrier for some learners
Teaches ThingSpeak, Google Sheets, Initial State, Losant, Ubidots, and IFTTT, which are all third-party services that may require learners to create accounts

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Hands-on arduino wireless and iot

According to learners, this course offers a very practical and hands-on approach to learning about Arduino wireless communication and the Internet of Things. Many found the coverage of various wireless protocols like 315MHz RF, nRF24L01, and especially the ESP8266 for WiFi to be comprehensive and valuable. Students appreciated the numerous code examples and demonstrations that allow them to build real-world IoT projects integrating with platforms like ThingSpeak and Google Sheets. Some reviews indicate that while the projects are useful, newcomers might face a steep learning curve with the hardware setup, requiring careful attention and potentially troubleshooting.
Provided code facilitates project implementation.
"The provided code examples were very helpful for implementing the projects and understanding the concepts."
"I found the code demonstrations clear and easy to follow, making it easier to replicate the experiments."
"Having the code available saved a lot of time and allowed me to focus on understanding the wireless concepts."
"The instructor's walkthrough of the code was beneficial for grasping how the wireless libraries work."
Explores various wireless methods and modules.
"I appreciate that the course covers not just WiFi with ESP8266, but also older RF like 315MHz and the nRF24L01."
"Learning about different communication methods expanded my perspective on IoT possibilities."
"The variety of topics, from simple RF to WiFi and cloud integration, is a strong point."
"It was great to see how different wireless modules can be used with Arduino for various applications."
Shows how to connect devices to cloud services.
"Connecting my ESP8266 project to ThingSpeak and Google Sheets was a valuable part of the course."
"I learned how to send sensor data to the cloud using the ESP8266, which is exactly what I wanted."
"Integrating with online platforms like IFTTT opened up new possibilities for my projects."
"The sections on data visualization and cloud integration were particularly useful for building complete IoT solutions."
Build real circuits and code practical projects.
"The course is very practical and hands-on, which is exactly what I needed to understand how to build real projects."
"I enjoyed the projects provided, they helped me get a good understanding of the concepts taught."
"Being able to build working examples was key to solidifying my understanding of wireless communication with Arduino."
"I found the practical demonstrations to be the most useful part of the course for applying the knowledge."
Wiring and components can be tricky for beginners.
"Setting up the hardware initially was a bit challenging for me as a beginner, requiring careful attention to wiring diagrams."
"Some parts of the hardware setup felt a bit complex, and I needed to double-check connections multiple times."
"Ensure you have all the necessary components listed beforehand; sourcing them took some time."
"While the instructions are there, getting the wiring right for the different modules required patience and trial-and-error."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in All about Arduino Wireless and the IoT with these activities:
Review Arduino Fundamentals
Reinforce basic Arduino concepts like digital/analog I/O, serial communication, and basic programming syntax to prepare for the wireless communication aspects of the course.
Browse courses on Arduino
Show steps
  • Review Arduino's official website for tutorials and examples.
  • Practice with basic Arduino projects like blinking an LED or reading sensor data.
  • Familiarize yourself with the Arduino IDE and its features.
Review 'Arduino Cookbook'
Supplement course material with practical examples and solutions for common Arduino challenges.
Show steps
  • Browse the table of contents to identify relevant chapters.
  • Read through examples related to wireless communication and sensor integration.
  • Experiment with the code snippets provided in the book.
Practice Serial Communication
Reinforce understanding of serial communication, which is fundamental for debugging and data transfer in Arduino projects.
Browse courses on Serial Communication
Show steps
  • Write code to send data from Arduino to a computer via serial.
  • Write code to receive data from a computer to Arduino via serial.
  • Experiment with different baud rates and data formats.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Wireless Sensor Network Prototype
Apply learned concepts by building a simple wireless sensor network using Arduino and one of the wireless communication methods covered in the course.
Show steps
  • Choose a wireless communication method (e.g., nRF24L01, ESP8266).
  • Connect a sensor (e.g., DHT11) to one Arduino and transmit data wirelessly to another Arduino.
  • Display the received sensor data on an LCD or serial monitor.
  • Log the sensor data to an SD card.
Document Your Wireless Project
Solidify understanding by documenting the process of building a wireless project, including code, schematics, and explanations.
Show steps
  • Create a detailed schematic of your project.
  • Write clear and concise comments in your Arduino code.
  • Explain the functionality of each component and the overall system.
  • Create a video demonstration of your project.
Study 'Internet of Things with Arduino'
Expand knowledge of IoT concepts and explore advanced techniques for connecting Arduino devices to the internet.
Show steps
  • Read chapters related to cloud platforms and communication protocols.
  • Implement examples from the book using different cloud services.
  • Adapt the examples to your own IoT projects.
Contribute to an Arduino IoT Library
Deepen understanding and contribute to the Arduino community by contributing to an open-source IoT library.
Show steps
  • Find an open-source Arduino IoT library on GitHub.
  • Identify a bug or missing feature in the library.
  • Implement the fix or new feature and submit a pull request.
  • Write documentation for the new feature.

Career center

Learners who complete All about Arduino Wireless and the IoT will develop knowledge and skills that may be useful to these careers:
Internet of Things Developer
An Internet of Things Developer specializes in creating and maintaining applications and systems that connect physical devices to the internet. This course is directly relevant to the role, as it delves into using wireless communication protocols to send data between devices and the web, a core function of the Internet of Things. This course specifically teaches how to use popular and inexpensive wireless hardware like the ESP8266 and Arduino, configuring them, and writing programs. This course also introduces cloud platforms, which are used for data storage and analysis, which an Internet of Things developer would use often.
Embedded Systems Engineer
An Embedded Systems Engineer designs, develops, and tests software and hardware for embedded systems, which are computer systems with dedicated functions within larger mechanical or electrical systems. This course is a great starting point for anyone interested in this career, as it covers the basics of wireless communication using microcontrollers like the Arduino and ESP8266, which are commonly used in embedded systems. The course provides hands-on experience with configuring, programming, and using various wireless transceivers, and the course goes over how to get data from sensors via multiple wireless protocols. This course’s exploration of data logging and visualization using the cloud is also highly relevant to this role.
Sensor Network Engineer
A Sensor Network Engineer designs and implements networks of sensors that collect data for environmental monitoring and industrial automation. This course will greatly assist someone interested in this career. The course focuses on wireless data communication and using hardware to connect sensors, which is a critical aspect of sensor network engineering. This course gives explicit experience in using devices like the DHT11 environmental monitor with the Arduino and ESP8266, skills that will be applicable to this role. It also gives hands-on experience with a number of wireless protocols and hardware, which would be useful for this occupation.
Firmware Engineer
A Firmware Engineer develops low-level software embedded directly into hardware devices, like programmable logic controllers. The skills and knowledge gained in this course around programming microcontrollers and configuring wireless modules provide a foundation for a career as a Firmware Engineer. The course specifically uses the Arduino and ESP8266, which are commonly used devices for engineers in this role. It also provides hands-on experience in sending data wirelessly, which is essential for many real-world applications. Firmware engineers need to interact directly with hardware, and this course provides valuable experience with some of the most popular microcontrollers.
Smart Home Systems Integrator
A Smart Home Systems Integrator designs and installs automated systems within homes. This course is a very good starting point for this career, as it introduces concepts such as connecting devices wirelessly and sending sensor information to a central system. The course’s focus on using the ESP8266 for WiFi communication and the various transceivers would prepare one for a role integrating smart home systems. The course also provides a clear understanding of how to send data to the cloud for monitoring and control, which is essential for a smart home system.
Robotics Engineer
A Robotics Engineer is involved in the design, construction, programming, and testing of robots that can perform specific tasks. This course helps build a foundation for a career as a Robotics Engineer, particularly the wireless communication aspects. Robots often need to communicate with other machines, sensors, or control systems. This course teaches students how to send data wirelessly between Arduinos and other web-connected devices, which is applicable to robotics. The course also introduces students to hardware used for Internet of Things and robotics projects.
Wireless Communication Technician
A Wireless Communication Technician is responsible for installing, maintaining, and repairing wireless communication equipment. This course is directly relevant to this role, as it covers the fundamentals of wireless communication using popular hardware and protocols. The course’s content on configuring and troubleshooting wireless devices will help build a foundation for a role as a Wireless Communication Technician. The course introduces many different wireless communication methods, which are relevant to the daily work of a technician in this field, and the course also introduces common software required for this specific line of work.
Research and Development Engineer
A Research and Development Engineer engages in activities related to creating and improving products and processes, often in cutting edge fields. This course is directly relevant to this role, as it explores experimentation in using hardware for wireless communication and IoT. The skills acquired in this course, such as prototyping wireless hardware and using cloud platforms, will be very useful in a research environment. The course prepares learners for development of new technologies and methods for wireless data communication, which is a large research area in the field of engineering.
Hardware Engineer
A Hardware Engineer designs, develops, and tests physical components of computer systems and related devices. Although this role is very broad, courses such as this, which explore wireless communication and IoT, can be advantageous. The understanding of circuits, microcontrollers, and integrated hardware components gained from this course is valuable to a Hardware Engineer. This course’s use of Arduino and the ESP8266 helps develop an understanding of the hardware aspects that are essential for this role. This course helps build a foundation in working with hardware components and their integration into larger systems.
Product Development Engineer
A Product Development Engineer is responsible for taking an idea or concept and turning it into a tangible product. This course gives product development engineers insights into wireless data communication which is relevant to many areas of product development. This course utilizes various wireless protocols and hardware, which could be incorporated into new products. The course’s emphasis on prototyping using Arduino and ESP8266 makes it directly applicable to product development and testing, as well as data logging and visualization using the cloud.
Automation Specialist
An Automation Specialist designs, develops, and implements automated systems to improve efficiency in various sectors. This course may be useful for this career, as it provides practical knowledge of wireless communication, which is often used in automation systems. The course’s content on sending data to the cloud is also very relevant to the work of an Automation Specialist. Also, the course reviews a variety of wireless technologies and teaches data logging, both of which are critical for automation projects. This program will help build skills in configuring wireless devices.
Agricultural Technology Specialist
An Agricultural Technology Specialist applies technology to improve efficiency and productivity in farming. This course may be helpful for a career as a Agricultural Technology Specialist because it introduces remote monitoring of environmental conditions. The course explores using wireless networks to send data from sensors to the cloud, which is useful in precision agriculture. The hands-on experience with the DHT11 and other sensors would be directly relevant to this role. The course's hands-on nature, along with emphasis on data collection and remote monitoring, would be useful in implementing various technologies in the agricultural sector.
Control Systems Technician
A Control Systems Technician is responsible for installing, maintaining, and repairing the control systems found in industrial facilities. This course may help someone in this role, as it introduces the concept of wireless communication for control systems. The course also explores how to interface sensors with control systems, a critical part of being a Control Systems Technician. The material taught in the course, especially on wireless networking, is very useful for someone who wants to understand how industrial systems communicate. The training in data logging will also be very useful for a control technician.
Electronic Design Engineer
An Electronic Design Engineer designs and develops electronic components and systems. This course may be useful for a career in this role, as it provides a practical introduction to wireless communication using microcontrollers. This course gives useful information on hardware configuration and data transmission. The experience gained from this course in working with wireless hardware, along with data logging techniques, can provide a foundation for a career as an Electronic Design Engineer. This course also has a hands-on approach to using microcontrollers which are a core component of electronic design.
Data Acquisition Specialist
A Data Acquisition Specialist is involved in designing and implementing systems to collect data from various sources. This course may be useful for someone in this role, as it focuses on collecting data from sensors and passing it wirelessly, which is a core component of data acquisition. The course provides explicit details about data logging to SD cards, as well as to cloud-based services. The course also covers different methods of wireless communication, which provides a useful background for a Data Acquisition Specialist. It addresses many of the core concerns of a data acquisition specialist.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in All about Arduino Wireless and the IoT.
Provides a deeper dive into building IoT projects with Arduino, covering various communication protocols and cloud platforms. It expands on the course material by providing more advanced examples and techniques for connecting Arduino devices to the internet. This book is valuable as additional reading to broaden the scope of the course and explore more complex IoT applications. It is often used by students and professionals interested in IoT development.
Provides a comprehensive collection of solutions to common Arduino programming problems. It useful reference for understanding various Arduino functionalities and can help in troubleshooting issues encountered during the course. While not strictly required, it serves as a valuable resource for expanding knowledge beyond the course material and provides practical examples for real-world applications. It is commonly used by hobbyists and makers.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser