In this article, we will learn how you can buy an Arduino Nano online. We will learn how to buy it online in India at a low price. But before we do that, let us first learn what an Arduino Nano is in the first place. So are you ready to dive in? Then let us go!
What Is An Arduino Nano Board?
If you are still a beginner in the embedded world, chances are you may have not heard about Arduino Nano until now. So what is it?
Well, the Arduino Nano is a small computer board that one can buy to learn more about computers. It is a computer on a single PCB board that contains all the circuitry needed to run the software code on it.
Oh wait a second here! So we are learning that it is a single board computer, right? Cool! But then you may be wondering how does this Arduino Nano look like?
I am glad you asked this question! Here is a picture of an Arduino Nano board I will share with you for your pleasure. Take a look at it.
Woah! That is one weird looking single board computer out there! But what are all those pins coming out of it?! Looks scary isn’t it?
But don’t worry. Even though the Arduino Nano board looks like that, it is actually easy to use. There are many tutorials we have that will teach how to use it. So learning how to work with it will never be a problem at all.
So with this introduction to Arduino Nano, it is time for us to move on to know how we can buy it online.
How To Buy Arduino Nano Online?
There are many sellers who are selling the Arduino Nano hardware board. They are selling these Arduino Nano boards in online stores as well as in the offline stores. However, when you try to buy the Arduino Nano board, you will realize that the price differs a lot from one seller to another!
Now this is happening because there they are all not original Arduino boards. You see, the thing is Arduino boards are all launched as open source hardware boards. So, their circuit as well as their board designs are all available for free for anyone to use.
So, what happened because of this is that there are many Arduino Nano clones as well. Since these Arduino clones are coming from China, they will be of cheaper cost.
So in that case, who is the original manufacturer of Arduino Nano?
Arduino is the company that designs and manufactures the original Arduino boards. But as this company is from Italy, the products it makes are costlier than their clones.
So now this begs us with our next question which is:
Who manufactures the Arduino clones?
Most of the Arduino clones manufacturers are from China. So since the manufacturing cost of these boards are cheaper in China as compared to Italy, the clones are always cheaper.
So here is the real reason then! This clearly tells us why we see so much difference in the price for the same Arduino Nano boards across different online websites!
So depending on how much you can spend, decide which Arduino Nano board you want to go for.
What is the difference between an original Arduino Nano Vs a Nano clone?
Now as I told earlier, both the original and the cloned Nano boards use the same circuit design. So nothing is different over here. But there is one difference between the two. And this difference is in terms of the quality of components used.
So if you want a higher quality board, you pay more and go for original Nano module. But on the other hand, if you want to spend less, just go for a Nano clone. It really doesn’t matter at all. Trust me!
What Is The Price Of Arduino Nano Online In India?
If you are from India, you can buy the original Arduino Nano online at a low price of Rs.1449. But if you are OK to buy a cheap Arduino Nano clone, you can buy it at a low cost of Rs.200!
What Is The Price Of Arduino Nano Online In The US?
In the US, you can buy an original Arduino Nano at a cost of $22.00. But on the other hand, a cloned Arduino Nano will only cost you around $9! It’s as cheap as that!
What Is The Online Price Of Arduino Nano In The UK?
But if you are in the UK, you can buy the Nano board at just GBP20!
So there you have it. We just looked into the price of an Arduino Nano in 3 different regions. I also explained to you why its price changes so much when you want to buy it online. It is because of the clones that has reduced the price of these boards.
I hope you have got what you were looking for in this article. If you still have any more questions on it, ask me right away and I will answer you.
I hope you will have fun working with them. These are the best things you can work on to gain good knowledge. It is also one the best hobby that will keep you busy for some time! So enjoy with your new toys! Until next time, ciao! 🙂
In this article, we will take a look at the technical specification of Arduino Portenta. But along with this, we will also learn about its price during its release date.
Just today, Arduino launched its new product called “Arduino Portenta” at CES 2020 show in Las Vegas. So far from what I have learnt, it is an IoT device. Which means that you can use it to connect things in your house to the internet!
But not just that! The company is also claiming that we can use Arduino Portenta even in industrial applications.
Ok, all this is fine. But why do we even need this device in the first place? To answer this question, we first need to discuss the technical details of Arduino Portenta. So let us first do that!
Arduino Portenta H7 Technical Specification
Arduino Portenta H7 Processor
The Arduino Portenta H7 is driven by the ST Microelectronics’ STM32H747XI low power processor. This processor is made up of dual ARM Cortex cores.
What OS does the Portenta H7 run?
We got to know that Portenta H7 is running on Arm’s Mbed OS! This is amazing! Being able to run an embedded operating system will mean we can make use of all the resources efficiently!
What type of connectivity does the Portenta H7 have?
Arduino mentioned that they support all the standard connectivity we can expect. So that means it has support for Bluetooth Low Energy, WiFi and LTE as well!
UPDATE On The Radio Module Of Arduino Portenta
We just got to know that the Arduino Portenta features a Murata 1DX dual WiFi 802.11 chipset. This chipset also has support for Bluetooth 5.1 BR/EDR/LE!
What GPU Type Can We Find In Arduino Portenta H7?
The technical specification of the Arduino Portenta H7 mentions that it features a Chrom-ART graphical hardware accelerator.
What does the technical specification say about Timers in Arduino Portenta H7?
Alright guys. We know that in order for us to work with any time sensitive operation we need support of timers. So how does we score here? Well luckily on the timer front, the board has a total of 22 watchdogs and general purpose timers in it. So we have all the room to take its advantages!
But what about the UART ports in Portenta H7?
Ofcourse even though we have moved towards wireless connectivity, we still need good old UART ports for many reasons. So how do we fare on this front? Well the Arduino Portenta H7 strikes back once again! It is exposing a total of 4 UART Ports. And among these 4 ports, two of the UART ports have support for flow control.
How many connectors are exposed on the Arduino Portenta H7 board?
The Arduino Portenta H7 board exposes a total of 160 pin connectors. These connectors are grouped into two 80 pin sets and will expose all the peripherals present in the Portenta H7 board.
What type of USB does Arduino Portenta H7 support?
On the USB front, Arduino Portenta H7 exposes a USB Type C connector. This USB-C connector has support for host/device, displayPort out. It can operate at high speed or full speed USB protocol configuration. The Portenta H7 USB-C also supports Power delivery.
What is the operating temperature range of Arduino Portenta H7?
Arduino Portenta H7 can operate at a temperature range lying between -40 °C to +85 °C when running without the wireless module. But with the wireless module, Portenta H7 can operate in the temperature zone of -10 °C to +55 °C.
What is the operating voltage of Arduino Portenta H7 acccording to its technical specification?
Arduino Portenta H7 works at 3.3 Volts.
What type of battery does Portenta H7 support?
The Arduino Portenta H7 runs on a Li-Po battery. This battery has an operating voltage of 3.7 Volts and a discharge rating of 7000mAh.
Does Arduino Portenta H7 support an SD Card?
Yes it does! The Portenta board has an SD card interface support. However, this SD Card interface is available only through an expansion port. So that is a bit of a bummer! 🙁
But now that we know the Arduino Portenta H7 technical specification, when will it Release?
I know I know. No matter how good the device is, we cannot take advantage of it until it gets in our hands, right? So we can understand when you are eager to know when this module is going to be released.
So from what we got to know, Arduino Portenta H7 is already made availale for beta testers. But it is going to become available for everyone by February 2020! Guys, that means we are just a month away from getting hold of it in our hands!
Now that we went through it’s technical specification, What will be the price of Arduino Portenta H7?
Cool! So now that we know we can get hold of Portenta by next month, our next question is obviously this.
How much it is going to cost?
Unfortunately at this point in time, I could not find an answer (Look for update at the end of this article for pricing information) for this. So I will continue to look out for this information. Once I find it, I will revisit this article and update it with the latest price. But until then, I can only leave you guessing about it.
But on the other hand, if you have any idea about it, let me know in the comments below. And not just that, if you have any other information about Portenta H7 in general that I have missed here, do let me know. In this way, I can update this article in the future for others to benefit out of it.
So there you have it. I have shared all the information I had about Arduino Portenta H7 here. While for me this device is something I am eagerly looking forward to, I wish it had a better name. Somehow for me, the name Portenta H7 is becoming difficult to remember. But may be it is just me I guess.
So any case, I will end this article at this point. So see you guys again in the next article. Until then, take care! 🙂
Latest Update On Arduino Portenta Price
We just got to know that Arduino Portenta will cost USD 99.90 + Tax.
So the cost of Arduino Portenta in the US will be $100 + taxes
The cost of Arduino Portenta in the UK will be around GBP 77 + taxes
The cost of Arduino Portenta in the European countries will be around 90 + taxes Euros
And finally the cost of Arduino Portenta in India will be around Rs.72000 + taxes
We just came across some leaked information on Huawei P40 Pro specification. We got to know some details on its specification, release date and price in India. Since it is one of the most awaited Android smartphone, we thought we would write about it here.
Huawei P40 Pro Specification
What OS Does Huawei P40 Pro Use?
So Huawei P40 Pro is an upcoming smartphone that runs on Android OS. But more specifically, it will be running Android 10 OS. However, it will not be a pure Android 10 OS, but come with EMUI skin running on top of it.
But Wont Run Google Services!
But what is even more interesting is the news that it will not have Google services running on it. Instead, it will be replaced by Hauwei Mobile Services.
What Processor Does Huawei P4 Pro Have?
Moving further with Huawei P40 Pro Specification, let us look at its processor. We have learnt that Huawei P40 Pro will use Kirin 990 SoC.
Huawei itself is the manufacturer of this SoC. Kirin 990 supports 5G, so that is good as most of the operators will be moving to 5G soon.
What Is The Display Size Of Huawei P40 Pro?
The next item in Huawei P40 Pro specification to look at is its display. From what we know so far, it looks like Huawei has taken a good decision over here too. Instead of going crazy on the display size, they have kept its size at 6.5 inches. It is also said that the screen will curve on its edges, giving it a premium look. It will also have a 120Hz refresh rate.
What Is The Battery Capacity Of Huawei P4 Pro?
On the battery front, the leaks says that Huawei P4 Pro could have a battery capacity of up to 5500 mAh. We can be pretty sure that it will also include a super charger for fast charging.
What USB Connector Type Will Huawei P4 Pro Sport?
The leaks tell us that this Android smartphone will sport the latest USB Type-C connector. This is really good, because we dont have to worry about the problems we had with older USB types anymore, If you are not sure what benefis USB Type-C brings in, read our earlier article that explains this in detail.
What About It’s Camera?
We know that you have been waiting for an answer to this question. From the information we have gathered so far, we think that it will have a penta-camera setup. We are told that it will have a 20MP ultra-wide angle camera, a 12MP periscopic camera, a dedicated macro camera and a 3D camera. While this all looks nice, we will need another confirmation about it for it to be sure. So fingers crossed at that.
Hauwei P40 Pro Release Date
So that was all that we know about the Huawei P40 Pro Specification. But moving beyond that, let us look at its release date. We learn that P40 Pro will be launched around March 2020. So, not too far away if you were planning to buy a new smartphone anytime soon.
Huawei P40 Pro Price In India
So finally, let us discuss about P40 Pro price now. We are getting an estimated price of this Android smartphone in India. We think that Huawei P40 Pro will retail at a price of around Rs.74,000. Please note that this is just a speculated price. We will get to know its real price only during it’s launch time. So take this price with a grain of salt.
So that was about Huawei P40 Pro specification, price and release date. We will further continue to update this article as and when more information becomes available. So watch out this place for more. But until then, take care! 🙂
For all the fans of Redmi who were waiting for the release date of Redmi K30, wait no more! Redmi, the sister company of Xiaomi has officially launched its flagship 5G Android smartphone Redmi K30 in China today. We will discuss more about the release date, price and specifications of the Redmi K30 in this article, so buckle on!
Redmi K30 is the successor of Redmi K20 and Redmi K20 Pro back that was launched earlier in May 2019. Redmi K20 Pro was one of the flagship smartphone by Redmi that ran on a Qualcomm Snapdragon 855 processor. On the other hand, Redmi K20 was a more affordable version of the flagship phone and ran on Snapdragon 730 processor.
As we approach the new year, Redmi has once again launched the next iteration of its flagship phone Redmi K30 in China on December 10, 2019.
So what does this new iteration of the Redmi K30 packs within itself? What are its specifications? Let us take a look at each of these in the following sections.
Which Operating System (OS) Does Redmi K30 Run On?
The Redmi K30 5G smartphone runs on the latest version of Android OS – Android 10. Some of the features of Android 10 includes support for dark themes, smart reply, Live caption, Google Maps Incognito Mode etc.
Processor/CPU/SoC Of Redmi K30
Continuing with its ritual of going with Snapdragon processors, Redmi K30 comes packed with the powerful Qualcomm Snapdragon 765G SoC. The main feature highlight of Snapdragon 765 processor is that it is an ARM based octa core processor. It comprises of two Kryo 475 cores running at 2.4 and 2.2 GHz speed respectively. Along with this, it also contains six efficiency cores running at 2.2GHz for power efficiency. It also packs Adreno 620 GPU for intense graphics experience for its users.
What Display Is Used In Redmi K30?
Redmi K30 5G smartphone comes with a 6.67 inch Full HD (FHD) display. The main highlight of this display and the smartphone itself is that it has a refresh rate of 120Hz. The display has a punch hole in it to accomadate the front camera while the display itself runs through the entire front body of the smartphone. The Redmi K30 5G smartphone’s display is protected by the Corning Gorilla Glass 5, thereby ensuring a durable smartphone display package in K30.
How Many Rear Camera Sensors Found In Redmi K30 5G & Redmi K30 4G Smartphone?
Redmi K30 features 4 different rear camera sensors each of which comes in handy for specific use cases. The rear camera sensors configuration are as follows:
Primary Camera: 64MP Sony IMX686 sensor. Capable of capturing videos at 4K resolution at 30 fps. On the photos front, it has support for f/1.9 F-Number aperture.
Secondary Camera: 8MP 120° Wide-Angle Camera. It can capture videos at High Definition i.e. 1080p at 60fps. On the photos front, it has support for f/2.2 aperture.
Tertiary Camera: 2MP depth sensor with f/2.4 aperture.
Quaternary Camera: This camera set is specifically added for macro photography. On Redmi K30 5G model, the sensor used has a resolution of 5MP at f/2.4 aperture. On the other hand, Redmi K30 4G model has a resolution of 2MP at f/2.4 aperture.
The rear camera also supports video recording in slow motion, ultra-wide video shooting.
How Many Front Camera Sensors Found In Redmi K30 5G & Redmi K30 4G Smartphone?
Redmi K30 5G & 4G smartphones both feature two front facing camera sensors. The primary front facing camera sensor is having a resolution of 20MP while the secondary front facing camera sensor is actually a depth sensor with a resolution of 2MP to provide the Bokeh effects and depth to images and videos.
What About Memory & Storage Of Redmi K30 5G & 4G smartphone?
Memory & storage forms the most important technical aspect of any smartphone. A smartphone with good amount of RAM is a must if you want to have a smoother user experience when using apps. On the other hand, having sufficient storage capacity is a must if you plan on shooting videos on 4K resolution. Storage (aka ROM) technology used also decides how quickly you will be able to transfer data between your smartphones and your computer.
Having mentioned all that, Redmi K30 5G and Redmi K30 4G smartphones both comes in two variants of RAM memory – 6GB LPDDR4X RAM or 8GB LPDDR4X RAM.
They also come with three variants of UFS 2.1 ROM Storage options – 64GB, 128 GB or 256 GB UFS ROM.
In addition to above all, both Redmi K30 4G and Redmi K30 5G provides support for expandable memory storage i.e. SD Cards upto 1TB in size.
What Is The Battery Capacity & Charging Of Redmi K30 5G & Redmi K30 4G Smartphones?
The Redmi K30 smartphones comes with a battery capacity of 4500 mAh. Both Redmi K30 4G and Redmi K30 5G smartphones support fast charging but with different wattage. Redmi K30 5G supports fast charging at 30W while Redmi K30 4G fast charges at 27W. With just 3W difference, this shouldn’t be a big deal really though!
Redmi K30 supports USB Type C connector. If you want to know more about USB Type C, check this link out!
What Is The Dimension Of Redmi K30 5G & Redmi K30 4G?
Both Redmi K30 4G and Redmi K30 5G have similar dimensions of 165.3 x 76.6 x 8.79 mm
What Is The Weight Of Redmi K30 smartphone?
Redmi K30 weighs a mere 208 gms. This is reasonably good considering all the goodies it comes packed with!
Does Redmi K30 Contain 3.5mm Audio Jack?
Yes! Redmi K30 saves the world again by retaining the 3.5 mm audio jack.
Does Redmi K30 Contain Finger Print Scanner?
Surely! It is present in the side of the body!
Does Redmi K30 Contain IR Blaster?
What Is The Price Of Redmi K30 In China?
Both Redmi K30 5G and Redmi K30 4G were launched in China on 10 December, 2019. It was launched in multiple configurations with basic prices ranging around these markups:
Redmi K30 4G 6GB RAM + 64GB UFS Storage @1599 CNY
Redmi K30 5G 6GB RAM + 64GB UFS Storage @1999 CNY
What Is The Price Of Redmi K30 In India?
Redmi K30 is yet to be launched in India and the prices are yet to be ascertained. However considering the price of these smartphones in China, we can only estimate that it should cost somewhere between 16,000 to 20,000 INR.
Redmi K20 Vs Redmi K30, Advanages And Disadvantage
One of the major attraction of Redmi K30 is its display with 120Hz refresh rate. However aside from this, the latest Redmi flagship smartphone seems to have lost a few important components from its predecessor Redmi K20 Pro. Some of these includes the missing AMOLED screen, missing telephoto sensor, 5G mmwave support etc.
Is this really a deal breaker? Maybe not. However they do matter for those existing Redmi K20 and Redmi K20 Pro owners who are looking for an update to Redmi K30 smartphone. However with the Redmi K30 price point somewhere close to $325 can just soften the deal and convince them to upgrade!
What do you guys think of Redmi K30 Android smartphone? Will you buy one? Do let us know in the comments below!
In this article, we will take a look at the Asus ROG Phone 1 specification, features and its pricing. The Asus ROG Phone 1 is an Android based gaming smartphone by the Taiwanese smartphone manufacturer – Asus Computers Inc. The Asus ROG Phone 1 smartphone was first demoed in June 2018 and later went on sale in October 2018.
Asus ROG Phone 1 was Asus’s answer to its competitors who had recently launched new smartphones in the gaming category.
Before discussing the features of Asus ROG Phone 1, let us take a look at its specification first.
Asus ROG Phone 1 Specification
What Operating System (OS) Does The Asus ROG Phone Have? Android 8.1 (Oreo)
Asus ROG Phone 1 was released in October 2018 with the latest Android Operating System available then – Android 8.1 (Oreo). Some of the new features included in this version of Android i.e. Android Oreo includes – Picture In Picture (PIP) support for videos, Improved battery power optimization, Bluetooth 5 support, Color Gamuts, Autofillers and WiFi Aware functionalities.
What Processor (CPU) Is Used In The Asus ROG Smartphone? Qualcomm Snapdragon 845
Asus RPG Phone 1 runs on a Qualcomm’s Snapdragon 845 processor. This Snapdragon 845 is an Octa-core SOC composed of 8 different ARM cores. It has 4 Kryo ARM cores running at 2.96 GHz and another 4 Kryo ARM cores running at 1.7GHz.
What GPU Does The ROG Phone Come With? Qualcomm Adreno 630
Being a gaming smartphone, the Asus ROG Phone 1 sports an Adreno 630 GPU processor from Qualcomm. The Adreno 630 GPU provides excellent graphic rendering capabilities and games such as PubG plays very smoothly.
The Asus ROG Phone 1 also features ‘vapor-chamber’ cooling technology called GameCool to keep the smartphone from heating up. This helps in clocking the Qualcomm Adreno 630 GPU to its highest performance level, thereby rendering excellent graphics and animation.
What About The RAM Size Of The Asus ROG Smartphone? 8 GB LPDDR4 RAM
For an Android gaming smartphone launched in 2018, Asus ROG Phone 1 sports an excellent 8 GB of RAM. This is exceedingly good for its time when most of the smartphones launched around that time featured 4GB RAM. This additional RAM availability will come in handy for all the game applications for better rendering & providing smoother experience.
How Much Storage (ROM) Does ROG Phone 1 have? – 128 GB or 512 GB
On the storage front, Asus ROG Phone 1 comes up in two variants. The first variant of this Asus Android gaming smartphone comes with storage of 128GB while the second one at 512GB. Both these variants of ROG Phone 1 uses UFS 2.1 Nand Flash memory storage technology. UFS here stands for Universal Flash Storage and is a new storage format technology developed by Samsung.
The UFS technology provides a data transfer rate that is five times that of other flash technologies. This helps in quick data transfer rate when moving data between devices such as ROG Phone 1 and the computer. UFS also helps in increasing data transfer between UFS and the RAM, thus increasing performance of the phone in general.
What About Its Battery? 4000 mAh Li-Po. Non Removable.
The Asus ROG Phone 1 comes with a non removable 4000 mAh Li-Po battery. This big of a battery is sufficient enough to power the device for a long gaming session. Most of the smartphones designed for gaming these days comes packed with similar battery capacity.
List Of Sensors Present In Asus ROG Phone 1
Asus ROG Phone 1 is packed with a list of sensors that makes gaming on this smartphone a great experience. It features a finger print sensor for quick unlock (mounted on the rear end side). It also features the standard accelerometer to recognize movement, Gyroscopic sensor for orientation detection, proximity sensor to control thr brightness of the display, a magnetic compass to asist in navigation, a half-effect sensor and barometer to detect pressure.
The sensory inputs from all these sensors should mean a great immersive gaming experience that one cannot find in other smartphones.
Display Size and Type In Asus ROG Phone 1 – 6 inch AMOLED FHD Display
For a great gaming experience, one need to use a display that renders excellent colors on the screen. Asus ROG Phone 1 does not fail on this front to say the least. The Asus ROG Phone 1 comes with a 6 inch AMOLED Full HD display having a screen resolution of 1080×2160 pixels.
Camera On Asus ROG Phone 1 – 13MP + 8 MP Rear Camera, 8 MP Front Camera
For a gaming smartphone, Asus ROG Phone 1 packs quite decent camera sensors within itself. It features dual camera on the rear end side and a single camera on the front. The dual rear cameras include a 13MP sensor and an 8 MP sensor with an F-ratio of f/1.8.
The front camera also features an 8MP sensor with an f rating (aka aperture rating) of f/2.0
Sound Quality Of Asus ROG Phone 1 – Stereo speakers, front facing
On the audio front, the Asus ROG Phone 1 features front facing stereoscopic speakers providing excellent sound and music complementing the gaming experience.
What Type Of USB Supported In Asus ROG Phone 1? USB 2.0 with USB Type-C Connector
As mentioned in the title, Asus ROG Phone 1 comes with a type C USB connector and can be used in either direction. The USB controller runs on USB 2.0 specification.
What Bluetooth Technology Is Used In Asus ROG Phone 1? Bluetooth 5.0
The Asus ROG Phone 1 comes with a Bluetooth 5.0 sensor module. With Bluetooth 5.0 support, you can connect different Bluetooth gaming accessories to your Asus ROG Phone 1 smartphone. Bluetooth 5.0 can provide connectivity and transfer upto 400 meters in distance, making it one of the most versatile connectivity stack to be used in smartphones.
Connectivity In Asus ROG Phone 1 – WiFi, NFC, GPS
In addition to Bluetooth 5.0 and USB, the Asus ROG Phone 1 also provides other standard connectivity such as WiFi, Near Field Communication (NFC) and GPS connectivitiy. These are all the connectivity types that you typically find in any other smartphone these days so nothing new to add here.
Asus ROG Phone 1 Price In India
With all its excellent features, we expected the price of Asus ROG Phone 1 to be critically high. However to our surprise, the Asus ROG Phone 1 is competitively priced at Rs.69,999 for an 8 GB RAM and 128 GB ROM. This price should place the smartphone at a competitive position with other gaming smartphones out there.
All in all the Asus ROG Phone 1 is an excellent smartphone bundled with all the electronics and features that would make your gaming experience an excellent one.
If you are just getting started with Raspberry Pi, connecting a simple LED to one of the GPIO pins of a Raspberry Pi and controlling it using software program that you write will give you a very good grasp of how a computer hardware and its program works internally. You will realize how you can control various aspects of a computer hardware using software, how a computer works at the bit level, how to write Python programs to control hardware and more.
In summary, working on getting an led connected to a GPIO pin of your Raspberry Pi will help you in understanding the fundamentals of a computer architecture and computer science in general.
What You Will Learn From This Project?
Connecting an LED to the GPIO pins of a Raspberry Pi to control it is a simple Beginner Raspberry Pi Project that lets you learn more about:
Raspberry Pi hardware internals
General Purpose Input/Output (GPIO) pins of a Raspberry Pi
Raspberry Pi Register Set
Python Library – Raspberry Pi GPIO library
The working of an Light Emitting Diode (LED)
What Hardware Is Required To Set Up A Blinking LED Project?
This a very simple, beginner friendly Raspberry Pi project that can be set up by anyone with minimal hardware or software knowledge. The hardware components required to set up this blinking LED project is also quite minimal. You need the following hardware components available with you to get it going:
Raspberry Pi Module
Raspberry Pi Power Supply
SD Card with working Raspbian OS
Jumper wires for rigging up the circuit
Resistor (1K Ohm)
Theory Behind How The Raspberry Pi Blinking LED Project Work
When you look at the Raspberry Pi board, you will see a bunch of pins protruding out. Among these, there is a row of 40 pins located on one side of the board as shown in the image below.
If you look closely enough in the above image, you will notice the label “GPIO” written right under it. These pins are called the GPIO pins or General Purpose Input Output pins. What the name GPIO implies is that these pins do not have any fixed functionality within the board and hence can be used for general purposes. It means that we can connect our LED into one of these pins and can turn it ON or OFF using these pins. But how?
How to control the Raspberry Pi GPIO pins programmatically?
Raspberry Pi 3 board runs on Broadcom’s ARM CPU chipset BCM2837. Among many other things, this processor chipset has a built in GPIO controller aka General Purpose Input Output controller. The 40 GPIO pins header shown in figure 1 is connected to 40 controllable pins of the GPIO controller. Now, we can control each of these pins individually by programming the appropriate registers inside this GPIO controller.
To understand how to program each of these pins using GPIO controller, we need to look into the Technical Reference Manual or datasheet of the Broadcom ARM chipset BCM2837.
In the BCM2837 SOC (System On Chip aka CPU) datasheet linked above, if we jump into page 89 we come across a dedicated chapter talking about General Purpose Input Output (GPIO). If we go through this chapter, we can learn about all the GPIO registers available and figure out the GPIO registers we need to program to turn ON or OFF the LED we are going to connect to the Raspberry Pi 3 GPIO pins.
As the name implies, GPIO pins can be configured as either an Input pin or an Output pin. When we configure a GPIO pin as an input pin, we are sending data bit (either 0 or 1) into the Raspberry Pi BCM2837 SOC i.e. data signal is sent from outside the board to inside the board (hence the name input). On the other hand, if we configure the Raspberry Pi GPIO pin as an output pin, the board will send the data bit signal (either 0 or 1) from inside the board to the outer world where any device connected to it will receive this signal.
So, if we want to control an LED that is connected to one of the Raspberry Pi’s GPIO pin, we need to configure that pin as a GPIO OUT pin (aka output pin) so that we can send an electrical signal from the Raspberry Pi board to the external LED connected to this pin.
The configuration of a GPIO pin to be an INPUT or OUTPUT pin is controlled by programming the GPIO Controller Register called GPIO Function Select Register (GPFSELn) where n is the pin number.
So for example, if we choose to use the GPIO8 pin to control the LED, i.e. we connect our LED to GPIO 8 pin, we need to program the GPFSEL register for the GPIO 8 pin and configure it as an Output pin. When we check the datasheet at page 91 and 92, we notice that GPIO pin is configured by setting the bits 26 to 24 in the GPFSEL register (that is field name FSEL8). And from the datasheet, we also find that to set the pin as an output pin, we need to set its value as 001 i.e. bit 26 is set to 0, bit 25 is set to 0 and bit 24 is set to 1.
So, if we can somehow set these values in the GPFSEL register using a programming language such as Python, we will be able to start controlling the LED connect to this pin!
If this is all overwhelming to you, do not worry. We will not have to scratch our head a lot for now as we can simply make use of Raspberry Pi’s GPIO Python library that helps us in making most of this work for us. But I just wanted to explain to you as to what this GPIO Python library is doing under the hood.
How To Connect An LED To Raspberry Pi GPIO?
Designing The Circuit
In order to connect an LED to GPIO pin 8 of Raspberry Pi, we need to first design and understand how the circuit is going to work.
Can we connect an LED directly to a Raspberry Pi GPIO pin without a resistor?
The answer is No. Raspberry Pi provides 3.3 Volts of power on its GPIO output pin according to Raspberry Pi datasheet specification. However, if we take a look at a standard LED, we notice that it normally operates at a much lower voltage. If we look at an LED specification, we notice that a typical LED usually operates at just 1.7 Volts and draws 20 mA. So, if we need to connect this LED to the GPIO pin of our Raspberry Pi, we need to bring down the voltage delivered by the pin to our LED to operate at or under 1.7V. How to do that? We connect a resistor in series with our LED so that the 3.3 Volts GPIO output of Raspberry Pi gets split between the resistor and our LED. By choosing a right value of the resistor such that it consumes 1.6 Voltage, we can ensure that LED finally gets only 1.7 Volts.
Calculating the resistor value to connect with LED and Raspberry Pi GPIO
In order to calculate the value of resistor that we should be using, we make use of the Ohm’s Law.
Ohm’s Law is defined using the equation:
V = I/R where V is the voltage, I is the current and R is the resistor value.
So, if we want to have V=1.6 Volts consumed by our resistor so that the current coming from GPIO pin is at I=20 mA, we need to connect a resistor whose value is:
1.6 = (20 mA)/R
or R = 80 Ohms (or approx 100 Ohms)
So, we choose a resistor of value 100 Ohms connected in series with our resistor to ensure that we only get 1.7 Volts and 20 mA of current, the optimum operating values as required by our LED.
A 100 Ohm resistor is identified by the color bands: Brown, Black & Brown.
Hook up the led through 100 Ohm resistor to GPIO 8 pin of Raspberry Pi as shown in the figure below:
Note that when you are hooking up the LED, the terminal pin that is longer is positive. Once you have connected as shown in the figure, it is now time to program the Raspberry Pi GPIO controller to start controlling the LED to turn ON or OFF.
We will be using Python to program our Raspberry Pi GPIO controller. Now, the simplest way to program this is by making use of the Python GPIO library.
To install the Python Raspberry Pi GPIO module, open up your linux terminal and type the following command.
Now the above command will install the required Python GPIO library module onto our Linux development machine. Once successfully installed, It is now time to start programming the Raspberry Pi GPIO controller.
We will be toggling our GPIO pins at 1 second intervals such that our LED will turn ON and OFF forever until the Python program we write will be terminated i.e., we will be running the code to perform infinite loop of toggling the GPIO 8 pin ON and OFF.
Create a new file on your computer by typing the following command in the terminal:
This should create our new program file called blinky.py
Open up this file using nano editor by typing the following command in the terminal:
Now that the file is opened, it is time to start writing our program to control the GPIO Pin 8 using Python GPIO library module.
First thing first, we will import the Python GPIO library module using command:
import RPi.GPIO as GPIO
Next, we will import python time library to perform 1 sec sleep operation between each GPIO toggle
from time import sleep
Next, we need to configure our GPIO library to use our GPIO physical pin numbering as seen on the Raspberry Pi board physically:
This ensures that when we say GPIO pin 8 in the program, it actually maps to the GPIO Pin 8 seen on the Raspberry Pi board.
Next, configure GPIO pin 8 to be a GPIO Out pin and set its initial output value to be low:
GPIO.setup(8, GPIO.OUT, initial=GPIO.LOW)
Finally we will start an infinite loop in Python such that we turn ON the GPIO 8 (by setting it HIGH) or turn it OFF (by setting it LOW) after every 1 second delay. This is achieved using the program below:
while True: # Infinite loop
GPIO.output(8, GPIO.HIGH) # Turn GPIO 8 pin on
sleep(1) # Delay for 1 second
GPIO.output(8, GPIO.LOW) # Turn GPIO 8 pin off
sleep(1) # Delay for 1 second
That’s it, this should be all the program that we need to type in our blinky.py file and run it using the command:
This should start turning your LED ON and OFF every second!
Here is the full code for your reference:
import RPi.GPIO as GPIO
from time import sleep
GPIO.setup(8, GPIO.OUT, initial=GPIO.LOW)
while True: # Infinite loop
GPIO.output(8, GPIO.HIGH) # Turn GPIO 8 pin on
sleep(1) # Delay for 1 second
GPIO.output(8, GPIO.LOW) # Turn GPIO 8 pin off
sleep(1) # Delay for 1 second
This should conclude our tutorial on how to get a simple LED connected to a General Purpose Input/Output (GPIO) pin turning ON and OFF using a Python program that makes use of Python Raspberry Pi GPIO library. There can be many variants to this such as using other GPIO pins, connecting more than one LEDs to multiple GPIO pins and controlling them all in different ways to display interesting patterns on the LEDs. If we are even more curious, we can also figure out a way to control the BUILT-IN LEDs that are already present on our Raspberry Pi boards to bypass their current usage and be used for by own programs for our purposes.
We will dwell into these and many other interesting ways to make use of our Raspberry Pis to understand and learn more about the computer hardware, its architecture and much more in our future articles.