diy solar

diy solar

190 amp hour LFP truck bed build

hour

New Member
Joined
Sep 26, 2019
Messages
125
This is ongoing as parts are still arriving. Background: built my first LFP setup using 90ah "new" cells from eBay, K2 greens if you've been scoping listings this year, and found that they were from 2010 with one terribly out of whack cell. This setup served me well all summer long running a fridge and other camp gear, discharging ~30Ah daily and resupplying from 200w of roof rack mounted solar. Never struggled with fridge set to 36*F per compartment on 110*F days and my Victron BMV was set to 57ah capacity - about all I could draw and replenish while babying the weird cell.

This had limitations. DC-DC charging options were pretty much off the table. Using something like a Renogy DC-DC 20/40a unit would have rocked and likely destroyed my weird cell.. and that finally got me irritated enough to build this new setup. Everything is scaled for my personal uses - I camp a lot and my 300w PSW inverter has mainly been used for load testing the first (and now this) build. In short, I've embraced USB-PD, hacked USB-PD, and everything else I personally own is DC. The inverter still comes along for a friend with a plug-in air mattress.

Some of this stuff is being scavenged off of my outgoing pack, but here's the GEAR:

This thread is worthless without pics, obviously, but I'm doing my initial series of tests on the floor in my entry way -> living room and things aren't too glamorous.

I'll be writing software to interact with Chinese Bluetooth BMS units (my trade - firmware, cross platform mobile development, a little microcontroller assembly, and specializing in Bluetooth LE communications) but until then I'm monitoring stuff at my leisure with a security camera, either the hobby charger or the RC cell monitor :LOL:

monitoring.jpg

monitoringtv.jpg

Talk about an ammo can... I've already built a portable solar controller box in a pelican case knock-off that operates an exhaust fan when it's getting toasty - driven off of CC load output. That's a backup unit for ground deploy stuff, but I'll be using the same approach to heat the box for year-round charging in this setup. Lots of adhesive backed heat strips in a wide range of wattages, and how hard could it be to heat a near-sealed metal box? If I include the charge controller inside I'll cut out a window on the box behind where it mounts. If I have ANY issues at all with it getting too warm, I'll be able to use adhesive thermal paste to affix a low profile heat sink. Not too worried about it getting knocked off because while this setup will be somewhat portable, I have one primary expedition vehicle and the other is now reduced to abusing off road on day trips.

holyshiet1.jpg

holyshiet2.jpg

This can could easily fit a 24v 190ah setup if you put all your accessories above the cells as there's plenty of headroom. What I'll be doing is putting stuff above the cells on a platform and also filling the front half of the box with fuse block and panel mount connectors for in/out.

Cells will be sandwiched together using a large aluminum backing plate on one end, and threaded rod going out of the narrow side of the ammo can. This should keep things tight, and I'll run a strap over the cells to prevent vertical movement.

This warping has somewhat reduced as I've charged and discharged the cells, and that middle bus bar fits properly. Seller is sending some curved copper bus bars in the mail though which I may entertain using. They'll be clamped together soon enough, though... For the same price and 10ah less you can get CALB cells off Alibaba - that would have probably been the better choice but I had to know what was up with a blue wrap cell distributor that passed the sniff test. Plus, I bought maybe my 10th scratch ticket in my lifetime a few weeks ago and won $500 - covering the bulk of the new setup.

warped1.jpg

Initial charging on the iSDT Q6 Pro. If you have an extra $40 absolutely get the iCharger X6. It's a beast paired with a large PSU and has achieved balance to 1mV - quicker, too.

forcedtogether.jpg

Stay tuned. I'll continue to update and take build pics.
 
Following with interest . I need an iCharger X8 but over here its up over $200 so out of my reach . Well I need an iCharger X16 actually but I didn't see any of them . I just use a 5V supply and get them all to 3.65 in parallel then build the pack and bottom balance when convenient. An active balancer for s16 is cheap enough and keeps them withing 100mv and usually 30mv.
Interesting occupation too . You would be the one to ask about bluetooth problems and it sounds like you do a bit of coding too . me as well.
 
I like those cells. Seems like you come from RC background.

Good points on the chargers. The icharger x6 looks awesome. Yeah, I am doing that too b.james, with cheap adjustable 5v supply.

Could you put an amp meter on the wires while its balancing with the deligreen? Would love to know how many amps you push when it is balancing at various voltages. Most of those active balancers current is decreased at low SOC. Maybe those are different? If they can push full current rating at lower voltage, would be perfect for LTO cells.

Can't wait to see the rest of the build :)
 
build.jpg

All the junk on the table. I ended up omitting the BatteryProtect for LVD. More capacity than I'll ever use, OCD checking, and custom BMS profile.

Speaking of BMS... I got the Deligreen unit (after 35 or something days of waiting) and the same day got two bluetooth BMS units that also came from China but shipped much quicker - arrived in a week.

First order of operations was connecting it to any battery to see if I could actually see/set stuff using the app (iOS xiaoxiang). That worked great, so then I decided I wanted to play around with that data too.

After some work, I have the bluetooth harness plugging directly in to a breadboard. That breadboard feeds data to a Particle Photon, but also allows the bluetooth dongle to plug in elsewhere and share the same data. While I intend to write a custom app for this, it's a little more work than just reading data.

bmsv.jpg

The above was reading bluetooth data directly from the dongle of the BMS using an ESP32duino. I then confirmed that I could just read the serial data without using bluetooth communication on Particle photon, esp8266 dev boards, esp32 dev boards, and arduino nanos.

Tidied up the data for a standard JSON format and installed the photon. The beauty of the photon is that it's always cloud connected, but you can also talk to it on a local network. This will allow me to monitor (and eventually control) the system from anywhere on earth if using data, or as my truck sits in my driveway and it joins my home network. I can also communicate using the bluetooth app for the time being. All events published by the particle result in a hook on their backend and the data gets stored on Firebase. This allows me to see everything and when it happened. Plus pretty graphs.

I have an LTE router for the truck that has previously floated around in the back seats. I installed that in the can and drilled holes for external antennas. This yielded me the best signals and measurements of great connectivity (not to mention speed tests) that I'd ever seen. Better signal than using the same antennas directly on the unit, not in a metal tomb. I just installed some 5dbi black wide band antennas in place of the stock white ones in pic and gained a little more across the board.

So what happens is the photon reads all the BMS data, including onboard temperature, remote probe temp, all cell voltages, ah consumed, the good stuff. It also reads data from the Victon MPPT SmartSolar over its VE. Direct bus. This information isn't enormously beneficial aside from the PV voltage reading.

If pv voltage > 13 and I'm not nearly full charged, that means it's very likely sunrise.

If sunrise, and average of two temperature sensors (one being remote probe, dropped down beside the cells) is below 43*F, particle will turn on a relay that operates 35 watts of 12V heat strips.

I might miss the very first bit of sun for the day with the Victron BMV712 telling the MPPT it's too cold to charge, but it'll warm up and take care of things. The reason I wanted the SmartSolar interface was to determine if there was PV voltage - and if there was a chance we'd be capable of generating solar that day. Otherwise why waste warming the battery at night when it's discharge only, and very little at that. Or when the truck is sitting under a foot of snow that I won't be clearing off that day.

Anyway. All of that can now be configured online, and I can even flash the board over the web.. only thing stopping me from can closed and installed is 1) wire management - time to clean up as testing phase ends. 2) the 12v->5v converter I received today is defective, for powering the photon 3) attaching heat strips.

battbox.jpg
 
Last edited:
Man you have a lot going on there . So I take it it is up and running. Great!

Only problem I can comment on is the use of breadboards and jumpers . I found that they were the first to corrode and misread once in the open environment . i had to get everything soldered to a perf board.

But geez it gets its own desk?
IMG_20191006_161450.jpg
 
Man you have a lot going on there . So I take it it is up and running. Great!

Only problem I can comment on is the use of breadboards and jumpers . I found that they were the first to corrode and misread once in the open environment . i had to get everything soldered to a perf board.

But geez it gets its own desk?
View attachment 829

I see leads from batteries to a circuit board. What is that?
 
Ok so since You are on LTE in your truck how do you remote into your system?

Huh? The Particle Photon microcontroller that can talk to the BMS and MPPT is cloud connected, so through that I can pull live information or execute functions. If I'm on the same network as the photon (which I would be at camp) then I can just talk to it directly over the local network. Or I could just connect via bluetooth to the BMS or the MPPT independently.

But geez it gets its own desk?

Desk? The table I'm building it on? Good call on breadboard, once I get everything finalized I'll yank it out and put it in a project enclosure. I have a couple that fit these breadboards nicely and some glands to pass wires through.
 
Huh? The Particle Photon microcontroller that can talk to the BMS and MPPT is cloud connected, so through that I can pull live information or execute functions. If I'm on the same network as the photon (which I would be at camp) then I can just talk to it directly over the local network. Or I could just connect via bluetooth to the BMS or the MPPT independently.

Yes I researched the proton a little after I saw your post when I asked the question I didnt realize you had to use their system. Obviously if you are in range of your Localized network you can talk. Im looking for a solution that would work through my cellular provider and not have my data going through another party. Unless im misunderstanding. Seems like the proton works similar to ring or blink they comunicate with the divice and you communicate through their server.
 
Yes I researched the proton a little after I saw your post when I asked the question I didnt realize you had to use their system. Obviously if you are in range of your Localized network you can talk. Im looking for a solution that would work through my cellular provider and not have my data going through another party. Unless im misunderstanding. Seems like the proton works similar to ring or blink they comunicate with the divice and you communicate through their server.

Well the LTE router lives in the ammo can so it'd be pretty rare to not be able to talk to it from anywhere in the world, more than local network.

If you want to talk to it from anywhere and not rely on a third party, just host a web server on any ESP8266 / ESP32 / similar device. You could make the device periodically push data to a back end that you maintained (to avoid all third parties) or query the device for data periodically - and automatically - from another device (computer, raspberry pi, something) that runs a SQL/similar database. If you don't want to use a separate router you could look at a cellular based microcontroller.

I could have done the same thing omitting the Particle stuff and using any other device, plenty of ESPs laying around. I've used their system for years without any hiccup, but if I get sick of it I can just access the device over the truck's router (as long as I know its IP address) and query it from a rapsberry pi for data collection or up to date results on my phone.
 
I have no problem talking to devices connected to router when im connected over wifi just cant connect when I'm away from router. My router is in my cabin away from home so I cant talk to it. Right now i have it send me data fine but I cant control anything

Sorry to derail your thread
 
Get yourself a dynamic name service. There's free ones out there, I have a perpetual dyndns account. Configure your router to update the IP for the dynamic name service and then you use that to connect, so ssh craig.is-lost.org. If you have Windows putty is a good GUI ssh client. Trick is your verizon hotspot might not have a publicly accessible IP on its WAN side. Telcos often employ NAT for that sort of thing. IPv6 might be an option?
 
Get yourself a dynamic name service. There's free ones out there, I have a perpetual dyndns account. Configure your router to update the IP for the dynamic name service and then you use that to connect, so ssh craig.is-lost.org. If you have Windows putty is a good GUI ssh client. Trick is your verizon hotspot might not have a publicly accessible IP on its WAN side. Telcos often employ NAT for that sort of thing. IPv6 might be an option?

Yeah, that. If you don't have the ability to use a service like that on your router then you might be able to resolve your network IP from the microcontroller and push that data somewhere that you maintain.
 
There are dyndns libraries available that can be loaded into the arduino IDE so it can certainly be done.
 
yes the problem is that verizon doesn't let me get to the Ip. I of course can see my the routers IP in its config but when I try to ssh to it I cant get in even as root to the router. I have been using a reverse SSH tunnel but im not sure of the ramifications being connected to my home comnputer at all times. Im sure there is another way as I can reach my ring camera on the same router from the cloud but then again Im using a 3rd party system. But I figure if they can do it so can I.

Thanks for your guys input though.
 
So here's where I am with the app, just a step or two beyond a dump of values. Good enough for initial testing though.

Knowing your charge input from MPPT and knowing the BMS current is helpful.
While the watts are occasionally a couple off due to what I'm multiplying things by,
I have a breakdown of input and output and then a sum of what's going in to the battery (9.5A 129W) and the text would be grey if I were discharging. Can't do that with a Victron BMV!

Also handy to log the highest the pack and the peak cell got to automatically (microcontroller is holding value until reset)

On my last pack I'd stand by my MPPT when it was about to end bulk (and skip absorb, go to float)
staring at an RC cell monitor set to display highest cell voltage... so I could know what it peaked at.
Now automagically.

Cleaned up serial parsing and it's ultra reliable, and validation on every field (i.e. no way would I see an individual cell voltage of 66)
Heat strips were supposed to arrive today but got delayed I guess. Soon I'll be able to plug those in and watch my temperature controlling logic go to work. We'll see if 48 watts is adequate for heating the box up, and what (if any) insulation i'll require to make sure this thing is ready to accept charge by the time PV voltage is high enough to produce anyway. Then I can get to some late fall camping (fall was 3 weeks this year, snow tomorrow...)


Simulator Screen Shot - iPhone 11 - 2019-10-09 at 21.26.22.png
 
Excellent project. I am impressed. A few questions if you don't mind.

How does the X6 charger do if there is a load on the battery? Have you tried that?
Is that ammo can plastic? Got a link?
Which specific BT bms is that? Are you willing to share your excellent code work with the community?
Have you tried the deligreen balancer yet?

Keep up the great work!
 
Excellent project. I am impressed. A few questions if you don't mind.

How does the X6 charger do if there is a load on the battery? Have you tried that?
Is that ammo can plastic? Got a link?
Which specific BT bms is that? Are you willing to share your excellent code work with the community?
Have you tried the deligreen balancer yet?

Keep up the great work!

I've been using a 24v power supply through the MPPT for most of my charging since I assembled the pack so it has been a while since I've used the X6. In on-the-living room-floor-tests before I put everything in the ammo can I know I did do charging and discharging at the same time with that unit, but something like charging at 400w and discharging at 20w (leaving one of 6 fans on from the discharge test). I don't know what happens if you try to take out more than you put in, if the X6 shuts off..

Ammo can is very much so metal and like nearly 30lbs. It's a 30mm, not 30cal. I couldn't find them anywhere but Home Depot online assortment of all places, and ordered it to my house. All the surplus stores were out of stock. Now Home Depot is out of stock. You might be able to find 'High Desert 30mm Ammo Can' elsewhere, unless they only distribute to HD.

It's the 60 amp Lifepo4 3-5S version found here. I picked the one 'with UART communication' and it included the bluetooth dongle. I also bought a 30 amp version with included a dongle too. I might use that on one of my two smaller portable LFP packs and if it does well, buy another for the second. I'll get all of my stuff on github eventually, but what I'm doing right now is so specific to me that it'd be an undertaking to break it out in to libraries. Ex: if someone just wants to read a BMS over arduino/ESP and they have my code, they'll spend hours untangling that from everything else.

Deligreen balancer isn't incorporated in this project anymore since the BT BMS was so successful. I'm not sure what I'll do with it now. I have a smaller Deligreen in a portable pack that works fine

I got a GL-iNet LTE tiny router yesterday which is replacing the larger Huawei home-sized router in the can. This one can actually operate on every t-mo/AT&T band including the brand new band 71 from TMO. And it lets me band lock - running open source firmware. Only downside is no carrier aggregation, but with all the bands available I'm sure I can find one usable in the middle of no where, just a little extra work manually switching em.

It didn't have external antenna ports but I knew the mini pcie card inside was a EC25-AF by Quectel, which has uFL antenna connectors. So, I promptly drilled holes in my 5 minute old router and installed some SMA jacks - huge boost in signal over the internal sticker antenna.

Cutting to the chase, while I had the new router disassembled I observed some familiar pins - GND, RX, TX, 3V3. Further down the rabbit hole we go!

Particle Photon now reads (in addition to BMS and MPPT serial data), data from the router. I have to query it for what I want, but can get back signal strength breakdown (so not just 0-5, but rssi, rsrq, rsrp, sinr, blabla) and which band its on. Now that data is returned along with everything else - app makes one request and gets it all.

If I were a smarter man, or used a raspberry pi for my brain instead of a postage stamp sized developer board, I could probably arrive at my middle-of-nowhere camp and press a button for the pi to analyze every available band and do some quick speed measurements, then lock on the best one until I leave. I'll have to do that manually.

This has been incredible scope creep - miles past the original objective of the build at this point. I just need to industrial velcro the new router somewhere in the can, set up some baffles for the heating system, and then figure out why my web server (for local data) doesn't restart if connection is interrupted. Probably something as simple as checking periodically "if server not running anymore, start it again"

App looks quite a bit different, I'll update on that tonight or tomorrow once I get the router stats incorporated in to the UI.
 
Back
Top