Logic Level Shifting (from 3.3V to 5V)
Arduino boards and other components operate on a range of different voltages. Many microcontrollers work with 5V. However, recently, new controllers have come into the market that operates at 3.3V while many components run on 3.3V. Sometimes you will need to convert the output of one device, 5V, to match the input voltage (3.3v). Matching the input is called level shifting. There are a couple of ways to achieve this.
If you are a beginner, the safest way of level shifting is to use a level converting module