Power HC-05 via digital Pin?

Hello everyone :)

For a remote control application I'm using an HC-05 Bluetooth module. Since the remote has no on/off switch I want to be able to cut power from the module before setting the arduino to sleep.

I thought it should be no problem to power the module by digitalPin 11, but when I do so, the voltage reaches only about 2,2V.

I'm using an arduino Pro Mini which should be able to deliver 40mA per Pin. I was told the HC-05 takes 35mA max.

Unfortunately I cannot measure the current, because the case of the remote sits a LITTLE bit tighter than planned :D

I hope to find a solution without another extra transistor, since another piece of wire and TO92 would hardly find any place :P

lg, couka

I was told the HC-05 takes 35mA max.

I think you were lied to. The thing is, first and foremost, a radio. Radios take more current than that.

You could use a digital pin to turn on, or off, a transistor that controls the higher amperage connection.

PaulS: Radios take more current than that..

Ok... I found 35mA plausible, because the nRF24L01+ I intended to use before only took 15mA...

I'll try using a transistor then :/

Thank you,

lg, couka

edit: Transistor (NPN BC337)solved the problem. The HC-05 module actually draws ~70mA without connection and 56mA while sending. I guess the reason why it draws more in Idle than while sending is that the status-LED is on more often.

I guess the reason why it draws more in Idle than while sending is that the status-LED is on more often.

Listening requires more effort than talking.

PaulS: Listening requires more effort than talking.

Hehe :D

I did some additional tests and found, that the transistor solution works, but the HC-05 still draws ~0.9mA. I don't know exactly what the current path looks like, because I only measured the battery current with and without the Vcc-pin of the HC-05 connected.

My (dirty) solution now is combining 2 arduino digitalPins (11 and A4) to power the HC-05, which seems to work fine. Using the Narcoleptic library, the arduino takes 150µA (depends on battery voltage) while sleeping now. Still a bit more than expected, but acceptable.

lg, couka


The solution to my problem is so obvious, that I had no chance to find it :D The breakout module that the HC-05 sits on has an onboard voltage regulator, which can be switched off by pulling the EN-PIN of the module to GND.

Many tutorials about these modules assume that there is a KEY-Pin instead of the EN-Pin, which at least for my modules is not the case.

Unfortunately my DMM has such an high internal resistance on the mA and µA-range, that there is a significant voltage drop at >10mA. I guess that caused some of the power problems I had before...

lg, couka

Hi Couka.

I have a similar project, but with the pure HC-05 module (OEM, no cradle) and the AtMega 328P instead of the Arduino board.

I used the BC337 with only one 1K resistor on the base and connected to pin 5 (arduino code) from AtMega. No other resistors are in the circuit. The HC-05, VCC pin (12) is connected to 3.3v and GND pin (13) connected to the BC337's collector. Finally, the BC337's emitter is connected to the GND battery.

Everything works when the circuit is in use, when I put Arduino pin 5 to OUTPUT LOW, the HC-05 is turned off. But when I put the AtMega328P to sleep in PowerOff mode, sometimes the transistor drives the HC-05 to turn on.

I am using avr/sleep.h library, because Narcoleptic library takes so much memory.

Do you have any ideas to help me?

Thank you.