This project course is ideal for the new Arduino maker looking for a weekend IoT challenge.
I have designed this course to extend our beginners course, “Arduino Step by Step Getting Started”.
With “Make an Arduino Environment Monitoring gadget, ” you will apply the knowledge you acquired from Arduino Step by Step Getting Started to create a simple Internet of Things device.
This course aims to give you the opportunity to complete your first Arduino project that is non-trivial, combines modern hardware and software components, and includes an Internet of Things element.
In designing this course, one of my core objectives was to make this project course small and focused in scope. With this project, I want to give you a quick win and bolster your confidence so that you will feel good about continuing with bigger and more complicated projects.
In this lecture, I will talk about the following:
1. the learning objectives of the course,
2. the hardware and software specifications and requirements,
3. The organisation of the course.
Before we continue, please know that this is not an introductory course. In designing this course, I assume you are already familiar with the Arduino.
You should know how to wire up simple circuits on a breadboard and upload a sketch to your Arduino.
You should also be able to read and understand simple Arduino code, install external libraries to the Arduino desktop IDE, and know how to fix simple code bugs and wiring errors. You can also read technical documentation and have the patience to learn from documentation and code samples and apply new knowledge to your projects.
If you need more training about the skills I described, I recommend you complete an introductory course, such as my course Arduino Step by Step Getting Started, and then return to this course.
Next, let’s look at the course learning objectives.
Learning objectives: soft skills
As with all my courses, this course allows you to learn new soft and hard skills. What you will ultimately learn depends on many factors out of my control. Your existing knowledge, aspirations, goals and motivations greatly influence what you will learn from this course.
With the term “soft skills”, I mean the skills that help you to troubleshoot and solve problems, analyse requirements, find high-quality, relevant information and design an engineering solution to a problem that considers technical and non-technical requirements.
As “soft skills”, I also classify the ability of a person to persevere through complex problems and self-guide without constant reliance on external support and direction.
I have not designed this course to teach you these soft skills specifically. However, you will improve on all the soft skills areas I mentioned through your exposure to technical projects with verifiable objectives.
In this course, even though I have made all relevant technical decisions and have solved all related problems as part of the course design, you will witness my decision-making process and, to a certain extent, participate in the development process. You will gain the most by following me in each mini-project, where you will inevitably have to struggle with (and overcome) unexpected bumps along the road.
Learning objectives: hard skills
Now, let’s look at the hard technical skills you will learn in this course.
- In this course, you will learn to use an Arduino Uno along with these peripherals:
- The DHT11 sensor.
- The photoresistor.
- The 2×16 LCD display using the 4-bit parallel connection method.
- The ESP01S wifi module.
You will learn how to assemble those peripherals into a single circuit. You will also learn how to calculate the appropriate fixed resistor for the photoresist so that light sensor readings are accurate.
On the software side of the project, you will learn how to write a sketch that:
- Makes use of the peripherals within the limited resource constraints of the Arduino Uno
- Design a web and mobile dashboard that displays sensor data and controls the Arduino.
These are the technical learning objectives of this course.
Hardware
Let’s look at this course’s hardware specifications and requirements.
Most of the hardware I used in this course is conveniently part of the “3 in 1 IoT/Smart Car/Learning Kit for Arduino” by Sunfounder.
This kit contains an Arduino Uno clone board, the sensors, the wifi module, assorted resistors, wires and the breadboard.
Two items are not in the kit: a 2×16 LCD module without the I2C backpack and a 47 μF (μicroFarad) capacitor for the ESP01S module.
You can purchase these items from Sunfounder, which is convenient and price-competitive. You can also source all components from your many online and offline retailers.
Before you purchase any hardware, please take a few minutes to watch the following lecture, “Hardware and kit overview”, where I discuss all hardware components needed in this course.
Software
In terms of desktop software, you will need the Arduino IDE and a browser. I assume that you already know how to use the Arduino IDE, and if not, I recommend that you complete at least the first half of my course Arduino Step by Step Getting Started.
You will also need a free account on Blynk.io, an Internet of Things platform. I will show you how to create a project on Blynk, but I will not cover the more intricate details. If you are interested in the details of the Blynk platform, you can look at my course “Arduino Mobile Development with Blynk”.
All the Arduino code I show in the various lectures is available to download from the course GitHub repository. This will save you a lot of typing.
Course organisation
Finally, let’s look at the course organisation.
The course has four sections that take you through the 3+1 prototypes and other supporting and learning content.
In the first section, “Getting to know the hardware”, you will learn (or remind yourself) how to use each component in isolation. For example, you will learn how to use the photoresistor and extract meaningful illuminance readings. You will also learn how to use the Wifi module to connect to the Internet.
By the end of this section, you will know how to use the potentiometer, the photoresistor, and the DHT11, LCD and wifi modules.
You will construct the circuit and write the software in the following three sections.
In prototype 0, you will create a simple circuit with an LED and a potentiometer, create a web dashboard on Blynk, and write the sketch that makes this simple IoT gadget work.
In prototype 1, you will add the sensors to the circuit and update the sketch and web dashboard to show the sensor data. You will also create a new mobile dashboard so that you can interact with the Arduino on your mobile phone.
In prototype 2, you will finish the gadget and add the LCD module so that you can see sensor output locally.
In a bonus section, I will show you the design and application of a simple PCB that I made to replace the prototyping breadboard. In this bonus section, you will not learn PCB design with KiCad, but you will see what is possible to do with KiCad once you have learned the basics of this tool.
And with this, I hope you now have a clear view of what’s ahead. In the following lecture, I will discuss the hardware you will use in the course.