One of the first things I did after purchasing Madeye was to plan out a major battery upgrade: LifePO4. Having done so with my camper, I wanted to take the opportunity to improve my build process. This is really just a system overview. Hopefully it’ll give you an idea of the entire system I use along with some solutions to bring things together.

We’ll dig into what’s going on here, but let’s start with some background.
There are two methods of installing LifePO4 systems. Off the shelf batteries like Battleborn have internal, built in BMS units. The second is to use an external BMS and manage the raw cells. I use the second because it allows me to customize my installation and save an exceptional amount of $$ compared to the off the shelf systems.
When building my new LifePO4 house bank, the first thing I did was determine the voltage I wanted to use. From experience, I already knew that going to a 24v system from a 12v system makes a big difference. It allows the use of smaller cabling and allows the use of less expensive solar controllers.
The LifePO4 system on Madeye can be divided up into several major components:
- BMS and Battery Pack
- Inverter/Charger
- Solar Chargers
- 24/12 Converter
- 24/12 DC-DC charger
- Alternator Charger
- Cerbo GX controller
After upgrading my camper to use a Victron Multiplus Inverter Charger and integrating that system with other parts, I knew that I wanted to go with a plan that leveraged the integration and reporting offered by Victron.

My camper is 45 minutes away and I’m able to monitor the entire system status online. It’s a simpler installation, using a Multiplus Inverter/Charger, BMV-712 battery monitor, single MPPT solar controller, some USB ve.direct adapters and a USB mk3 adapter to talk to a raspberry pi running a venus image.

Madeye is a 26 hour drive from my house. I have the same type of data dashboard for it as well.

Let’s start with the batteries. I purchased 24 305Ah Lifepo4 cells via Alibaba from a seller who actually had a shipment coming into a US harbor fairly shortly. I was able to get them within a few weeks of ordering and only had to pay for Fedex shipping in the US. The marina shipping guy wasn’t too thrilled because he didn’t recognize my name but we got it sorted. It was quite the workout hauling all of them up the ladder too.
If this interests you, I suggest heading over to the DIY Solar Forum run by Wil Prowse. Lots of people post current buying reviews and it’s a great resource for making good buying decisions.
Using these, I built a 3p8s pack. Three cells are wired in parallel sets and then serially connected to create my 24v nominal pack. These are 3.2v nominal and in the 3p configuration I have 915Ah. So that gives me a (3.2v * 8 * 915Ah) 23.4Kwh battery pack!. To give you a comparison, a 200Ah 12v battery (typical boat house cell) provides 2.4Kwh, but only 1.2Kwh is usable given a 50% depth of discharge. LifePO4 offers a DoD of up to 100% but most people go with 80% to extend the battery life.

With ‘raw’ LifePO4 cells, we have to add our own BMS. There’s a ton of inexpensive options out there, but I wanted to integrate charge/discharge controls with my Victron equipment. That means a unit with canbus support for Victron equipment. I opted to us an OrionBMS JR 2 in my build. The Jr2 uses a hall effect current sensor, multiple temperature sensors on the battery pack and per cell voltage information to make charge/discharge control decisions. It also supports output triggers, which I use as a secondary control method for my equipment.
The Orion BMS is a mild pain to configure. At one point I managed to zero out the allowed charge rate and put the pack into discharge mode. Thankfully I got that sorted out but I could have murdered my new pack with that typo. Once you get used to the config utility, it’s pretty nice to work with. The additional complexity means more flexibility.
In a stand alone LifePO4 battery, the BMS provides final charge/discharge cutoff at the battery pack. This is usually done by using Mosfets or IGBT transistors to implement a solid state control system. In some external systems a contactor is used for this same function. (usually EVs). However, I’ve found that contactors tend to be a failure point and have determined that I just don’t like using them in these always on systems.
Instead of contactor cutoffs, I use some small opto-isolator boards (These act as solid state relays) which are triggered by output lines from the Orion BMS. This is my secondary safety control measure.
Just to be super clear, I use two methods of controlling charge and discharge:
- CANBUS communications
- BMS output control lines
These allow me to cut off charge and discharge operations across all the devices connected to my LifePO4 pack. My inverter has additional aux input controls for this purpose (they require programming). Since my solar chargers don’t have an open input for this (they do if you don’t use the ve.direct interface) I instead added a 60a battery protect in relay mode in front of them. This provides the extra safety charge disconnect for those. It also allows a small amount of power in reverse, which keeps the controllers powered up and talking when there is no sunlight.

After shopping around a bit, I located a stellar deal on a Victron Quattro 24/5000/100. This is a 5000VA inverter that’s built for 24v battery systems. It also supports VE.BUS integration which is really just a canbus interface. This unit is the heart of my installation. I’m able to dial in the AC input limit to fit the available shore power too. It’s also an adjustable 100A DC charger for my house pack!

Since most of my boats DC systems are actually looking for 12 volts, I use a 24/12v 70A DC-DC converter. This provides my constant 12v DC current needs on a day to day basis. As a backup to this, I also have a pair of AGM 12v cells that are used to run my windlass and engine.

I mentioned that I keep a 12v AGM pack for my engine and windlass ops. To maintain that pack, I added a 30A DC-DC smart charger. It doesn’t integrate with the cerbo, but it does accept an enable input that I’m able to trigger from my BMS. If I want additional charging output, I can run more in parallel. However, a traditional 60A alternator would only output around 30A normally so this is a pretty reasonable approach. In a pinch, I can also use the 12v output from the converter as a backup 12v charge source. (And I have a traditional AC/DC charger available as well.)

To charge from the sun, I’ve got a few large solar panels that are going onto the new Bimini. These each have a dedicated MPPT controller. Thanks to the higher voltage pack, I’m able to use these smaller 100v/20a controllers even with my 530w solar panels!

For some devices, I needed a way to enable backup cutoffs. For this, I’m using some Battery Protect units. These act like solid state relays, but have some limitations. You can’t put them in front of an inverter or they will fail. They come in different sizes – 65A, 100A, etc. Be sure to review the manual on these before even buying one to make sure they are the right choice for your application!

The Cerbo GX lets me integrate the various components and provides that the data to that nice dashboard I showed before. In this case, it connects the BMS, the Inverter, my MPPT charge controllers and soon the alternator charging as well. In my camper, I used a raspberry pi running a Venus image, but on the boat I wanted a dedicated solution. It also provides alarms – which are required to meet ABYC safety specs in the case of using lithium batteries to run critical boat systems while underway.
The inverter connects via a Cat5 cable on the VE.bus (canbus) interface of the cerbo. Each of the solar controllers connects via VE.Direct cabling (serial). There’s also a dedicated BMS VE.bus interface which is where the Orion JR2 connects. With everything talking, I was able to implement victron’s VDCC which controls the entire charging system – I could be on shore power and solar and DVCC will limit the total charge to the batteries to my predetermined level.
What’s DVCC? It stands for Distributed Voltage and Current control. Essentially, it’s a method of telling intelligent devices about Charge and Discharge Current Limits as well as Voltage limits. In my case, the source of that information is actually my BMS. The BMS tells the Cerbo what is allowed using CANBUS communications. Then the Cerbo redistributes that information to the ‘smart’ connected devices: My charger/inverter and MPPT solar chargers.

Back to this diagram. At this point, you should understand everything that’s going on here. Keep in mind this diagram is not all-inclusive. I am showing fuses for my solar controllers as they are inline with the controls. Everything on my boat is protected using breakers and fuses.
The BMS is our source of truth – it decides if the battery can be used (aka discharged) and if it’s in need of charging. Primary communication of this is via the CANBUS data stream, and secondary control (mostly) is via the enable/disable signal that’s mutliplied by the Opto-isolator boards. Our two exceptions to this rule are the dumber 24/12v DC-DC converters that don’t take part in the Cerbo system. In those cases, primary control is via the opto-isolators with a backup voltage based setting thanks to either internal brains or the external battery protect.
Controls and Cutoffs:
Device | Primary Control | Secondary Control |
Quattro Inverter Charger | VE.BUS (via cerbo) | BMS discharge enable -> Aux in BMS charge enable -> Aux in |
DC-DC 24/12-70A Converter | BMS discharge enable (direct to converter) | Battery Protect Minimum Voltage cutoff + discharge enable |
DC-DC 24/12-30A Charger | BMS discharge enable | Built in Minimum Voltage cutoff |
MPPT Solar Controllers | VE.Direct VDCC (via cerbo) | BMS charge enable -> Battery Protect enable input |