I love my Arduino UNO board for various reasons. It is one of the things that keep me busy in the night. Also, I am sure that many of you own this little piece of the DIY culture. With things that need to go further, there have been visionaries of a smart and communicative world. Many of you already have the joy of a big part of these things such as a robot or an application connected to the Internet. And because we can have in our hands a powerful computer hardware and somewhere around us the digital world, here are a few reasons and resources to connect your physical Arduino with the Internet.
Everything starts in the 90’s when John Romkey designs the first device controllable via the Internet. This was a toaster. At that time, at a click of the button, the toaster was able to turn on or off via the Internet. This was a crazy thing considered the time when the project took shape. At that time, the engineers would have been happiest if they run programs on a computer with a 16 MHz processor.
There are many ways to connect your Arduino microcontroller to the Internet. At a moment, the Ethernet shield was the most popular way until everyone was tired of wires. The second version, I could say the Arduino IoT 2.0, is probably the best way. It is wireless but also the most expensive solution. It is about WiFi connections.
What is Internet of Things for Arduino?
With a lot of hardware and kits for beginners and experts alike, a new dimension has been added to the world of information and communication technologies. You can shop around from reputable suppliers like Adafruit, Amazon, or Sparkfun for the best component to connect your Arduino to the digital world.
My aim with this article is to make you understand why to connect the Arduino to a WiFi router and the role of Internet of Things for DIY projects. In other words, you should be able anytime to connect a camera or any other component to your Arduino and control it via HTTP address.
The Internet of Things is a network with an infrastructure able to link physical and virtual objects. The link could be a cloud computing system or a simple network between two devices.
In other words, this concept of communication allows devices to change messages each other, access information via the Internet, store and retrieve data, interact with the users and more.
In the field of robotics and automation, the Internet of Things starts once with the machine-to-machine communications. This connection between embedded devices changes almost what we know about classical robots and automation. The robots and applications are now part of a smart network.
Reasons to connect the Arduino board to WiFi
If you want to connect your Arduino board to a WiFi router, you definitely want to know what you can do with it. There is a plethora of applications that expand your robot or automation system. All these communications generate large amounts of data that should be processed and stored.
Reading data from sensors is one of the most common experiments for an Arduino microcontroller connected to the Internet. But this is just the beginning. You can do much more than reading and visualize data from sensors via the Cloud. Using the Cloud, you can control a servo motor, monitor your home’s power consumption or a temperature monitoring system. You can also reprogram the Arduino remote, open your garage door, start an irrigation system or receive images from a WiFi camera. And these are only a few of the applications for such a communication system that merge the Arduino features with the biggest digital world – the Internet.
We already have 7 billion devices connected to the Internet. Why do we need more Arduino’s join to the network? All these 7 billion devices are just the beginning. According to the research and advisory corporation Gartner, Inc., in 2020 will be connected to what we call the Internet of Things around 26 billion devices. It is very clear to me that these numbers also include the Arduino applications from almost any field.
How many ways is to connect Arduino to a WiFi network?
There are many ways to attach or hack equipment to connect the Arduino to a WiFi network. But in this article, I choose to talk about only two of these: the easiest way is using shields and the hardest way – breakout boards or modules.
In general, for a Raspberry Pi or BeagleBone Black, you can plug in a cheap USB WiFi dongle for less than $10. For a microcontroller, the options are generally more costly. If you use an Arduino WiFi shield, you have to spend around $88. If you wonder by this difference in price, the WiFi dongles require what we know as a USB port. For an Arduino microcontroller, this capability is beyond its features.
With an increasing demand for Internet of Things projects, the manufacturers are on the same line with the market. We can use friendly WiFi shields and low-cost modules. You can plug a shield into the Arduino pins, or use a WiFi module and some wires.
Back to the shields and modules, viewing the price I understand why the shields are more expensive. A WiFi shield provides, especially for a hobby system, more functions and it is friendlier to programming. The disadvantage of a shield is that have fixed functionality for connections. It is attached directly to the Arduino, and it needs more space than a module.
If you need more space or you build a device intended for production, then a breakout board or a module is more intended for use than a shield. A breakout board or a simple WiFi module requires more wiring work, but you have the freedom to connect it to any Arduino pins.
The easiest way
Using WiFi shields is easy to provide Internet access to your Arduino. The shield sports a TCP/IP stack manager to keep track the network configuration in different locations. For an Arduino board, this means less work and a much larger space to increase the focus on Internet communication.
What are the most important features of a WiFi shield? There are many things that you should consider when you buy a shield. For a WiFi shield, I consider that the network topology, data rate, and the power consumption are the most important features in a wireless communication.
- The shield designed by Arduino
At a price of $88, the Arduino team provides one of the best solutions to connect Arduino to a WiFi network. The shield uses the SPI port to connect with Arduino. It is designed to use the 802.11b/g standards for communication and WEP and WPA2 Personal methods to secure the connection.I don’t have any official data about the power consumption of the WiFi shield. The shield is compatible with Arduino UNO and Mega.
- The DFRobot shield
At a lower price than the Arduino shield, DFRobot released a WiFi shield at a cost of $76. It provides 802.11b/g/n access point and speed up to 11Mbps for the 802.11b standard. According to the shield specifications, it provides low power consumption –at least in stand-by mode.About security, the shield comes with a long list of security protocols including WEP, WPA/WPA2-PSK, Enterprise, EAP-FAST, EAP-TLS, EAP-TTLS, and PEAP.
- A cheap WiFi shield with on-board antenna
The Adafruit HUZZAH CC3000 is definitely one of the cheapest shields able to provide WiFi connectivity. The price is not a surprise because it uses the CC3000 module, one of the cheapest modules on the market right now.The shield uses SPI for communication and supports the 802.11b/g protocols. For security, you can choose between open, WEP, WPA/WPA2.
To not forget the price, it costs $39.95. If you buy one of this, you can use it with Arduino UNO, Mega, and Leonardo/Micro.
- Another WiFi shield based on the CC3000 module
SparkFun releases a WiFi shield based on the cheap CC3000 module. You can have it for $39.95.The specifications are similar to the Adafruit HUZZAH CC3000.
- The SainSmart WiFi Shield with UART TTL communication
At a price of $79.80, the SainSmart WiFi Shield provides a large list of security protocols and 802.11b/g/n access point at a speed of 11Mbps for the 802.11b protocol.The shield is compatible with Arduino Mega, UNO, and Duemilanove.
The hardest way
I think that is a bit much to say ‘hardest’ when you need to work with modules and breakout boards. Basically, in this way you can connect your microcontroller to a WiFi router for wireless communication and with little money.
- The XBee way
After the Arduino WiFi shield, the XBee module is probably the most popular option to connect the Arduino microcontroller to a WiFi router. At a price of $34.95, the XBee module provides you an all-in-one solution to bring Arduino in the Cloud.The XBee modules are used in two different ways. One of these is the connection to a WiFi router while the other way is to connect one XBee to another for communication.
- The Adafruit WiFi Breakout
Based on the CC3000 WiFi chip from Texas Instrument, the Adafruit breakout board allows the web connection to your prototype board. At a price of $34.95, the breakout board uses SPI for communication and supports the 802.11b/g protocols.
- Connect to Internet for $7
After the exploration of several shields and modules with a price of tens of dollars, we finally arrive in the area of very cheap components able to bring the Arduino microcontroller to the Cloud. It is about the ESP8266 module. The price is $6.95.This little module is designed with TCP/IP protocol and gives the Arduino board access to a WiFi network. The module is compatible with the 802.11 b/g/n protocols and controller using AT commands.
Meanwhile, these are the best resources to connect your Arduino microcontroller to the Internet. This is probably the first step for you to try to connect the digital world with your project – a goal that makes you explore the Internet of Things.
Use the share buttons if you want to make sure that your friends catch the idea.