There are a few factors to consider here:
- The power input to your Pi is probably through a wall adapter or PSU. You should check the rating of the adapter/PSU. If it is in the range of 1.5A to 2A, then your problem is partially solved.
- Next in play, is the polyfuse and regulator on board the Pi. As per specifications on Adafruit, the B+ can handle upto 2A of current. In the model B, this was closer to 1A to 1.2A which was insufficient to power a USB hub, depending on number of devices connected.
- Then, come your actual USB devices. The power utilization varies by a lot depending on what you are using. The power usages of some common devices are:
Wired Keyboards 50 - 150 mA
Wired Mice Upto 50 mA
Wifi Adapters 100 to 250 mA (May be even more variable)
Sound Cards Upto 100 mA
Pi Camera 250 mA
Arduino Uno 30 mA to 500 mA (The upper limit in this case is due
to USB 2.0 restrictions)
Arduino Mega 40 mA to 500 mA (Has a polyfuse that prevents higher
current draw when powered using USB)
RFID Readers 20 mA and higher (This can vary a lot depending on technology,
current standards, and operating settings of
So, you need to know the power characteristics of all your peripherals to estimate whether you need a powered hub or not. If power/current input is greater than power/current requirement, then you do not need a powered hub.
Current Input = Wall Adapter Rating (Max 2A for the B+)
Current Required = Sum of Current Needs of all devices + 700 mA (For the Pi itself)
I have used current and power interchangeably in this post as all USB devices operate at 5V, which is equal to the supply voltage.
If you know the power rating of you device, and do not know the current rating, you can quite easily perform the conversion.
P = V * I
In the case of USB devices, V will be 5V. So, the current rating becomes:
I = P / 5
In your specific case, my estimation would be:
Current Input = 1A to 1.2A (if you did not purchase a higher rated adapter with the B+)
Current Required = Keyboard + Wifi + Uno + Mega + RFID + Pi
= 100 + 100 + 200 + 200 + 20 + 700 (Taking conservative values)
= 1320 mA
So, you will need a powered USB hub (if your power adapter is rated at <1.2A).