FireBeetle ESP32 with solar charged battery

I am trying to build a watering system using a FireBeetle ESP32. It has to work stand alone, so I intend to connect some 18650 batteries to GND and 3V3 pins. Connect a Monocrystalline Solar Panel (5V 1A) to the USB port.

1.) Will that setup work? Will it charge the battery when the sun is out and run of the battery at night? Why are people using a separate solar charging board like here: ESP32 Solar Weather Station - DFRobot?

2.) Does the charging circuit on the FireBeetle have a protection like TP4056, against over voltage or over charging the batteries (and blowing them up)?

3.) When putting the board into deep sleep, can the peripherals be powered down as well. Is there a pin for it? VCC? The relays suck the power pretty hard too.

4.) I can not find a decent datasheet for the FireBeetle ESP32. I can get the pin outs, but no explanation what they mean, such as AREF. Maybe I am blind …

I hope you don’t mind my questions. I did try and find the answers myself, but was unsuccessful. I have made a prototype with a esp32 devkit v1, but it’s power consumption killed the batteries pretty quickly.
Thanks to one and all who have advice for my project.

Hey James,
Welcome to the forums!

Solar projects can get a bit deep sometimes and are generally more complicated than they should be.

The solar panel you mentioned might be the best use case, though its a bit of a weird way of doing it. How is the battery charging going to be set up?

I am not sure as to protections on the Firebeetle and would have to have a more refined look into it. You wouldn’t want to overcharge the batteries and potentially fry the system.

Can you let us know what the SKU is for your model of Firebeetle and we can have a look into getting some documentation on it?


Thanks for getting back to me Blayden.

I was going to get this one FireBeetle ESP32 IOT Microcontroller (Supports Wi-Fi & Bluetooth) | DFRobot DFR0478 | Core Electronics Australia SKU: DFR0478. I would appreciate any documentation.

Why do you think my solar panel is a “weird way of doing things”? The board claims “The main controller supports two power supply methods: USB and 3.7V external lithium battery. And both USB and external DC can charge the Lipo battery directly.” So I thought connecting a battery to the power pins and the solar panel to the USB port was the thing to do, but I welcome alternative suggestions.

Maybe if I has some documentation I could work out what the “built in battery charging” is all about.

Check the DFRobot Wiki web page.

Yes. From the schematic.

Stands for Analog Reference. Allows you to set the reference voltage for the Analog detection within the chip.

DO NOT DO THIS. Solar panels need a management system due to nature of how they work. The Fire beetle could be easily damaged. The 1A rating is under lab conditions, it will never generate this in practise. From my testing of various Monocrystalline Solar Panels the best output would be about half that.

The kind of solar panel you will need due to the current consumption of the relays and the Fire Beetle generates up to 18V, or thereabouts. You must use a solar panel management board (like this sunflower product). The solar weather station you listed is inadequate for what you want to do. The current output and voltage of the solar panel are not high enough and the panels are not designed for long term outdoor use.

DO NOT DO THIS. Any LiPo battery should only be connected to the Bat JST connector. There is a mosfet on the board that allows the Bat and USB connection at the same time.


Yes. Something like the Makerverse Nano Timer can drive a high power Mosfet to remove power for a while. A Fire Beetle GPIO pin would be used to trigger the Nano Timer.

Watering system valves generally operate from 24 VAC. If you are using this voltage, I suggest using a solid state relay, they consume less than a contact relay. But they can only switch AC voltage.

Best of luck with your project.

PS sorry for the caps and bold in a few replies, but it is not what you should do and would cause more problems eventually.


Thanks for the reply Jim your advice is invaluable.
I also found this thread Firebeetle with solar panel, which I wish I found sooner as it has a schematic that explains the TP4056 and yes I will connect the batteries to the BAT connector.
The only thing you are still scaring me with is

“Solar panels need a management system”

The solar panel I am getting: Monocrystalline Solar Panel (5V 1A) | DFRobot FIT0601 | Core Electronics Australia has a voltage regulator, so I was hoping that would make it ok to connect directly to the usb port, as is being suggested in the other thread. You are telling me in no uncertain terms not to do this. Please help me understand why. If the voltage is regulated, how could it damage the Fire Beetle? I think you are saying it might not generate enough power, but worst case it just does nothing. The TP4056 says it wants 4.5 to 5.5V input and promises to protect the Li-ion batteries. Sorry, but I’m not clear why connecting solar panel directly is bad.
PS thanks for the caps and bold, I like direct people. It’s good to be clear


Yep. I have that one, it puts out 5V due to the regulator. My comment was related to other Monocrystalline Solar Panels that are only the panel. When I tested that panel the best I could get out of it was about 700 or 800ma in full sun angled towards the sun. It never got to 1A.

The electronics in this panel would be just a regulator circuit with no MPPT.
It should be ok connecting it to the USB Port on the Firebettle noting the following.
When the voltage out of the panel falls below that needed for the charge chip, it would simply stop charging.

But the switch over between the USB and Battery voltages may not work correctly.
Even a very small voltage on the USBVCC would keep Q3 off stopping switch over. Essentially the circuit would be in a brownout state. Not good !! USBVCC is across a 10K to GND at the connector.
Only when the voltage fell low enough for it to look like ground would Q3 turn on connecting the battery. This would be when the voltage regulator in the panel shuts down.
If the panel is plugged in when there is enough sun and removed when insufficient sun it would work correctly.
For a stand alone system I would use a solar charge manager, they are designed to avoid this low voltage situation. Link in previous post.
Hope this makes sense.


EDIT: Just read parts of the other post about the Firebeetle and a solar panel. When Q3 is off, USBVCC is connected, that is the voltage powering the Firebeetle through a couple of voltage regulators. The Firebeetle is not designed to be operated with a solar panel. The final post by Robert93820 says it all, get the power correct first and stable before looking elsewhere. Solar panels do not output stable volts, it all depends on the sunlight. Voltage regulator produce stable volts and have protection against overload.

Thanks for the clarification. It all makes sense now. I had read in other channels that people complaint that when the sun went down it all stopped working. No battery takeover. From what you said I can understand why now. It also explains why everybody is using a solar charge manager.
I shall heed your advice and build a separate solar and battery circuit with solar charge manager.
Sweet, lets get some more bits. This little project just keeps growing. I’ll post the results when it’s all done and working … Cheers

The disappointing part about using a solar management board is, the charger built into to the Firebeetle will not be used. This may be what you want to look at for a solar panel.

It can only handle up to 6V so ideal for Monocrystalline panels.
The panel you are getting would connected to the USB-IN. It would work the same as a solar panel directly connected. M1 is off when USB-IN is used but the circuit still works the same.

The 18650 battery would connect to the LiPo battery connector on the Sunflower.
The USB-OUT to the Firebeetle.

The next part to determine is the power usage. There needs to be enough current from the solar panel for the battery to charge and to power the Firebeetle (if it is being used). The charge time needs to be long enough so the battery will be back up to capacity to handle the time there is no sun. With a watering system it would be best to have it off when the battery is charging.

You could also have another battery connected to the Firebeetle to cover a situation where the is no sun and the battery on the Sunflower is depleted. The Firebeetle can turn off the Sunflower USB-OUT if needed. Take EN_VOUT low via a GPIO pin on the Firebeetle.

The DFRobot wiki page has an example showing an analog pin measures the battery voltage of the Sunflower and can then turn it off if the battery voltage falls too low.



1 Like

@James105272 Did a quick test with the Solar Panel and Sunflower 5V.

Discharged 1100mAH LiPo, full sun no clouds.
9:30am Charge current 140mA. Volts 4.4V.
10:30am Charge current 180mA.

Resistive load on solar panel, 6.8ohms, 435mA 3.2V.
Increased load to120ohms, output at 5V.

The benefit of a Solar Power Management system can be seen here.
It reduces the current drain on the solar panel to the 4.4V minimum needed for the battery to charge.

The increasing current is due to the sun being higher in the sky and less atmosphere to penetrate.
I will keep testing and add results here. Today is nice and sunny.


EDIT: Best I got out of the solar panel today was 200mA. Clouds came over and messed with the results. Probably my first comment of 700 or 800mA is wrong. Cannot find the original test results. I really wish manufactures would include some real world results rather than lab perfect conditions. Anyway, in my opinion 5V at 1A from the size of the panel is asking too much. The solar manager kept the volts at 4.4V over varying sunlight conditions.

1 Like

Hey Jim,

The power of a specific solar power manager! Solar projects are a nightmare sometimes and these managers make it so much easier to incorporate into projects.

Love the testing!

@James46717 thanks again. Yes, it is a shame I will not get to use the onboard TP4056. Maybe I need to design my own board with a solar power manager?
I just got my goodies from core and now I have to order the Sunflower Solar Power Manager.
I don’t have any big expectations how much it will really charge the batteries. The sun is unreliable.
The real issue is the power consumption and how to control it. I used a DOIT ESP32 DEVKIT which promotes itself as a “low power” device. I guess it depends on your idea of “low” power. It lasted for only 24 hours on 4 AA batteries. I expected “months”. Is sucked 50mA and with peripherals 80mA. Not really “low” power in my book. So the problems became clear
1.) Needs a board that is less thirsty, especially when asleep => FireBeetle
2.) needs rechargeable batteries and some re-charging
3.) As most post will tell you: it has to be in deep sleep most of the time
4.) When in deep sleep the peripherals also need to be powered down.
So my watering system will only wake up once an hour. Take a measurement and if it is 10% different from the last measurement it will turn on wifi and will send all readings to the server. It will then wait a few seconds for instructions, before going into deep sleep again.
So the key is not to use power and just hope the sun can keep up.
It is a bit disappointing that these low power devices need so much juice. It is hard to see how IoT will get far with it, as stand alone power is everything. The slogan for our times. I am learning the hard way. As a friend pointed out, a lot of devices run a long time on a button battery. I have no idea how. I am a long way away from that. I hope that anybody trying to do IoT for real will find hope and help in these posts. Jim’s IoTing, hmm could that be thing?

1 Like

Agree, many of the microcontrollers and devices available consume too much power for battery operation.

The lowest power long term device I have built is a simple temperature logger, RTC wakes ATMega328P every 30 seconds, reads temperature and stores in SD card, then goes back to sleep. A 1100mAH LiPo lasts about 6 months. The lowest power I can get the ATMega328P to is 7uA in sleep mode. No other micro comes close to this. Although the temperature logger runs about 27uA.

Alternative: Use a Makerverse Nano Timer to turn power off to everything. It consumes only 45nA when timing. I have used a number of these in various projects. It cannot switch amps but adding a mosfet to the output I was able to power up and down a robot cart. Currently I am running a test on a project using a 400mAH battery, I expect it to last about 45 days.
In my opinion this board is one of the best products Makerverse have some up with.

I think this product with a high current mosfet to power everything on / off would be worth investigating.