Battery and Solar Panels for 12V motor controlled by Photon

@RWB you seem knowledgeable about solar setups.

I am looking into 12V power for my Pololu 12 V motors that power a little rover. I would also like to pull a solar cart. In the image I just have a proof of concept 12V lead acid gel battery. I think I would like to try LiFePO4 batteries in series.

Proof of concept:

P.S. I have the Rover fully working using a hacked nodeJS Websocket delay (5ms compared to 1200 ms using the particle cloud.

I think I can use the Photon as part of a solar panel charging circuit instead of this 555 timer (or just purchase a charge board.

Problem is that most charging boards when the batteries are put in series to 12V will not allow the Amps of my motor (Stalls at 1.4 A).

In summary the batteries I have looked at:

LiPo to dangerous for schools. Li-ion possibly I have a few 3.9 V solar setups. Power tools NiCd 12V or 18V probably my best bet. Lead Acid too heavy. I like the idea of LiFePO4 batteries, seem reasonably safe, might be a good idea.

Any suggestions?



P.S. See my journey to teaching using the Photon at Teaching High School Robotics with the Spark Photon

Yea I can offer advice.

I do think you should use LiFEPo4 batteries because they are safer and will not explode and catch fire like LiPo or Ion batteries.

I build portable solar generator systems that use LiFePo4 batteries only due to their benefits.

I’m short on time now but will write back later tonight.

What a fantastic site I just followed you on twitter (I am @rocksetta) and may continue this with email. I will try to get my school to purchase some of your solar panels and a few LiFePO4 batteries. I am really interested in ways that my students can make: solar–> battery --> photon --> 12V motor --> Web Page --> App controlled Prototypes. The only missing step is the Solar part. Would really like to here from you.

My basic needs:
One motor powered vehicles 1.5 Amp stall current ( I have a class set of these motors. I am looking into a 5A stall current motor ( which would have enough power to drive a few large wheels that I have.

Vehicles could possibly have up to 4 motors but I like the one motor version at the moment (The image above is of a two motor engine that is a pain to turn since you have to slow one side and speed the other, working on a one motor vehicle using a drive wheel that is also turned for direction by a servo).

I already have several 5V step down regulators so power to the Photon and other electronics is not an issue ( I am not looking for major speed (If I was I would just hack a Traxxas ), top speed should be about the speed of a person running, but I do want it to be able to carry some weight such as a robot arm, pull a solar trailer, 360 degree cellphone holder etc. Presently this is all good.

Here is a source for LiFePo4 battery packs that have the battery Protection IC built in to prevent battery damage for over discharge, over charge, and over current.

This may be a good pack for your application:

But many other battery sizes and shapes are available also:

You can use the buck converter that you have to supply the Photon with 5v DC.

Now for a great, smallish, high performance MPPT solar charge controller for 12.8v LiFePo4 batteries I would highly recommend just going with this:

This way you could hook up just about any solar panel that has a output voltage between 14 and 24v DC up to 65 watts.

If your budget allows and if you have space you could use one of these 18v solar panels for charging.

These are non glass panels and they are pretty rugged so they should last you and your classes many years into the future. If you want cheaper solar panels then you could just go with some small 10w glass aluminum framed panels for a fraction of the cost but they will be heavier, larger, and more fragile but will work just fine.

With that setup you will have a high performance solar charging setup that would be capable of pulling or powering higher power devices like your wanting to do.

Hope that helps :smiley:

1 Like

Thanks you @RWB great ideas. I love the LiKePO4 battery packs with all that protection it takes a bit of pressure of my designs. I really like the flexibilty of your suggestion.

I agree in principal about the charge controller and should get one just to make sure things are working properly, however I think I could make an IoT charge controller if I dedicate one photon to it, then I can also include online temperature measurements and perhaps online monitor/cutoff the current discharge near my stall current.

I think I will have to get the solar panel as I need to start testing how this is all going to go together .

I have however been looking at flexible solar panels as the reduced weight might offset the reduced efficiency and be better for my situation of wanting a solar panel trailer.

Yes if I were you I would not want to deal with building the battery packs and soldering the BMS board to the cells considering you can get this done by a professional company.

I think what you will find out when it comes to smaller solar charge controller options is that there really is no good solution on the market that fit’s your particular application. I’ve bought all the small development boards form the large chip companies and the GV-5 MPPT solar charge controller really is the path of least resistance for squeezing the maximum amount of power from solar panels.

If your not sure what MPPT “Multiple Power Point Tracking” for solar is then you should read up on it and it’s benefits. See the info below:

Now here is a second solar charge controller option that would solar charge up to 2 amps / 25 watts. But with this solar charge controller you have to manually set the Vmp voltage via a potentiometer and you will also need to set the charging voltage via resistor change. The Genasun GV-5 will automatically find the Vmp of the solar panel and constantly adjust it so your getting the most power from the solar panel at any given time.

The GV-5 is all you need. I have built a 10 amp solar charge controller where the Photon monitors the incoming voltage and current and locks the voltage where the solar panel is providing the maximum current. This requires considerable design work and is a pain in the ass to get working properly to be honest with you.

This solar panel is using 18% efficient mono crystalline solar cells and they are superior to any thin-film solar panel because the Thin Film solar panels are only 9% efficient on average which means you will need double the surface area to generate the same amount of power you can generate with the 18% efficient mono crystalline solar panel. So the thin-film solar panels are lighter but also half as efficient so you need double the surface area when compared to mono crystalline solar cells. You can always test both though.

Also you can use one of these 3 channel current voltage chips to monitor the solar panel voltage and current and the voltage and current going out of the solar charge controller but your going to end up with a large wiring mess and make the whole project more complicated. Still being able to see the incoming and outgoing power from the solar would be really cool.

1 Like

@RWB Thank you for sharing, those are great ideas and links. I am learning a ton here. That current voltage chip is awesome.

Here is a charge controller circuit one of my grade 12’s made up today for the LiFePO4 battery you listed that only has 2 input leads (No internal cell balance). His diagram is for an Arduino but I would use the Photon.

Any concerns or suggestions.

I’m not sure about the voltage divider setup to measure the battery voltage because that’s not my specialty but it may work just fine. The voltage / current monitor chip would probably be more accurate if you want to go that route to measure solar & battery voltage and current.

I’m also not sure about the voltage divider for measuring the solar panel output voltage. The voltage from the solar panel will swing from 0 - 24v DC depending on lighting conditions and the load put on the solar panel.

All you need is to add the solar charge controller between the solar panel & battery for proper charging of the battery.

@rocksetta, those batteries should ideally have a charge current of 500ma. The charging circuit has no current limiting capability. This means the battery will be charged at whatever current and voltage the panel is producing, which could exceed the batterie’s safe limits. From a post I found on another forum:

LiFePO4 batteries are very safe even if abused. Hook one up to a lead-acid battery charger putting out 14.4V, and it won’t hold a charge so well any more, but it won’t burst into flames like standard lithium-ion batteries…

…As for CC/CV, the current just needs to be limited. Even if you go above the recommended current there’s no danger involved - it just reduces the cycle life of the battery.

I am siding with @RWB for using an off-the-shelf charger.

@peekay123 @rocksetta The specific battery pack your considering has a maximum charging current of 3 Amps @ 12v, with 1.5 amps being the normal charging rate.

That 18w solar panel would charge at just under 1.5 amps which is perfect.


My student is working on an arduino based current limiting version of his circuit, drawn up nicely on the computer. I agree with both @RWB and @peekay123 that the charge controller is the best bet, but I am curious about what my student can come up with.

1 Like

Without using the MPPT “Mutiple Power Point Tracking” the solar panels voltage will be pulled down to the current battery voltage which will be in the 12.8v range. The solar panel will produce the most power & 18v.

The difference in power harvest between not using MPPT and connecting the battery directly to a solar panel will be about 30% or more. So if your not using MPPT expect to loose 30% or more of the power you could be harvesting if you were using a MPPT solar charge controller.

You could cut the connection from the solar input based on the battery voltage by using a FET to cut it’s input path to the battery but if this fails or is not implemented properly the panel will try to drive the battery voltage up to 20v which will cause the battery BMS to disconnect the battery from the power output wires until the voltage drops back down to an acceptable level.

This write up explains MPPT and it’s benefits.

Great article about MPPT charge Controlling. That needs to be tomorrows class assignment.

1 Like

@RWB Quick question. Most modern battery’s have the ability to charge each cell. Does your suggested battery have some charge balance circuitry? It only has two wires.

You will find battery BMS "Battery Management Systems that balance the cells and some that do not.

The BMS has the man function of keep the cells from going under and over voltage, plus they will protect from short circuit conditions.

The battery pack I linked to does not do balancing.

When they say balancing what actually happens is that when the LiFePo4 cell goes over 3.6 - 3.65 volts a circuit activates that will run the current from that cell through a resistor which will dissipate power in that cell which brings the cell’s voltage back down to 3.6-3.65 volts. This will prevent one cell from being charged higher than other cells in the pack and will extend the life and overall usable capacity of the battery pack.

If your OK with going with a larger battery pack that also has cell balancing built in then go with this pack:

@RWB @peekay123 I found some interesting circuit boards:

MPPT 12V Board for $28.93

and very cheap MPPT board for $12.00

An interesting BMS for $4.25 which has leads to each battery for charge balancing

I have not found anything that also allows USB charging on the same board like you can find for LiPo and Li-Ion batteries such as adafruits $12.50 charge controller at

@rocksetta, the first two amazon links are the same. That BMS boar IS very interesting and so are the rest of the products in that store. :smile:

1 Like


That cheap MPPT charge controller is not a true MPPT solar tracker. It works by you manually setting the voltage you do not want the solar panel to go below using the built in potentiometer. The GV-5 unit I linked you to automatically tracks the MPPT voltage point and constantly adjust it, so you’re getting maximum power from the panel under all lighting conditions.

That type of solar charge controller would work and is cheaper, but I question the quality of the actual unit at that price, though.

And that BMS module you found is only good for up to 1 Amp of current which is only 13 watts of power so you would need something larger to use that 17w solar panel.

Batterspace sells BMS boards also if you want to build battery packs yourself.

I thought the cheap MPPT would have some issue.

@peekay123 is correct I messed up the link to the more expensive MPPT controller MPPT 12V Board for $28.93 here it is.

Still looks like the $99 charge controller is the best bet, just looking into other options.

Any opinions on the USB charging. I don’t think the $99 option has that built in.

I have not found anything that also allows USB charging on the same board like you can find for LiPo and Li-Ion batteries such as adafruits $12.50 charge controller at