Four batteries of the same type, each a single 1.1 Ah lithium-cobalt-oxide prismatic cell, were repeatedly charged by a constant-current/constant-voltage protocol and discharged at room temperature from 2010-08-16 to 2011-02-03.
This page follows the data from the cycler to the voltage-shape matrix: what was measured, what the cycler wrote, and how 1,119,328 logged samples become a 3,245 × 128 matrix of voltage-curve shapes. The same raw data also feeds a second feature set, the SOH series, which has its own Dataset page.
CALCE Battery Research Group, University of Maryland; per-cycle SOH extraction from a PC5251 student project (National University of Singapore, 2024).
Each battery sat on its own channel of an Arbin battery tester and was cycled under one repeating schedule. CALCE documents the charge as constant current at 0.5 C until 4.2 V, then 4.2 V held until the current falls below 0.05 A, and a constant-current discharge to a 2.7 V cut-off. The logs show the same schedule for all four batteries: about +0.55 A during constant-current charge and −1.1 A (1 C) during discharge.
From the test bench to this page
- DocumentedTest bench (CALCE)
Four 1.1 Ah lithium-cobalt-oxide batteries on an Arbin tester, CC–CV cycling from 2010-08-16 to 2011-02-03
- HeldRaw workbooks
4 archives, 106 workbooks, 1,119,328 samples
- ReproducedCurve-shape recipe
Screen, resample 64 + 64 points, standardise within the row; rerun here
- ReproducedShape matrix
3,245 × 128, built here from the raw workbooks
Documented: described by CALCE, not rerun here. Reproduced: rerun here on the raw workbooks. Held: the bytes this page reads.
The basic unit: one cycle
A cycle is one charge followed by one discharge, with rests in between. The figure shows one early cycle of CS2_35, exactly as logged.
Two panels share one time axis. Current is positive while charging and negative while discharging.
What each sample records
| Column | Unit | Meaning |
|---|---|---|
Test_Time(s) | s | Time since the test in this workbook started; restarts in every workbook |
Step_Time(s) | s | Time since the current schedule step started |
Date_Time | date-time | Wall-clock timestamp |
Step_Index | — | Schedule step number |
Cycle_Index | — | Cycle counter; restarts in every workbook |
Current(A) | A | Battery current; positive = charge, negative = discharge |
Voltage(V) | V | Terminal voltage |
Charge_Capacity(Ah) | Ah | Charge passed, cumulative within the workbook |
Discharge_Capacity(Ah) | Ah | Charge removed, cumulative within the workbook |
Internal_Resistance(Ohm) | Ω | Resistance value reported by the tester |
Samples arrive about every 30 s, further apart while the voltage is held at 4.2 V. Later workbooks also carry a per-cycle Statistics sheet.
A workbook, opened
The first rows of the data sheet in CS2_35_10_15_10.xlsx (battery CS2_35): one row per logged sample.
| Test_Time(s) | Step_Time(s) | Date_Time | Step_Index | Cycle_Index | Current(A) | Voltage(V) | Charge_Capacity(Ah) | Discharge_Capacity(Ah) | Internal_Resistance(Ohm) |
|---|---|---|---|---|---|---|---|---|---|
| 30.00052 | 30.00053 | 2010-10-08 14:29:45 | 1 | 1 | 0.0 | 3.42422 | 0.0 | 0.0 | 0.0 |
| 60.0157 | 60.0157 | 2010-10-08 14:30:15 | 1 | 1 | 0.0 | 3.42438 | 0.0 | 0.0 | 0.0 |
| 90.03081 | 90.03081 | 2010-10-08 14:30:45 | 1 | 1 | 0.0 | 3.42438 | 0.0 | 0.0 | 0.0 |
| 120.01435 | 120.01435 | 2010-10-08 14:31:15 | 1 | 1 | 0.0 | 3.42438 | 0.0 | 0.0 | 0.0 |
| 150.03051 | 30.01573 | 2010-10-08 14:31:46 | 2 | 1 | 0.55012 | 3.56749 | 0.00459 | 0.0 | 0.0 |
| 180.04531 | 60.03053 | 2010-10-08 14:32:16 | 2 | 1 | 0.5503 | 3.61136 | 0.00917 | 0.0 | 0.0 |
| 210.06057 | 90.0458 | 2010-10-08 14:32:46 | 2 | 1 | 0.55012 | 3.64681 | 0.01376 | 0.0 | 0.0 |
| 240.07559 | 120.06081 | 2010-10-08 14:33:16 | 2 | 1 | 0.55012 | 3.6766 | 0.01835 | 0.0 | 0.0 |
One workbook as a signal
The same workbook holds 50 cycles and 17,139 samples, starting 2010-10-08 14:29. Its first 48 hours are drawn; every tooth is one charge/discharge cycle.
How the workbooks cover each battery’s life
Each bar is one workbook, placed by the timestamps inside it. Hover for the file name and contents.
What the raw record does not give you directly
- Cycle numbers restart in every workbook. A cycle count across a battery’s life has to be built by offsetting each file.
- File names carry the export date, not the data date.
CS2_35_10_15_10.xlsxstarts on 2010-10-08. Files must be ordered by their first timestamp. - 2 workbooks are duplicate final exports (CS2_35_2_4_11.xlsx, CS2_38_2_4_11.xlsx): different files holding the same samples.
- Capacity columns are cumulative within a workbook, so a cycle’s capacity is a difference, not a value.
- Not every logged cycle is a complete, on-protocol cycle. Interrupted, resumed and sparsely logged cycles sit in the same sheets.
The curve-shape recipe keeps the full shape of each cycle and removes its level, scale and duration, so that only the shape remains. Each step below runs on the raw workbooks described above.
| Step | Evidence | Operation | Result |
|---|---|---|---|
| 0 | Documented | CALCE cycles the batteries on an Arbin tester and exports dated workbooks | 4 archives |
| 1 | Reproduced | Order workbooks by first timestamp, skip exports whose time span is already covered, offset each file’s cycle numbers | 3,937 logged cycles |
| 2 | Reproduced | Find the charge span (I > 0.02 A) and discharge segment (I < −0.5 A) from the current, not from step numbers | two halves per cycle |
| 3 | Reproduced | Screen: both halves present; on protocol; reaches the 4.2 V taper and 2.7 V cut-off; at least 64 samples per half | 3,245 rows |
| 4 | Reproduced | Resample each half onto 64 points of its own normalised time (0 → 1) | 128 voltages per row |
| 5 | Reproduced | Standardise within the row (subtract its mean, divide by its SD) | 128 shape features |
| 6 | Reproduced | Keep what step 5 removes, plus capacity and efficiency, as labels beside the matrix | labels, never features |
Where the cycles go
Screening counts by battery
| Battery | Logged | Half missing | Off protocol | Truncated | Too few samples | Rows |
|---|---|---|---|---|---|---|
| CS2_35 | 886 | 4 | 0 | 28 | 80 | 774 |
| CS2_36 | 976 | 3 | 0 | 29 | 184 | 760 |
| CS2_37 | 1,043 | 5 | 2 | 29 | 162 | 845 |
| CS2_38 | 1,032 | 4 | 2 | 34 | 126 | 866 |
| All | 3,937 | 16 | 4 | 120 | 552 | 3,245 |
Follow one cycle
Pick a cycle to see it at each step, from the samples the cycler wrote to the row the matrix stores. Dropped cycles stop at the step that rejects them.
Each row is one screened cycle, ordered by battery and then cycle. Columns 0–63 are the charge half and 64–127 the discharge half, each on its own normalised time. Colour is the standardised voltage. Hover a row to read it and its labels.
The heatmap is a display copy: values clipped at |z| = 4.2 and stored at 8-bit precision; colour saturates at |z| = 3. The full matrix ranges from -4.658 to 1.495. Rows per battery: CS2_35 774, CS2_36 760, CS2_37 845, CS2_38 866.
Features
| Columns | Unit | Meaning |
|---|---|---|
z000–z063 | — | Charge-half voltage at 64 points of normalised time, standardised within the row |
z064–z127 | — | Discharge-half voltage at 64 points of normalised time, standardised within the row |
Labels kept beside the matrix
| Label | Unit | Meaning |
|---|---|---|
cell, cycle | — | Battery, and cycle number across the battery’s life (after file offsets) |
q_dis, q_ch | Ah | Charge removed in the discharge segment / added in the charge span |
ce | — | Coulombic efficiency, q_dis / q_ch |
soh | — | q_dis / 1.1 Ah rated capacity |
v_mean, v_std, v_ptp | V | Offset, scale and range removed by standardisation |
dur_ch_h, dur_dis_h | h | Durations removed by time normalisation |
- One retained row, CS2_36 cycle 265, has coulombic efficiency 3.3147: a partial or resumed charge passes the endpoint, current and gap screens.
- The heatmap is a display copy clipped at |z| = 4.2 and stored at 8-bit precision; statistics use the full-precision matrix.
- Cycle numbers are built by offsetting each workbook, so they count logged cycles, not cycles since the batteries were new.
CALCE Battery Data Archive, CS2 samples and tests; CALCE Battery Research Group, University of Maryland. Derived per-cycle extraction: PC5251 final project, National University of Singapore (2024).
Battery curve-shape explorer: PCA of curve shape, per battery and with one battery left out; and its Key Findings page.