Building A DIY LiFePO4 105Ah Solar Generator – Part 1

Last modified on August 12th, 2023

Not that long ago, I went on a camping trip to the Pyrenees and brought along my little 200Wh CTECHI portable battery. I was hoping to be able to open my laptop during the day, and do a bit of software development, all while enjoying the fresh air and the mountains.

Unfortunately for me though, the campsite I was at hardly had any plugs to charge my laptop, and my portable battery ran out of power in just a few days. I did bring a smallish solar panel, and tried to charge it that way. But the CTECHI portable battery I had only showed a flashing light to show it was charging – it didn’t say at what rate it was charging. I was frustrated one day to see the solar panel ‘charged’ it all day, but the capacity didn’t increase at all.

I managed to convince a local cafe to let me charge the portable battery for a few hours, but quickly realized the included power adapter was limited to only 45W of power. Which meant I would have to drink more than four hours worth of coffee to come close to charging it. And even then, it would only last me another day or two.

When I got back home to Valencia, I took a quick look online to see how much a new model with more capacity would cost, and realized they were all close to €1,000 for anything approaching 1000 Wh. So, I thought it best (or at least more fun) to simply try to build my own.

The Specifications

Before starting, it’s always good to write down what it is you want to accomplish. For me the criteria were:

  1. A much larger capacity – something on the order of 50-105 Ah, so that I can power a camping cooler non-stop, and charge my laptop regularly
  2. Faster charging – 45W just isn’t fast enough when you only have access to a plug for a few hours
  3. Larger solar capacity – my previous portable battery was limited to 60W of solar
  4. The ability to see what’s going on in real-time with the generator/battery

Initial Charging

Prior to assembling the battery, I top balanced all four cells using a bench power supply. This entails wiring all the cells in parallel, and charging them up to 3.6V using an external charger. This process can take a long time, depending on your bench supply. For example, my bench supply is limited to 10 Amps, which means when connecting four cells in parallel, can only deliver 2.5 Amps to each cell at the same time (10 Amps total). To take each cell from 50 Ah (the initial state of charge when they arrived by mail) to 105 Ah takes about 22 hours.

Building The Battery

I spent some time looking around on the internet to source some LiFePo4 battery cells. LiFePO4 – lithium iron phosphate, is a newer technology than Li-Ion that has a few benefits, namely it doesn’t burst into flames like Li-Ion does. So it’s a much safer technology to use in a battery.

I found a company in the Netherlands that had a nice selection of LiFePO4 prismatic cells. As you go up in capacity, the price per amp-hour tends to go down. Which means while 50 Ah might be lighter, the cost per Ah is significantly more than a 105 Ah battery. So I eventually settled on four 105 Ah grade-B cells for this project. Grade-b cells are generally cells that have a slight defect, and aren’t good enough to use in electric vehicles. But for the purposes of a camping and/or storage battery, they are just fine.

A quick assembly of the battery and BMS for testing purposes.

When you build your own battery, you need a battery management system (BMS) to make sure the cells are always in a safe voltage range. Without a BMS, it’s quite possible when charging the battery that one of the cells will “run away”, or charge faster than the others. Even though the total voltage of the battery will still be within the safe range of the charger, the one cell can reach a dangerous voltage level, possibly damaging the cell (or in the case of Li-Ion, potentially starting a fire).

There are many companies that make a BMS, but I decided on a popular Chinese model by Daly. When you buy a BMS, you need to know the configuration of your battery, which in my case is four cells in series (known as 4S in battery lingo). The BMS I purchased was a 40 Amp Daly 4S model. The 40 Amp designation is the maximum charge or discharge rate of the battery.

While you can charge LiFePO4 batteries at 0.5C – 1.0C (measured against the batteries capacity – for example a charge rate of 0.5C for a battery that has a 100 Ah capacity is 50 Amps), for longevity most manufacturers recommend charging at 0.2C. In many solar generators, the discharge rate is often governed by an inverter. I’m not entirely sure what they use the inverter for, but I really have no need for a large inverter, as almost all my devices can be charged by a DC adapter or even USB. I figured if I wanted to use a small inverter, I could simply use a DC to Lighter adapter, and plug the inverter into that.

With a 40 Amp BMS, I can only output about 500W at any one time, which for my purposes is completely fine.

I also purchased a 1A active balancer from Daly. The active balancer looks at the voltage of each of the cells in the battery, and tries to keep them all level with each other. Since the BMS will cut off the charging of the battery when any one of the cells hits the upper range of voltage, often the capacity of the battery can be limited by one cell that is a bit higher than the others – having an active balancer often means being able to hit a higher state of charge since the cells are kept roughly inline with each other and the BMS won’t disconnect early during charge due to a high cell voltage.

Once I had all the cells, the BMS and the active balancer, I assembled it all together.

Finding A Case

Believe it or not, finding a case to hold the entire solar generator was probably the hardest part. It seemed like every case I looked at was either too small, or too large. There was nothing really that was a decent size for my 105 Ah battery that wasn’t overly large.

Sample layout of the battery on the floor

A saw a guy on YouTube who built a similar solar generator, and used a 50L Dewalt case. The photos on Amazon didn’t seem too large, so I ordered it. But when it arrived it was almost comically big, and would be cumbersome to carry around and store in my car. So it went back the next day, and I kept looking.

I eventually saw a hard-shell camera case on Amazon that looked like it might work. I did a small layout on the floor using some foam to play with how it would work. While I had a few doubts , eventually I decided to grab it, just to move forward with the project.

When it arrived from Amazon, I used the battery and played with the inside layout a few times. I realized I would have to scale back my plans a bit, as there simply wasn’t enough room inside to add everything I wanted. But it would still have room for the important items – DC output jacks, USB input/output jacks, and a few input ports for DC and/or solar charging. But I had hoped to put an inverter inside and a EU plug on the outside, but scrapped that plan – no issues though, as I can still use an inverter using a DC jack dongle if I need one.

I was originally planning on having ports on both sides of the case – inputs on one side, and outputs on the other – but there just wasn’t room. So I decided to try and put all the ports on one side. This also had the benefit of keeping all the cut-outs to one location, which would make the case a bit stronger as well.


I scoured AliExpress looking for connectors and components. I ordered a 12V fuse panel so that I could fuse all the branch circuits. I ordered a bunch of 5.5mm x 2.1mm jacks that were rated at 10 amps (most are just rated at 5 amps), a USB-C port, and a 12V circular device that had a USB-C PD output and a USB-A output. I also ordered some 12V switches so I could turn each set of circuits on or off to conserve power.

I also ordered some buck converters, a MPPT solar charging module, and a 100W USB-C PD input/output board which would in theory let me charge my laptop up to 100W, but also use a USB-C PD brick to charge the battery at 100W as well. I wasn’t sure these modules would work, but I figured I could iterate a few times with the setup.

Putting It Together

I wasn’t entirely sure how I was going to mount it all inside, and I had a few attempts that didn’t work so well. But eventually I shoved the battery slightly over the left of the case, surrounded it with foam pads for stability, and then cut a piece of 3/4″ pine to mount the fuse panel on. I mounted the pint into the case using some L-shaped brackets I had left over from another project. You really don’t want anything puncturing any of the outer battery cells, so I have foam surrounding it on most sides.

Inside My DIY Solar Generator – The BMS and Active Balancer are hidden in the back

Since the BMS can handle 40 amps, I used 6mm2 cable (which can handle up to 48 amps
) for the main connections to the fuse panel. While I originally bought a main fuse to use between the battery and the fuse panel, the BMS itself is limited internally to 40 amps, so I ended up ditching the physical fuse for now due to space constraints (the BMS will physically close input and/or outputs if they go past 40 amps – since the cable is rated at 48 amps, I’m ok with no fuse for now, assuming the BMS will kill the current before anything bad happens).

In general branch circuits using 5 – 10 amps were run using at least 1.5mm2 cable, circuits between 11 and 20 amps were run using 2.5mm2 cable, and the one future DC charging circuit was run using 4mm2 cable, fused at 25 amps.

Mounting The Components

While I could have just drilled all the holes in the side of the case for the DC and USB ports, I wanted to use this opportunity to play with my 3D printer a bit more. I thought it might be fun to try and design and build my own panel that I could mount in the case. The one benefit to making my own 3D printed panel is that I could easily change it in the future after getting a feel for what ports I used, and which ones I didn’t.

Designing A Front Panel Using OpenSCAD

I took a stab at designing a panel in FreeCAD, which is what a lot of websites say to use for simple projects, but I just couldn’t get the hang of it. Many of the online web tutorials are on Windows machines, and the Mac version seemed different enough that I could never follow along properly with the tutorials.

I was about to give up when I found another tutorial for something called OpenSCAD. One thing that appealed to me about OpenSCAD is that designs are entirely done programmatically, which is right up my alley as a software guy. I played around with it using a few primitives, and quickly was able to take a filled rectangle (the panel), and start subtracting various cylinders and rectangles for all the cutouts. In about an hour I had a rough prototype for a front panel, which I then printed out at 1mm thickness to test it out. As expected, some of the holes weren’t quite the right size, so I made the appropriate adjustments in the model.

Once I fixed the hole sizes, I decided to purchase a darker grey spool of PLA plastic from Amazon to use for the printing. I thought a grey would look good against the black case and the black components. I printed it out at 4mm, which I thought would be a nice compromise between stability and also pull the components a bit further away from the inside of the case, giving me more room inside.

Using a jig saw, I cut out the large hole for the panel, and mounted it with screws. I then screwed in all the components, and set about hooking it all up. I installed three switches – one to control the DC output ports, one to control the USB ports, and one to enable DC inputs for solar or DC charging. Depending on how this works, I may print another panel in the future and made some adjustments.

Semi-completed Panel

As I was about to head out on a camping trip, I quickly assembled as much of it as I could. I didn’t install all the ports, as I only needed one input and one output really, and one USB port. But once I hooked all them up, I proceeded to test charge a few devices, which worked great.

First test of the front panel of my DIY solar generator

The switches have a LED on them that indicates if it’s on/off. I do like this feature, but it does draw a small amount of power that contributes to power loss. But it is nice to glance at it from across the campground so I can see what’s on and what’s not. The LEDs are a bit too bright for my liking, so I may end up adding some resistors at some point to dial the brightness down a bit.

I haven’t weighed the completed case yet, but it’s probably somewhere between 15 and 17 lbs. It’s not light by any stretch, but it’s not overly heavy either – I carried it down the road to my car for about two blocks, and I didn’t feel the need to put it down. While a battery certainly isn’t new technology to me, there’s something sort of magical about making one yourself. I have a Toyota Hybrid car, and the 12V battery inside is only 32 Ah – the one I just made as three times the capacity, and physically not much bigger or heavier.

After doing a few all-night test runs of my camping cooler and my DIY solar generator, I decided to pack up for a camping trip and do some real world tests.

The mostly completed solar generator and my solar panel

Here was a shot of the completely DIY solar generator along with my 120W foldable solar panel, getting ready for my camping trip.

Next Steps

Right now, my solar generator can power my 12V camping cooler, and also re-charge several USB devices. I don’t quite have a good method to charge the battery yet, other than opening it up and using my bench supply to re-charge it at 10 amps using direct connections to the fuse panel. I want to be able to re-charge it using some type of wall brick at some point, hopefully using 15 to 20 amps. So that’s next on the to-do list.

I also don’t have a built-in solar charger yet. For now my plan is to use an external solar charger, but feed the output to the batteries into one of the DC ports on the right. That’ll allow it to be charged via solar, but isn’t as elegant as I would like. So in the next iteration of this project, coming soon, I’ll try to address those two points. But in the meantime it works well enough to do some real world testing at a campground. So head on over to Part II (when it’s ready) to read more.

If you’re interesting in building something like this, or have any questions, feel free to drop a comment below and I’ll get back to you.

Leave a Reply

Your email address will not be published. Required fields are marked *