We can hardly think of our life without electronics in 2018. From our smartphones to computers, the digital assistants we use, and smart homes, electronics is the base of everything. But keeping those high end and precise electronics away from the picture, for the time being, we even use a number of simple circuits. Yes, AI and machine learning is still more a concept rather than its true implementation. We still come across manually operated signal posts manually operated air-conditioners and different other home appliances. But how such things are made? What’s behind those electronic circuits making our life easy? Making an electronic circuit is complex, to say the least.
You can be an electronic enthusiast, but unless you build an electronic circuit from the scratch, you cannot really comprehend the complexities involved in it. The complexities increase with more requirements from a particular project or circuit. Now that being said, you can always use a platform which offers you all the basic functionalities of an electronic circuit so that the complexity reduces to some extent. One such platform is Arduino, and it is the most popular platform for electronic enthusiast for a number of reasons.
What is Arduino?
Arduino is a platform, which comes with all the basic functionalities of an electronic circuit, where you can connect different other peripherals to get a job done. That’s what Arduino is, in a nutshell. Arduino is open-source, and the coding techniques are really simple, which make the beginners and electronic enthusiasts more interested in the platform.
For example, you need to make a temperature sensor or a light sensor. For such a purpose, you just need to connect the sensors for the purpose of sensing, and a display board to display the output. Now you just need to write the appropriate code to make the display show the actual value depending upon the sensed parameters.
The Arduino is based on a microcontroller, which is based on Harvard Architecture, where the program code and the data used for the program are stored in two different memory units. There are multiple I/O pins meant for input and output, and a limited number of pins are used for PWM output. PWM output refers to analog output, which can be used for things like decreasing the speed of a motor or to dim a connected LED.
Arduino uses EEPROM or (Electrically Erasable and Programmable Read Only Memory) to store the program code, which makes it easy to load a program data and delete it easily with the Arduino IDE.
Arduino uses Static RAM or SRAM as a functional primary memory to store temporary data when it is in use. Most Arduino basic boards use require 5 Volts DC supply for operation, though it can be different for other advanced boards meant for IoT and for use in wearables.
Here is the architecture of an Arduino Uno board.
The reason behind Arduino’s popularity
Arduino is popular for a number of reasons apart from being easy to set up and open-source. Let’s explore a few reasons for its success and popularity.
Affordable: Arduino boards are pretty affordable. There are numerous varieties of Arduino boards available, the most popular being Arduino Uno, Nano and Mega. Depending upon your requirements you can go for the most appropriate one, and the prices of the boards should not more $50.
Wide compatibility: Arduino is easy to program with the most computer-based operating systems. It is cross-platform, and you can program your Arduino board from Windows, Linux, Mac, with the Arduino app for all the different platforms. You can see all the platforms it is available for, here.
Easy to code: Arduino software for different platforms is open-source, and new features can also be added by experienced programmers to push its boundaries. Arduino can also be programmed with C++ libraries apart from AVR C programming, which is the base for Arduino codes. Thus, once the algorithm is clear, coding an Arduino board should be a piece of cake.
Easy improvements: It is also possible to expand the possibilities of Arduino board with a number of other external peripherals and different other circuits. The plans with Arduino boards are distributed under a creative commons license to make it easily adaptable by other users of the community and also improve it.
Why is Arduino easy to work with?
Making an electronic project from the scratch is all about planning the connection from the very beginning, which can increase the complexity. The electronics project engineer should develop everything from the power supply to the driving circuit for the different peripherals used. It is only after setting up a successful connection, the engineer can think of the program for the microcontroller.
But with Arduino, you just have to connect the peripherals along with some interfacing circuits, to make different peripherals compatible with the board. No need to solder those resistors and capacitors, which require extra time, and can even lead to a burnt electronics, once an unsuitable component is chosen. Thus the engineer only has to pay importance to the program and algorithm, which make the task a lot simpler.
Apart from that, in today’s world of technology, most high-end electronic gadgets are controlled by Bluetooth or USB to make them a part of IoT. Arduino comes with different interfacing modules for USB and Bluetooth to make your project easily connectable to your computer, and hence the internet. Thus, you don’t have to design everything from the very beginning.
Where is Arduino used?
Arduino is a one-source electronic platform, which can be used for a variety of electronic projects. Your imagination is the limit for making different electronic projects with Arduino. From a small temperature sensor to automatic lights and pumps and many other things, you can do almost everything with Arduino.
You can even make your life simpler with different DIY Arduino projects like mobile controlled lights and fans, and many more. From small school-based projects to big projects to sort out some real-life troubles, Arduino can help you with almost everything.
You can even get the Arduino Nano Eagle files, or the Eagle files for other Arduino platforms if you are planning to use Arduino for development purposes. It can make your task a lot simpler if you are more intro PCB design.
How to write programs to use with Arduino?
Arduino programming is pretty simple, which is the biggest reason for its adoption by a different class of users. Once you write an Arduino program, you will have to connect your Arduino board with your computer with the help of USB to Mini-USB cable.
Now select the Arduino board you are having, along with the virtual serial port number if you are having multiple Arduino boards. Just tap on the upload button to the burn the program you have written. After that, the peripherals connected to the Arduino board should react as per your program.
Different Arduino boards
Depending upon your requirements you can choose your own variant of Arduino board that fulfill your requirements. The most used Arduino platforms are Arduino Nano and Uno, while for advanced functionalities Arduino Mega is pretty popular. Though there are other entry-level and enhanced Arduino boards like Genuino 101, Esplora, among basic, and M0, MKR Zero among advanced.
Though with the increased popularity of Arduino, it is even used for different IoT based projects and wearables. Ethernet, Yun Min, Leonardo ETH are a few IoT based Arduino boards, and Gemma, Lilypad Arduino, are a few wearable suitable Arduino boards to name. But if you are planning to make some basic Arduino projects, you Arduino Nano, Uno and Mega should fulfill your requirements. For a complete list of Arduino boards, you can see here.
Arduino Nano is the most basic Arduino board which has ATmega328 at its core. It has 32 KB of memory where 2 KB is used for the bootloader. It has a 2 KB RAM. The clock speed is 16 MHz, and the PCB size is only 18×45 mm. Arduino Nano has 22 I/O pins for external interfacing among which 6 can be used as PWM. Get all other details about Arduino Nano here.
Arduino Uno is an improved version of Nano and is the most popular for beginners. It uses Atmega328P as its brain and has 14 I/O pins among which 6 can be used for PWM. Arduino Nano and Uno are pretty similar but Arduino Uno uses a better microcontroller, which is the reason behind better Arduino Uno projects. You can see all the Arduino Uno technical specifications here.
Arduino Mega has significant advancements over the last two platforms mentioned. It comes with ATmega2560 microcontroller, and has 54 I/O pins, out of which 15 can be used for Analog output or PWM. It also offers a flash memory with 256 KB storage and has an 8 KB of RAM. The clock pulse is the same and it is 16 MHz. Read other details here.
The memory, RAM, and the clock pulse might seem paltry apparently but is pretty big for storing program code and data for projects with Arduino.
Arduino vs. Raspberry Pi
For beginners, it can be a tough decision to take. But I will make it simpler.
Arduino is a simple development board based on a microcontroller, and thus, you shouldn’t expect a lot from it. Arduino can be great for simple tasks which need to be done continuously. Arduino thus is not a very efficient piece of a platform for making complex decisions, or to do numerous work at the same time.
For example to turn on the lights sensing the presence of a person, or to turn on the air conditioner when the temperature reaches a certain level. It was just an example. Don’t consider Arduino to be a boring piece of electronics seeing the example. The possibilities of Arduino is unlimited, and it is even better with an open-source community.
On the other hand, Raspberry Pi is a small computer. I don’t need to elaborate on what a computer does. It can handle multiple tasks at a time and is more efficient than a microcontroller. Though not as powerful as a computer we use for our everyday tasks, but Raspberry Pi can handle more tasks at a time.
Let me explain when you might need a Raspberry Pi. You might want to turn on the air conditioner when the temperature reaches a certain level. You also want a temperature prediction from the local weather station for a month, and calculate how many hours the air condition will run, and eventually what will be your electricity bill. If the electricity bill gets over a certain threshold, you should make the air conditioner start at 2 degrees higher temperature than it was set earlier. If you need such an efficient system to take multiple decisions and react, Raspberry Pi is the best for you.
Depending upon which board you are using, Arduino prices in India are different. You can get Arduino Uno from Amazon at around Rs. 1500. Though you can get the same from other places at even cheaper prices. If you are planning to get started, you can get Arduino Nano at very cheap prices, at around Rs. 200 or so.
But if you are looking for some specialized Arduino board for some IoT projects or for some DIY wearables, I will recommend you to choose the appropriate one meant for those purposes. The prices of such boards are pretty higher, and I will recommend you to get them from any good seller or directly from the Arduino website if it is available in your country.
There isn’t any different Arduino language to write programs. You can use the C++ as the programming language, and the Arduino IDE should handle the rest. There isn’t any different Arduino Uno software or Nano software for Arduino Uno programming or so. Thus, with Arduino, it is pretty easy to transform your ideas into reality.
It is really an efficient piece of an electronic platform for development, and will always come with additional improvements in the future. After the Arduino download, you can even find a number of sample programs to get started. You can modify them, and check, whether it is working as per your requirements.
If you are a beginner, Arduino Uno or Nano can be your best mate, and if you are little advanced, Arduino Mega can be your cup of tea. You can though always check the project requirements to find the most appropriate circuit for your requirements to not regret later.
Hope the information on Arduino was helpful for you. Do you still have questions about Arduino? Feel free to comment it down below.
You might also like to see:
What is IoT, and the way it differs from IoE? The connection between IoE and M2M for an innovative future
How to make an Arduino-based alarm clock using a DS3231
What is Arduino? Arduino vs. Raspberry Pi. All you need to know