Operate slave microcontroller in the active mode with minimum 170uA

Submitted by Sunnyback on Wed, 05/02/2018 - 12:03

Hi all,

I am required to design a circuit which regulate the voltage (3.3v) coming for a Master microcontroller pin to not more than 3v and restrict the current to 2uA. This in order to fulfill safety circuit constrains, then the output has to power on a slave Microcontroller which most of the time will be in sleep mode and will wake up about every 200ms do few tasks and go back to sleep again.

So far I have this circuit using Zener diodes with 3v breakdown voltage, having ~2uA across R2.


There is no problem to operate the slave microcontroller in sleep mode with this current because I have chosen the EFM8SB2 "sleepy bee" with the following features:


The problem is in the active mode where I require minimum 170uA. Since the microcontroller will be in active mode max every 200ms for a really short time (only send 8 bits to master and read a value from an odometer magnetic sensor ) I though about a capacitor which would charge while the microcontroller is in sleep mode and discharge when the microcontroller is active mode to provide enough power to operate.

My first question is. Is it actually realistic to go for this approach? If so, how would the circuit design looks like?Perhaps I have to use sort of a switch to change from the sleep mode to active mode configuration. 

I have read about the charge-pump approach but I do not know if that would be the solution for my problem.

I would really appreciate any hint or references about this matter.




Hi Sunny Black,

My first question is. Is it actually realistic to go for this approach?

No, This is not a good Idea. A microcontroller is very sensitive with it its operating voltage and current. Using a capacitor to provide some extra push of current will be a good idea to kick start some loads like high power LED or motor but not with a digital IC like Microcontroller. And I have not seen anyone designing a circuit like that. Also while setting the current limit for your MCU, you should always consider the maximum current at whcih the MCU can operate safely and not the sleep current.


Perhaps I have to use sort of a switch to change from the sleep mode to active mode configuration. 

If the 200ms interval is constant why do you need to have a switch? I you are so kneen on designing two current limiters and switch then for the different modes of the slave, leave the job to the master since it knows when the slave will be waken up.


I have read about the charge-pump approach but I do not know if that would be the solution for my problem.

A charge pump is again nothing but a capacitor approach. It is commonly used in places where a signal needs a boost to travel longer distance like the MAX232 IC employs a charge pump.




  Joined August 16, 2016      997
Tuesday at 12:29 AM

Hi B.Aswinth Raj,

Thanks very much for your elaborated response. Plase consider the following aspects.

The slave uC have to main task:

1. Count and record the number of turns of a wheel connected to a magnetic odometer which can be tought as two active high switches, these switches are connected to two GPIO pins (switches need also supply voltage). 
Every time the wheel make a turn the switches are pressed causing an interrupt on both pins (depending on the order of the switches being pressed the orientation forwards/backwards is determined)
The circumference of the wheel is ~17 cm and average speed is 30 km/h.

2.Send to the master every second the number of turns recorded so far. The protocol to be used is not defined but I2C is a good candidate as well as bit banging. There are no requirements regarding communication protocol.

The reason why two Zeners are used is only in the case one zener is damaged (instric safety norm). The resistor which is limiting the current is R2.


don't know if I am doing something wrong there but that is the result of the simulation. Note that this protection circuit shall be place twice. one on the output on the master module and the other on the input of the slave module.


Surely I would provide more details if needed but there are bunch of specifications which are not defined that means it can be determined according to the needs. 

I appreciate your comments and advices.

  Joined April 25, 2018      1
Wednesday at 12:58 PM

You are doing just fine, your idea is also correct.

You will need two PIC MCU one configured as master and the other as slave. The save will have two external interrupts pins to sense the position of the wheel. I think you are using hall sensors with the magnets on the wheel. You can use the formulae to calculate the speed of the wheel and have it stored in a variable.

When the master needs to know the value of speed, it can request for it to the salve and get the value. If wheel will rotating the slave module cannot be put to sleep, if not then there are will be no interrupts detected and you can put the module in sleep mode till an interrupt arrives. 

The master module on the other hand can be put to sleep based on it application. The circuit you are using for protection is also correct but might be an overkill. 

  Joined April 17, 2018      120
Tuesday at 07:57 AM