Case study·Energy Asset Operators·United Kingdom

Catching a grid frequency event in a single cycle

A multinational utility wanted to support grid frequency by dispatching a fleet of distributed batteries. The hard part isn't the battery — it's noticing the event fast enough to matter. We built a system that watches frequency cycle by cycle and acts the instant something moves.

Sector
Distributed battery storage
Where
United Kingdom
Engagement
Software + hardware + process
The win
Per-cycle frequency response
At a glance

A multinational energy utility approached Full Stack Energy to develop a suite of software and hardware that lets them provide grid frequency support by dispatching distributed batteries. The system incorporates Phasor Measurement Unit (PMU) technology that monitors grid frequency on a per-cycle basis and sends charge/discharge signals to the relevant battery banks the moment a frequency event is detected — backed by a time-series data platform so the control algorithm can learn and improve after every event.

  • ClientMultinational energy utility
  • SegmentEnergy Asset Operator
  • ProblemSupport grid frequency with distributed batteries
  • ApproachPMU per-cycle detection + battery dispatch
  • DetectionPhasor Measurement Unit, per cycle
  • OutcomeInstantaneous frequency-event response
01The brief

A grid that needs help in milliseconds

Electricity grids are some of the most complex systems ever invented — millions of homes and businesses served across thousands of miles of transmission and distribution, an incredible tangle of electron flows. Decarbonisation means connecting ever more renewable generation, and that drives an exponentially growing need for energy storage to keep the whole thing stable.

A multinational utility wanted to put distributed batteries to work supporting grid frequency: when frequency drifts, inject or absorb power to pull it back. But frequency events happen fast. To be useful, a system has to detect the event and dispatch the right batteries almost instantly — a measurement-and-latency problem before it’s a control problem.

They needed a partner who understood both the energy domain and the engineering — to build the software, hardware and process that could see a frequency event as it happened and respond in time to help.

02What we did

Measure per cycle. Dispatch on the event.

We scoped the problem with the utility’s stakeholders, then built PMU-grade detection feeding battery dispatch — and stored everything in a time-series platform so the control algorithm gets better after every event.

cloudPython · Asyncio · InfluxDB Cloud · PostgreSQL · Flask · Grafana
deviceAzure IoT Edge · Linux (custom BSP) · C++ · 4G cellular · Redis
protocolsMODBUS · MQTT · IEEE C37 (synchrophasor)
dataReal-time C37.118 stream ingestion + analysis

Grid frequency support is a race against the cycle. If you notice the event a beat too late, the cleverest battery dispatch in the world is already responding to history.

Lead Engineer, Full Stack Energy
03The outcome

A response fast enough to actually help

Full Stack Energy delivered the software, hardware and process suite the utility needed to realise the objective: distributed batteries that support grid frequency. The PMU-based detection identifies frequency events instantaneously and dispatches the relevant battery banks, so the response lands while it can still do good — automatically, or under operator control.

Because every event is stored in a time-series database, the system isn’t static. It can replay and analyse what happened after the fact, letting the control algorithm learn and optimise — and the same real-time backbone extends naturally to demand response and load control.

Per-cycle
PMU frequency monitoring
Instant
charge/discharge dispatch
Post-event
learning loop on time-series data
04From the team

What we’d tell you over coffee

The headline everyone wants is the battery, but the real engineering here is synchrophasor measurement and latency. PMU data on a per-cycle basis is demanding to handle, and every millisecond between detecting an event and dispatching a battery is a millisecond of help you didn’t give the grid. We obsessed over that path.

Storing everything in a time-series database wasn’t just good housekeeping — it’s what turns a reactive controller into one that improves. Being able to replay a frequency event and ask “could we have responded better?” is how the control algorithm earns its keep over time.

PMUFrequency ResponseStorageIEEE C37.118GridMODBUS
05FAQ

Common questions about battery grid-frequency response

Grid frequency events happen in milliseconds. Per-cycle detection using Phasor Measurement Unit (PMU) technology monitors frequency on every cycle and sends charge or discharge signals to the right battery banks the instant an event is detected — so the response lands while it can still help, instead of reacting to history.

Every event is stored in a time-series database, so the team can replay and analyse exactly what happened afterwards. That post-event learning loop lets the control algorithm optimise its dispatch decisions, turning a reactive controller into one that improves with every frequency event.

Yes. The same real-time detection-and-dispatch backbone extends naturally to demand response and load control, and each response can run automatically or be handed to a human operator.

Need an asset to respond in real time?

Grid-support applications live or die on measurement and latency. We build the detection and dispatch that act in the moment. Let's talk.