Still Confused? Final-One: Arduino vs RaspberryPi

If you are looking for a one-stop solution for the detailed specifications and comparison of different developer boards, this blog is for you only. The following article will give you an insight into the common developer boards Arduino and Raspberry Pi. Well, all of us know that a development board is nothing but a printed circuit board containing a microprocessor and the minimal support logic needed for an engineer to become acquainted with the microprocessor on the board and to learn to program it.

We even know the fact that Microcontrollers are integrated circuits that are basically tiny computers. It can run small simple software programmes. They are low powered enough that they can be powered by a small battery for days. But they are also capable of processing data fast enough then any human being can think. On the other hand, a microprocessor is a simple integrated circuit that comes up with all the functionalities of a central processing unit i.e. CPU of any computer.

Howsoever, these terms are highly confused with the other popular term i.e. Microprocessor. So, before moving into details let’s take a quick review regarding the basic difference between microprocessor and microcontroller:-

MICROPROCESSOR v/s MICROCONTROLLER:-

POINTS OF COMPARISON

MICROPROCESSOR

MICROCONTROLLER

Presence of External Peripherals

External Circuits required

Components are embedded in it.

Size

Bulky

Compact

Overall System Cost

Expensive

Cheaper

Processing Speed

Above 1GHz

8MHz-50 MHz

Power Saving System

Absent

Present

Nature of Task Performed

More Complex

Less Complex or simpler

 

WHICH BOARD TO CHOOSE?

Well, the answer to the question asked above is purely on the requirements basis and vary from project to project and person to person’s preferences.

Let’s see why so:-

Arduino is not a computer in actual but it is a microcontroller motherboard. It is able to do only one process at a time over and over again. The major advantage that Arduino yield is that it is easy to use.

However, Raspberry Pi is a computer or better says a mini computer. Pi is a general purpose computer with Linux Operating System. Unlike Arduino, Pi has a capability of performing multiple tasks at a time i.e. Multitasking enabled. But it is more complex to use and more complicated than Arduino.

Let’s compare the two in depth to get a better clarity for the choices to be made:-

 

 

ARDUINO

RASPBERRY PI

A Microcontroller Board A general Purpose Computer System
Comes with Boot Loader Comes with Linux OS
Used for Simple Repetitive Tasks without much processing power. Used for projects that requires more processing power.
Hardware Intensive Software Intensive
Projects without any Connectivity Projects requires Connectivity (WiFi or Bluetooth)
Projects include variety of Sensors Does not support Analog Input
Uses Arduino language based on C/C++ There is no limit on Programming Language
Processor speed of 16 MHz Processor Speed of 700 MHz
It is a collection of 3 things: – Hardware Prototype Platform, Arduino language and IDE and Libraries. Dedicated memory, processor, and a graphics card for output through HDMI
It has 8-bit AVR microcontroller and hardware support for SPI, I2C and Serial. It has 512 MB RAM, 700 MHz microprocessor and hardware support for SPI, I2C and Serial.
Hardware Design is Open Source. Hardware Design is Closed Source.

 

Let’s simplify the Confusion

– If you are aiming to interact with a lot of external Hardware components with your projects, then you must definitely go for Arduino.

– However, if you need to a lot of processing and requires a lot of software programmes to be written and operated simultaneously then you must go for Raspberry Pi.

Digging Deep:-

Although, given that you make your choices between the Arduino and Raspberry Pi, the tech market has come up with more varied choices which can help you to make a best suitable choice out of a niche. Let’s check out the furthermore options available within Arduino and Raspberry Pi one by one-

Arduino-

The basic idea and the features of Arduino have already been discussed above. There are many boards available that are considered to be Arduino compatible. You can also software to program the different boards which you can be download and i.e. the Arduino Development Environment. Almost everything is the Arduino world is considered to be open source. Now, let’s look into the different Arduino boards available:-

 

ARDUINO TYPE

SPECIFICATIONS

Arduino Uno
  • Built around ATMega 328p Microcontroller
  • 16 MHz
  • 14 digital input/output pins
  • 6 are pulse-width modulation
  • 6 analog inputs
  • 32 kB of Flash Memory
  • 2 kB of RAM
  • Input/Output pins work at 5V.
  • It is a great board to work with if you are new to the Arduino world.
  • TWO VERSIONS AVAILABLE:
  • PTH Version (Plated Through Hole)
  • SMD Version (Surface Mount Device)
SparkFun RedBoard
  • It has almost similar functionalities to Uno.
  • It can bind several features with different Arduino.
  • Cheaper.
  • Controlled Revision
Arduino Pro

  • Uses same ATMega328p Microcontrolller like Uno.
  • It has more or like same functionalities as Uno.
  • Comes without headers.
  • It has not been built in with the USB support.
  • Thus, a serial cable or FTDI Breakout is needed to program the board.
  • Two versions:

– 3.3V version (speed is reduced to 8MHz)

– 5V version (16 MHz of speed)

Arduino Pro Mini

  • It is exactly like Arduino Pro but in a mini version.
  • It also comes in 3.3 V and 5V versions.
Arduino Pro Micro

  • Uses ATmega32U4
  • Does not require Serial Cable or FTDI Breakout to program it.
  • There is a Micro USB port on the board.
  • 12 digital input/output pins.
  • 5 are Pulse-Width Modulation.
  • 4 analog input pins.
  • 32 kB of Flash Memory.
  • 2.5 kB of RAM.
  • It can also be used as USB device.
  • Two versions:
  • 3.3 V (8 MHz of speed)
  • 5 V (16 MHz of speed)
Arduino Micro View

  • Has built in LED Display
  • 64×48 pixels of resolutions
  • Uses ATMega328p microcontroller.
  • 12 digital I/O pins.
  • 6 analog pins.
  • Runs at 3.3 V
Arduino MEGA 2560
  • 16MHz
  • 54 digital I/O pins
  • 15 pins are PWM.
  • 16 analog input pins.
  • 256 kB of Flash Memory.
  • 8 kB of RAM.
  • 4 UARTs (Hardware Serial Ports)

 

Raspberry PI:-

The projects that use Raspberry Pi can be used for applications like Robotics, Gaming, Home Security, Automation and many more. Let’s look for different Raspberry Models available in the market.

RASPBERRY PI

SPECIFICATIONS

Raspberry Pi 1

  • CPU: 700 MHz ARM Broadcom CPU.
  • GPU: Videocore IV
  • 512 MB of RAM.
  • SD Card Slot.
  • Connectivity: 4x USB, HDMI, Ethernet, 3.5mm audio jack.
Raspberry Pi 2

  • Quad Controller is SoC(System on Chip)
  • It has built-in CPU, GPU, DSP(Digital Signal Processing), SDRAM, USB Controller.
  • CPU: 900 MHz quad-core ARM Cortex A7
  • GPU: 250 MHz Broadcom VideoCore IV, OpenGL ES 2.0(24 GFLOPS),

1080p30 MPEG-2 and VC-1 decoder,

1080p30 h.264/MPEG-4 AVC high- profile decoder and encoder

  • 1 GB RAM (shared with GPU)
  • 40 GPIO pins.
  • 4 USB ports.
  • Ethernet Port (RJ-45)
  • 5V, 800mA, 4W via microUSB
  • VideoCOre IV 3D graphics core
  • Full HDMI port
  • DIspaly Interface (DSI)
  • 3.5 mm audio/composite video jack (TRRS).
  • Camera Interface (CSI).
  • Micro SD card Slot
  • Support full range of ARM GNU/Linux distributions.
Raspberry PI 3

  • Broadcom BCM2387 chipset
  • 1.2 GHz Quad-core ARM Cortex-A53
  • 802.11 bgn Wireless LAN and Bluetooth 4.1 (Bluetooth Classic and LE)
  • 1 GB RAM
  • 64 Bit CPU
  • 4x USB ports
  • 4 pole Stereo Output and Composite Video Port.
  • Full size HDMI
  • 10/100 Base T Ethernet Socketbr
  • CSI camera port for connecting the Raspberry Pi camera.
  • DSI display port for connecting the Raspberry Pi touch screen display
  • Micro SD port for loading your operating system and storing data
  • Micro USB power source
Raspberry Pi Zero

  • CPU: 1GHz ARM11 Broadcom CPU.
  • GPU: Videocore IV
  • 1GHz of processing speed.
  • 512 MB of RAM.
  • EEPROM type of computer memory.
  • USB interface.
  • MicroSD card slot.
  • Connectivity: 1x microUSB, mini-HDMI
  • OS: Linux
  • Connectors: Unpopulated 40-pin GPIO header, SPI, I2C
  • Camera Interface (CSI)

 

Given the specification, you now know all the different types and versions available for both Arduino and Raspberry Pi developer boards along with their specs and features. So, now you can easily define the requirements of your projects and can go out and grab the best and most suitable developer board corresponding to your choice and requirements as specified.

Decentralised IoT and Block Chain

IoT is no more a new term in today’s technological era. It has indeed revolutionised thousands of personal and professional ecosystems.
However, under the fascinating name of Internet of Things (IoT), we often overlook some of the key issues that already had or may arise with the growing needs and demands. The current IOT system relies on a centralized clinch of communication models involving centralized cloud databases/servers to identify & authenticate different devices attached to it, which seems to throw a great deal to us. But, will it be able to respond effectively to the growing need of the gigantic IOT world of tomorrow? And what about the expenses to install such large IOT system involving a huge number of devices in it. Ever thought what would happen if someday, the whole cloud server collapses or the centralized database encounters a failure? Won’t it be better if instead of two adjacent devices communicating via internet gets to communicate directly with each other?

Who’s the saviour here?
The answer to all such issues is the Decentralised IOT.

The Decentralized IoT is a heterodox method for holding up a communication. Moreover, unlike communications methods with centralized servers, it works on an entire network of computers such that there is no single point of vulnerability and won’t allow any single entity to control the network. Bitcoin was the first to bring this technology into the limelight as it was the first successful cryptocurrency that works on the brilliant decentralized network of computer systems. Bitcoin runs on BlockChain.

What is a BlockChain?

The blockchain is actually a digital ledger which records the data or the transaction made in bitcoin or cryptocurrency in a chronological manner. Originally, Block Chain was meant to power the Bitcoin, however, it is capable of doing much more than that.
The blockchain is minuscule of whole distributed ledger technologies that can be programmed to record and track anything of value, may it be financial data or medical health reports or any regular stats. Blockchains have indeed transformed the way of our communications.

Why Blockchains?
Here are few simplified reasons for which Blockchains proves to have a number of advantages over other technologies:-

1) The Way It Stores and Tracks Data:-
Blockchains stores information in batches called Blocks. These blocks are linked together in a chronological manner to form a continuous line, or better say, in a chain of data blocks.
If any change is intended in any particular record in a block then we don’t need to rewrite it, instead a new block is created which stores the information about the change in the respective block. Every change is recorded as with a creation of a new block in the ledger and thus it can easily be checked whenever required.

2) It Created Trust In The Data:-
Blockchain was designed to be decentralized and distributed across a large set of computers over the network. This decentralizing of the data and information reduces the ability for data tampering. How does it happen? Here are the few steps that are being followed:-
Firstly, a cryptographic puzzle must be solved to create a block.
The node which solves the puzzle shares the solution to all the nodes/computers on the network, as the proof-of-work.
The network verifies the puzzle solution for the block and if satisfied the block is added to the ledger.
The combination of all these enables verification of the block from each computer thus implying trust on each block of the chain.

3) No More Intermediaries:-
As the network builds trust for us, we can now directly rely on our data in real-time thus cutting down the intermediaries. As already discussed the current IoT technology relies on a single centralised server to authenticate and store data for and from different devices connected. However, with the use of Blockchain, the blocks of data has already been verified and so, it doesn’t need to be authenticated from any of the intermediate stations. The devices can directly communicate to each other knowing that the nodes are already authenticated and are truthful as they form a part of chain providing the restriction on any possibility for the data to get tempered. This will not only reduce time but also saves a lot amount of capital for us.

Blockchain & IoT
Blockchains, when coupled with IoT, brings a better way of its implementation. The devices enrolled under IoT will no longer have to communicate through the internet. They can directly communicate and access data over devices. Gone are the days, when IoT had huge installation and maintenance costs, now decentralized IoT along with Blockchains is the new solution. It has created a more and broader and clear picture of the progress in this field. This type of technology will no doubt, revolutionize the way we access, verify and transact our data and communicate with each other thus creating an unbelievable technological ecosystem for a bright future.