
This special post (and I hope the first of a saga) is bringing it to you thanks to Pablo Herrero, a close friend who is an experimented enthusiast in the microcontroller world. I’m going to translate the original post.
The Arduino System is an electric platform based on a microcontroller ATMEL, this board storage code to perform actions. The instructions are redacted on Arduino IDE an open source platform that you previously have to installed on your PC, and then send the code to the board via USB.
1.
Let’s check come Arduino boards:


We are going to need a different board for each type of project, some are smaller with fewer connectors and processing power, and others are more powerful. In the pictures above, we are seeing an Arduino UNO and Nano boards, this is a good choice to start because it has a variety of connectors, and they are easy to administrate. We can easily know more about our board just googling “*Arduino Board* pinout”. In this case we can see a USB connector, digital pins, analog input pins, and some electronics part of the board as the microcontroller, the voltage regulator and the power input port.
2.
How we to start? We just need a simple configuration to make a correct function:
First we need to install Arduino IDE in our PC, we need to download it from this page. This is a free and open source software. Select the correct version for your PC:

3.
Open Arduino IDE and select “File” and then “Preferences”, here we can set every detail of the program. We can display the line numbers, select some editors settings, change language and more.

We can see our sketch code editor, here we are going to code our instructions for Arduino:
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
In void setup we are going to define different things like the ports pins we are going to use, the accessories or peripheries we are using, the libraries the board needs, and conditions the microcontroller needs to read data.
In void loop we are going to set all the code for instructions, as this function says, here the instructions are going to be in a continuous loop.
We are going to make our first project, the “hello world” of Arduino. We need to connect a LED and make it bright for a second, and then set it off for another second. The code it’s going to be like this:
int led = 9; //We define the pin #9 as "led"
void setup() {
pinMode(led, OUTPUT); //We define the pin as an output
}
void loop() {
digitalWrite(led, HIGH); //Turn on the LED using high voltage
delay(1000); // We made a delay of 1 second
digitalWrite(led, LOW); // Turn off the LED
delay(1000); //Another delay of 1 second
}
Now we can set our Arduino board, we also are going to need a LED diode and a resistance of 220 ohms. Pin #9 have an output of 5v and the LED diode a 3,2v, so we need to limit this voltage with the resistance.

Set the project as the diagram above, we need to connect pin #9 to the resistance and then to the LED, and in the other side of the LED we are going to connect it to the GND or ground ping of the board.

5.
Compile the project and save it. We’re going to click on the check button ✔️ and then save it with a name:

Let’s move our code to the Arduino board, in this case I’m going to be using an Arduino Nano board, so we have to define the board on Arduino IDE and then select the connection type, in this case I’m going to connect the board via USB cable.

Also select on “Tools > Port > COM#” to connect via USB. If you don’t know what COM port to select, just unplug and plug the USB cable, and you can see what port disappear from the list :

Once connected, we can now click the right arrow button ➡️ to transfer the code. The LEDs on the board are going to start blinking, when it’s done, the program will start.

And voilà! We have our first project running. This is a start for every major problem-solving with Arduino. We now know how easy to begin is. The process of solving any need with Arduino is easy to remember, first we need to think which type of Arduino we need, because there are many in the market and in a range of different prices; then make your code and send it to the board, test it and re compile if something it’s wrong. If our project it’s easy to build and do not need a lot of complications, we could buy an Arduino Nano, but if we need a bigger project or we need a specific port, we can check on bigger boards as Arduino Mega.
6.
Bonus: let’s make a bigger project.

First, we need to know that a lot of projects are already upload by others in internet, so we can start searching for whatever we need here on Arduino Project Hub. This is one of many websites to search for project, here you can filter by difficulty, categories, products and also for trending.
In this case, I choose to use Arduino to send an email. The idea of this tutorial it’s connect Arduino to our network, and let them send an email. Why? As administrators, we all have different things we’ve to control. We are going to learn how to make our Arduino system to notify us, I will let you resolve the other part of this project, what’s that notification about.
We need to start an Arduino UNO, an Espressif Wemos D1 Mini, an internet connection and a basic understanding of SMTP.

I take this project from Renzo Mischianti’s public projects, you can see it all here.
Start creating a new account on Gmail, with a new account we can reduce the possibility of any attack on our main account. This happens when we use an external program linked to a mail. We need to download the libraries from here.
Check that the EMailSender folder contains EMailSender.cpp and EMailSender.h. Place the EMailSender library folder your libraries folder. You may need to create the libraries subfolder if it’s your first library. Then we are going to restart the Arduino IDE.
How to use it:
Constructor: Default value is quite simple and use Gmail as SMTP server:
EMailSender emailSend("smtp.account@gmail.com", "password");
Create a message with the structure EMailMessage:
EMailSender::EMailMessage message;
message.subject = "Subject";
message.message = "Hi, How are you<br>Fine.";
Send message:
MailSender::Response resp = emailSend.send("[email protected]", message);
Then check the response:
Serial.println("Sending status: ");
Serial.println(resp.code);
Serial.println(resp.desc);
Serial.println(resp.status);
Example output:
Connection: ESTABLISHED
Got IP address: 192.168.1.104
Sending status:
1
0
Message sent!
We need to allow less secure apps to access your Gmail account:
Google may block sign-in attempts from some apps or devices that do not use modern security standards. Since these apps and devices are easier to break into, blocking them helps keep your account safe.
To disable this security feature:
- Sign in to Gmail
- Click here to access Less Secure App Access in My Account.
- Next to “Allow less secure apps: OFF” select the toggle switch to turn ON.
This setting may not be available for:
- Accounts with 2-Step Verification enabled: Such accounts require an application-specific password for less secure apps access.
- G Suite users: This setting is hidden if your administrator has locked less secure app account access.
Now you can add to the message what ever you need to be notified!