Depot charging planning: how to share power so every bus makes its first run
Six buses, 120 kW and two departures at five. A worked example of why splitting depot power by departure time, rather than equally, decides whether every bus leaves with the energy its block needs.

.jpg)
Every evening, the dispatcher at an electric bus depot has the same question: will every bus make its first block (run) in the morning? With a strong grid connection, the answer is easy. With a weak one, it depends on how you share power between the buses overnight, and that split often isn't designed by anyone. Power gets divided equally, the chargers report no faults and everyone's relaxed until the first block pulls out short of energy.
SoC alone won't give you a charging schedule
When we talk about readiness here, we only mean energy. A bus needs to leave with enough kilowatt-hours for its block, plus whatever reserve the operator sets. Brakes, doors and the rest are a different conversation.
How much is enough? It depends on the route. A short city-centre route and a long suburban one burn very different amounts, even with identical buses, and in winter heating widens the gap. NREL's guidebook on deploying battery electric buses lists what to account for: route profile, passenger load, temperature, heating and air conditioning. [1]
That's why we don't set the charging order by SoC. 60% in a bus doing two short trips tomorrow is more than it needs. The same 60% before an all-day block on a long route is trouble. What we calculate is the missing energy, also called energy to target: how much has to go in so the bus can finish its block with the reserve intact.
That's only half the sum, though. The other half is time. You need to know when the bus actually gets to a charger (not when the timetable says it should be back) and when it has to be unplugged. Charging stops before departure, because the driver still has to pull the plug and get the bus off the bay.
Then there's the hardware: how many charge points you have, whether a charger splits power across two connectors, how much the vehicle will actually take at its current state of charge. And there's the depot's power budget, or power envelope: whatever's left for charging after the bus wash, the workshop and the yard lighting have taken their share.
The data has to be fresh. A plan built on SoC readings from three hours ago looks great on screen, but the yard has moved on.
A charging schedule example: six buses, 120 kW
The depot is made up, and the numbers are chosen so you can check them in your head. At 23:00, six buses come in and each needs 150 kWh from the grid. A and B leave at 5:00, C, D, E and F at 7:00.
Assumptions
Charging gets 120 kW. Each bus has its own charger and can take up to 60 kW. Everything is measured on the charger supply side, so the 150 kWh already includes losses. We ignore the charging curve: each bus takes its allocated power until it hits its target. We also assume the plug comes out at departure time. In reality charging ends 10 to 15 minutes earlier. Take 15 minutes off every window and the late bus in the next section is 45 kWh short, not 30.
Option one: split it equally. 120 kW across six buses is 20 kW each. There are six hours until five o'clock, so A and B end up with 120 kWh each. They're 30 short. The chargers won't flag anything all night, because they did exactly what they were told.
Handing the freed power to C to F after five would get those four done sooner. It does nothing for A and B, though. By then they're already out on the road, 30 kWh light. The order has to be right before the first departure, not after it.
Option two: A and B get 30 kW each from the start, the rest get 15. Still 120 kW in total. At four, A and B have their 150 kWh and stop, so C to F can move up to 30 kW. Each of them has 75 kWh by four and picks up the other 75 by 6:30.
Table 1. Schedule based on departure times
| Vehicles | Departure | 23:00-04:00 | 04:00-06:30 | Target reached |
|---|---|---|---|---|
| A, B | 05:00 | 30 kW / vehicle | 0 kW | 04:00 |
| C, D, E, F | 07:00 | 15 kW / vehicle | 30 kW / vehicle | 06:30 |
Everyone makes it. The first two with an hour to spare, the others with half an hour.
THE RULE IN ONE LINE
The earliest departure gets what it needs first, as far as its charger and battery allow. Whatever's left goes down the list, and the whole thing is recalculated every time something changes. Before you trust the plan, check each bus on its own: can it physically take the missing energy in the time it has? If not, no charging order will save it. That's exactly the case you want flagged early.

In option one the totals added up too: the depot's needs fit within the available power. The order was the problem. So a depot-wide energy balance proves nothing on its own. You have to check each bus against its own departure time.
A depot-wide energy balance proves nothing on its own.
The other thing is the margin. Between 23:00 and the last departure at 7:00, the depot can deliver 960 kWh at most. It needs 900. That's 60 kWh of slack, or half an hour at full power. Lose 30 kW of budget for two hours and the slack is gone. Faced with a result like that, the first thing we'd ask is what happens if one bus comes back an hour late.
A real depot also has the charging curve to deal with. Above a certain SoC, a bus takes less than you offer it, so the last stretch takes longer than simple division suggests. We left it out here to keep the maths readable.
Late returns, charger faults and lost comms
The 23:00 plan holds until the first phone call from the road. It has to be recalculated every time something changes: a late return, an interrupted session, less power, two blocks swapped.
A late return is easy to work out. A gets back at 3:00 and needs 150 kWh. It has two hours at a maximum of 60 kW, so the best it can do is 120 kWh. You can give it top priority, you can unplug everyone else. It makes no difference. It'll be 30 kWh short.
What matters is when the dispatcher finds out. At 3:05, they have two hours to put out a different bus or shuffle blocks. At 4:55, they have a problem. The system should flag the shortfall as soon as the bus is back, with an actual number: this many kWh missing, this much time left.
A charger fault looks easier, since power is freed up. Except the bus is still parked at a dead charger. Someone has to move it to a free bay with a compatible connector, and at night there isn't always anyone in the yard to do it. The FTA's best-practice report draws attention to exactly this: infrastructure interoperability and operational readiness. [2] A new power allocation that assumes the bus will hop to another bay by itself is useless.
Lost comms are the trickiest. The charger goes quiet and you can't tell whether it's charging or not. We don't assume either. We flag the data as stale and switch to the fallback agreed in advance. For example: assume the charger keeps delivering its last reported power for 15 minutes, then assume zero and share the power out again. Meanwhile someone goes to check.
Sometimes the call comes from the grid, not the road. The grid operator asks the depot to drop to 80 kW for two hours. That's 80 kWh gone against 60 kWh of slack, so somebody ends up short. It's the same recalculation as before. Only this time it's the power budget that moved, not a bus.
Smart charging at the depot: what to build it from
You don't have to replace anything. The fleet system knows which block leaves when. The CSMS, the charging station management system, knows what's happening on the chargers. The EMS, the site's energy management system, knows how much power you're allowed to draw. What's usually missing is something that puts those three together and says: this bus gets 30 kW, that one 15. That's the planning layer, and connecting those three is its whole job.
Limits reach the chargers through the smart charging features of OCPP, the Open Charge Point Protocol. [3, 4] Charging profiles have been part of OCPP since version 1.6, so this doesn't mean buying new chargers. Just check that your chargers and your CSMS really support them. A feature being in the spec doesn't mean it's switched on in your yard. Then watch the meter, not the acknowledgement. A charger that has accepted a "30 kW" command doesn't necessarily deliver 30 kW.
At i4B we treat this as building blocks. Each piece can be plugged in on its own: into your own product, a system built for an operator, or something bought off the shelf. You can also start small. At first, planning just calculates and advises the dispatcher. We switch on power control only once the integrations are tested and everyone knows what the system will do when a charger goes quiet.
How to tell depot charging planning is working
One metric matters more than the rest. We call it readiness at departure: the percentage of departures where the bus had hit its energy target. For every miss, we log the reason: late return, fault, not enough power, bad data. After a month you can see what's really spoiling your mornings.
Beyond that, we look at the time buffer before departure, the number of overnight interventions, and how many minutes pass between spotting a risk and calling the dispatcher.
Energy cost? That too, but last. Cheap charging that leaves a block unable to run isn't a saving. Once every departure is covered, though, the same plan can be shifted into cheaper tariff hours and kept under the contracted power. That's where the real savings are.
If you want to see how this looks at your depot, take one ordinary day: return times, departure times and how much energy each bus needs. Put it in a spreadsheet and work out the equal-split option. Or run it in our depot simulator, which plays through a whole night in a few minutes, with a late return, a charger fault and a grid cut thrown in. If it comes out short, you have a case for talking about charging order before anyone orders a bigger grid connection.
FAQ
Why isn't state of charge enough to plan overnight bus charging?
State of charge says how full a battery is, not whether it is full enough. A bus at 60% doing two short city trips has more than it needs; the same 60% before an all-day suburban block is a shortfall. What matters is missing energy - the kilowatt-hours required to finish tomorrow's block with the operator's reserve intact - combined with the time available before departure.
How should depot power be split between electric buses overnight?
By departure time, not equally. In a depot with 120 kW and six buses each needing 150 kWh, an equal 20 kW split leaves the two buses departing at 05:00 short by 30 kWh each, while the chargers report no fault. Giving those two 30 kW and the rest 15 kW uses the same total power and gets every bus out on time.
What happens when an electric bus returns to the depot late?
The plan has to be recalculated immediately, and sometimes the answer is that the bus cannot be ready. A bus back at 03:00 needing 150 kWh, capped at 60 kW, can absorb at most 120 kWh before a 05:00 departure - no priority setting changes that. What matters is whether the dispatcher learns at 03:05 or at 04:55.
What systems does smart depot charging require?
Usually nothing new needs replacing. The fleet system knows departure times, the CSMS knows what the chargers are doing, and the EMS knows the site's power limit. What is typically missing is a planning layer that combines all three and allocates power per vehicle. Limits reach the chargers through OCPP smart charging - provided the chargers and CSMS genuinely support it.
How do you measure whether depot charging planning works?
The primary metric is readiness at departure: the percentage of departures where the vehicle reached its energy target, with a logged reason for every miss: late return, charger fault, insufficient power or bad data. Secondary metrics are the time buffer before departure, the number of overnight interventions, and how long it takes to alert the dispatcher. Energy cost comes last.
Sources and assumptions
- NREL (2021). Electrifying Transit: A Guidebook for Implementing Battery Electric Buses. A. Aamodt, K. Cory, K. Coney. Chapter 8: route, infrastructure and operations planning.
- Federal Transit Administration (2023). Procuring and Maintaining Battery Electric Buses and Charging Systems: Best Practices. Report No. 0253, Chapter 5.
- Open Charge Alliance. What is new in OCPP 2.0.1, version 1.0. Smart Charging section and Functional Block K.
- Open Charge Alliance (2017). Open Charge Point Protocol 1.6, Edition 2. Smart Charging section.
Key takeaway
Split overnight depot power by departure time, not equally. In the example, six buses each need 150 kWh from a 120 kW supply: an equal 20 kW split leaves the two 5:00 departures 30 kWh short, while 30 kW for them and 15 kW for the rest gets every bus out on time. Plan by missing energy, not state of charge.

