The Internet of Things (IoT) is developing at a rapid pace, as a result of the availability of small, inexpensive computing hardware. IoT development boards combine micro-controllers, processors, wireless chips, and other components in a pre-built, ready-to-program package. Development boards come in various configurations and here are three popular ones.
Arduino Uno
The Arduino UNO is an open-source microcontroller development board based on the ATmega328P(datasheet) which has:
- 14 digital input/output pins
- 6 analog inputs
- A 16 MHz quartz crystal,
- A USB connection,
- A power jack,
- An ICSP header and
- A reset button
The Arduino Software (IDE) runs on Windows, Macintosh OSX, and Linux operating systems. The Arduino IDE supports the languages C and C++ using special rules of code structuring.
Applications:
Few applications of the Arduino Uno boards are:
- Robotics and Control Systems
- Home and Industry Automation
- Traffic Light Countdown Timer
- Underground Cable Fault Recognition
- Controlling of Electrical Appliances using IR
- Parking Lot Counter
- Weighing Machines
- Medical Instrument
- Emergency Light for Railways
- Auto Intensity Control of Street Lights
- Biotechnology
- Agriculture
Pros:
- Inexpensive
- Cross-platform
- Simple, clear programming environment
- Open source and extensible software and hardware
- Large support of community
Cons:
- Memory limitations
- Less powerful
- Processing power is weaker than the microcontroller
- Requires effort to accomplish some tasks such as scheduling and database storage
Transform your industry and disrupt the competition with IoT
Raspberry Pi 3
Raspberry Pi is a fully functioning credit card-sized computer, which runs on a customized Debian Linux called Raspbian. Like a computer, a Pi has a memory, processor, USB ports, audio output, a graphic driver for HDMI output.
Pi is a powerful platform based on a Broadcom BCM2837 SoC with a:
- 2 GHz 64-bit quad-core ARM Cortex-A53 processor
- 1GB RAM
Raspberry Pi 3 is equipped with:
- 4 GHz WiFi 802.11n
- Bluetooth 4.1
- 10/100 Ethernet port
Advantages of Raspberry Pi over Arduino:
Raspberry Pi | Arduino |
Multitasking and suitable for complex projects | Runs one program at a time, used for repetitive work |
Suitable for software projects | Suitable for hardware projects |
No limiting to programming language | Limited to Arduini, C/C++ |
Built-in Ethernet port for networking | Need to connect external hardware and implement coding |
Act as a server and communicate to other computers, connected devices. | Excels in controlling small devices like sensors, motors, and lights |
Applications of Raspberry Pi:
- Media Streamer
- Arcade machine
- Tablet computer
- Home automation
- Carputer
- Internet radio
- Controlling robots
- Cosmic Computer
- Hunting for meteorites and Coffee
- Raspberry based projects
Pros:
- Super powerful with lots of memory and processing capabilities. Expandable memory.
- Linux based OS and now even Windows 10 can be run on top of it to make processing more user-friendly.
- A lot of GPIOs available, and the more the GPIOs, the more sensors you can interface.
- If you have experience with Linux, it’s very easy to get started with it, otherwise it will take some time to get the hang of it.
- Python, C, C++, Ruby, Go and many more can be used to program the Pi exactly the way you can code any computer.
- People have successfully used Pi to run Open CV , data mining algorithms etc. and connected the results to various applications.
- In terms of cost, better than an Arduino with Ethernet shield.
- Great on-line community and endless possibilities of what can be done using it.
Cons:
- You need good knowledge of Linux systems to get things moving
- The processing power will be an overkill processing-wise for most of the applications since we will use it only to send data across.
- Closed source.
- Power hungry.
NodeMCU
The NodeMCU is an open source firmware, built around a System-on-a-Chip (SoC) called the ESP8266, and features:
- Wi-Fi capability
- Analog pin
- Digital pins
- Serial communication protocols
Applications of NodeMCU:
- Geolocation using ESP8266
- ESP8266 based wireless server
- Pressure Sensors on Railway Tracks
- Air Pollution Meter
- Humidity and temperature monitoring
- Wi-Fi controlled robot
- Temperature logging system
- M2M using ESP8266
- Make your personal assistant
Pros:
- Provided inbuilt WiFi functionality
- Cost-effective
- Integrated support for WIFI network
- Low energy consumption
Cons:
- It is a 3.3V device, so it may not be compatible with some peripherals
- Lack of official documentation
- WiFi code takes a lot of CPU power
Trigent helps global companies to apply IoT Command Control and Coordination systems to solve real-world business problems. To know more visit: Disruptive Technologies.
Glossary:
ATmega328P – Single-chip microcontroller created by Atmel in the megaAVR family
BCM2837– Broadcom chip
ESP8266 – A low-cost Wi-Fi microchip capable of either hosting an application or offloading all Wi-Fi networking functions from another application processor.
————————————————————————————————–
References:
- https://www.quora.com/What-are-the-pros-and-cons-of-Arduino-and-Raspberry-Pi-for-IoT-hardware-solutions
- https://www.researchgate.net/post/What_are_the_advantages_and_disadvantages_of_arduino_compared_to_microcontrollers
- https://embeddedcomputing.weebly.com/nodemcu-board.html
- https://www.quora.com/What-is-stopping-me-from-purely-using-an-ESP8266-on-its-own-vs-using-it-with-an-Arduino-I-know-that-the-ESP8266-has-a-microcontroller-and-GPIO-pins