frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Data from a mixed-brand LiFePO₄ battery bank

3•wkcollis1•1h ago
Hi HN — I’m sharing an empirical, long-term dataset from a DIY energy-storage project that ended up testing a common assumption in battery design.

Conventional advice says never mix battery brands. That guidance is well-founded for series strings, but there’s surprisingly little data on purely parallel configurations.

I built a 12 V, 500 Ah LiFePO₄ battery bank (1S5P) using mixed-brand cells and instrumented it for continuous monitoring over 73+ days, including high-frequency voltage sampling. The goal was to see whether cell-level differences actually manifest over time in a parallel topology.

What the data shows

No progressive voltage divergence across the observation period

Voltage spread remained within ~10–15 mV

Measured Peukert exponent ≈ 1.00

Thermal effects were small relative to instrumentation noise

In practice, the parallel architecture appears to force electrical convergence when interconnect resistance is low. I’ve been referring to this as “architectural immunity” — the idea that topology can dominate cell-level mismatch under specific conditions.

This is not a recommendation to mix batteries casually, and it’s not a safety guarantee. It’s an attempt to replace folklore with measurements and to define the boundary conditions where this does or does not hold.

Everything is public:

Raw CSV data

Analysis scripts

Full PDF report

Replication protocol

Repo: https://github.com/wkcollis1-eng/Lifepo4-Battery-Banks

I’m posting this to invite critique — especially around failure modes, instrumentation limits, or cases where this model would break down (e.g., higher C-rates, aging asymmetry, thermal gradients, different chemistries).

Happy to answer technical questions.

Comments

theamk•1h ago
By "voltage spread", did you mean "difference in voltage between each battery"? Can you clarify how did you calculate this? I looked at the report but could not find the details nor raw data.

(It is easy to calculate in series packs, but the parallel ones would be tricky, since the bus links will equalizes the voltage. Did you manually remove the links and then measures each battery's voltage? Or did you estimate spread by measuring voltage drop between the bus?)

wkcollis1•13m ago
Yes — good question. In this study “voltage spread” does not mean per‑battery terminal differences. I did *not* disconnect the packs or probe each unit individually.

Because the cells are hard‑paralleled, their terminals are forced to the same potential, so true inter‑battery divergence can’t be measured without isolation taps. Instead, “spread” refers to:

*Voltage_Max – Voltage_Min of the pack‑level voltage within each hourly window.*

This captures short‑term variation in the measured pack voltage (ADC noise, EMI artifacts, inverter mode shifts, temperature coefficient), not cell‑to‑cell imbalance.

The raw data is in `Data/combined_output.csv` with columns:

``` Timestamp, Voltage_Min, Voltage_Max ```

Those come from 60‑second samples aggregated hourly. The analysis scripts compute:

``` Spread = Voltage_Max – Voltage_Min ```

So the ~10–15 mV “spread” in the report reflects the measurement envelope of the pack, not divergence between individual batteries. Measuring true per‑battery drift would require either per‑cell taps or momentary isolation, which wasn’t part of this study.

Happy to go deeper if you want details on sampling or noise characterization.

Show HN: Ayder – HTTP-native durable event log written in C (curl as client)

https://github.com/A1darbek/ayder
18•Aydarbek•1h ago•2 comments

Show HN: An iOS budget app I've been maintaining since 2011

https://primoco.me/en/
110•Priotecs•8h ago•55 comments

Show HN: Ever wanted to look at yourself in Braille?

https://github.com/NishantJoshi00/dith
12•cat-whisperer•4d ago•0 comments

Show HN: Self-host Reddit – 2.38B posts, works offline, yours forever

https://github.com/19-84/redd-archiver
58•19-84•4h ago•6 comments

Show HN: Timberlogs – Drop-in structured logging for TypeScript

4•enaboapps•57m ago•2 comments

Show HN: FastScheduler – Decorator-first Python task scheduler, async support

https://github.com/MichielMe/fastscheduler
18•michielme•4h ago•5 comments

Show HN: SnackBase – Open-source, GxP-compliant back end for Python teams

https://snackbase.dev
47•lalitgehani•7h ago•6 comments

Show HN: Data from a mixed-brand LiFePO₄ battery bank

3•wkcollis1•1h ago•2 comments

Show HN: Yolobox – Run AI coding agents with full sudo without nuking home dir

https://github.com/finbarr/yolobox
115•Finbarr•1d ago•82 comments

Show HN: Agent-of-empires: OpenCode and Claude Code session manager

https://github.com/njbrake/agent-of-empires
105•river_otter•1d ago•43 comments

Show HN: Fall asleep by watching JavaScript load

https://github.com/sarusso/bedtime
77•sarusso•1d ago•30 comments

Show HN: Test in Production with AI Agents

https://papercuts.dev
2•Sayuj01•4h ago•0 comments

Show HN: Inline comment translation in Neovim for faster code reading

https://github.com/noir4y/comment-translate.nvim
2•noir4y•4h ago•0 comments

Show HN: One RSS Feed for the Most Popular HN Bloggers (2025 Rankings)

https://rss-aggregator.philippd.workers.dev
7•7777777phil•4h ago•4 comments

Show HN: AI in SolidWorks

https://www.trylad.com
181•WillNickols•1d ago•101 comments

Show HN: DSAT – Data Subject Access Toolkit

https://codeberg.org/erkinalp/dsat
2•anticensor•4h ago•0 comments

Show HN: An open-source communication layer for AI agents

https://github.com/GetBindu/Bindu
2•ai_biden•5h ago•0 comments

Show HN: Y0 – Platform for autonomous AI agents that do real work

https://y0-app.vercel.app
3•yethikrishnar•5h ago•1 comments

Show HN: A Markdown Viewer for the LLM Era (Mermaid and LaTeX)

https://mdview.io/
4•Igor_Wiwi•6h ago•2 comments

Show HN: Haraltd – A cross-platform Bluetooth daemon with a JSON-based RPC

https://github.com/bluetuith-org/haraltd
3•darkhz•6h ago•0 comments

Show HN: Pane – An agent that edits spreadsheets

https://paneapp.com
31•rbajp•1d ago•9 comments

Show HN: Customizable OSINT dashboard to monitor the situation

https://sr.ericli.tech/?d=N4IgbiBcCMA0IHcoG1QBcogEYngGxQAZZiAOWUgXXgGMpQBHTASwCcBDAO1xAAcoAzIWGEA...
43•ericlmtn•1d ago•18 comments

Show HN: Engineering Schizophrenia: Trusting yourself through Byzantine faults

109•rescrv•1d ago•16 comments

Show HN: Pdftl – pdftk in Python with pipelines, AES-256, geometry and more

https://github.com/pdftl/pdftl
3•pdftl-dev•9h ago•1 comments

Show HN: I used Claude Code to discover connections between 100 books

https://trails.pieterma.es/
496•pmaze•3d ago•144 comments

Show HN: An LLM-optimized programming language

https://github.com/ImJasonH/ImJasonH/blob/main/articles/llm-programming-language.md
47•ImJasonH•1d ago•33 comments

Show HN: GlyphLang – An AI-first programming language

43•goose0004•2d ago•27 comments

Show HN: Geoguess Lite – open-source, subscription free GeoGuessr alternative

https://geoguesslite.com
14•spider-hand•1d ago•6 comments

Show HN: Librario, a book metadata API that aggregates G Books, ISBNDB, and more

137•jamesponddotco•2d ago•46 comments

Show HN: Drizzle ORM schema to DBML/Markdown/Mermaid documentation generator

https://github.com/rikeda71/drizzle-docs-generator
2•rikeda71•14h ago•0 comments