Hi,
I have a project involving a Wemos D1 mini board and an MG996R servo-motor.
Summary
This project is running just fine on an external DC power source, but recently I decided to put the entire project on batteries (1x 18650 should do it).
The idea is that I have some components on my PCB that are drawing some current (just with empty PCB, the current drawn from 18650 battery is about 0.6mA), but with everything in place the current drawn is about 1mA. Maybe is too high for a battery powered project, but this is the best I can do with the current situation (if anyone need more details I can post the schematic).
Right after I finished tweaking my PCB (since I started from an astonishing 12mA current drawn just by the PCB itself) I was happy with that total of 1mA in deep-sleep (PCB + WemosD1 + DS1307).
Next, I plugged in the MG996R servo and I was just puzzled, while watching my amp-meter going up to 6.6mA, while in deep-sleep. So, just the servo itself draws a current of about 5.6mA, with no PWM signal going to its control pin.
Next, I measured the current drawn by the servo and just by connecting the servo to a 5V power source (only VCC and GND) it shows a current draw of 3.6mA. I measured the resistance between the VCC and PWM pins to GND and it shows 47K on VCC-GND and 120K on PWM-GND. This explains that current drawn by the servo ![]()
So, I am asking here: is anything I can do to get rid of that absurd power consumption by the servo while is not active?
I searched the web but did not find any viable solution, so I thought maybe I can use a relay to just disconnect the GND line from the servo while the wemos is in deep-sleep.
Since I already have 2 Wemos relay shields: Relay Shield ā WEMOS documentation, I though I could use one of those for that. But, the problem is that the default pin is D1 and D1 is also the SCL line of the i2c. Since I also have the DS1307 connected to i2c, this means the relay would go on and off while communicating with the DS1307.
But, for this relay it says this: " * 7 configurable IO, default: D1(GPIO5)". Does anyone knows how can I configure the IO for this relay to be D8, for example? Do I have to make some hardwiring on the shield? Or how is this "configurable IO"?
L.E.: nevermind about the pin configuration on the relay. It seems that the latest version has some configurable jumpers on the back of the shield. What I have is an old version with just D1 connected. Probably I'll have to re-wire that connection to another pin.