Skip to content

szrich83/voltroute

Repository files navigation

VoltRoute – EV Trip Planner

.NET F# WebSharper Status GitHub repo size GitHub last commit

VoltRoute Preview


Motivation

Planning long-distance trips with electric vehicles is fundamentally different from traditional route planning.

Unlike internal combustion vehicles, EV travel depends on multiple interacting factors:

  • limited and dynamic driving range
  • non-linear charging behavior
  • charger availability constraints
  • trade-offs between charging time and number of stops

Most simple calculators ignore these aspects and assume ideal conditions, leading to unrealistic results.

The goal of VoltRoute is to model EV travel as a simulation problem, where charging decisions, battery state, and trip progression are evaluated step-by-step to produce more realistic outcomes.


Features

Core

  • Range estimation from battery + consumption
  • Charging stop calculation
  • Charging time simulation
  • Configurable target charge level (e.g. 60% / 80%)
  • Trip cost estimation

Advanced

  • Smart charging logic

    • avoids unnecessary charging stops
    • only stops when required
  • Charger interval simulation

    • user-defined average distance between chargers
    • approximates real-world infrastructure
  • Trip timeline

    • structured sequence: start → drive → charge → arrival
  • SOC graph

    • battery percentage tracked across the full trip
  • Segment-based simulation

    • trip is divided into realistic driving + charging segments

Simulation Model

Charging curve

Charging speed is SOC-dependent:

SOC range Effective power
0–20% 85%
20–60% 100%
60–80% 65%
80%+ 30%

Charging is simulated incrementally to approximate real behavior.


Smart charging decision

For each segment, the system determines:

  • whether a charging stop is required
  • how much energy should be added
  • whether skipping a charger is optimal

This prevents:

  • unnecessary micro-charging stops
  • inefficient 100% charging
  • unrealistic travel assumptions

SOC tracking

The system tracks battery level:

  • at trip start
  • after each driving segment
  • after each charging event

This enables:

  • accurate arrival SOC estimation
  • graphical SOC visualization

UI

Inputs

  • Battery capacity (kWh)
  • Consumption (kWh / 100 km)
  • Trip distance (km)
  • Charging power (kW)
  • Initial SOC (%)
  • Target SOC (%)
  • Electricity price
  • Average charger interval (km)

Outputs

  • Charging stops
  • Total charging time
  • SOC graph
  • Trip timeline
  • Trip cost
  • Arrival SOC

Tech Stack

  • F#
  • WebSharper UI
  • Reactive UI (Var / View)
  • Functional domain logic

Installation

Requirements

  • .NET 10 SDK
  • Node.js
  • npm

Clone the repository

git clone https://github.com/szrich83/voltroute.git
cd voltroute

Install dependencies

dotnet restore
npm install

Build

dotnet build -c Release

Run the project

dotnet run

Then open the URL shown in the terminal (e.g. http://localhost:56910)


Project Structure

VoltRoute/
├── src/
│   ├── Client.fs              # UI logic (WebSharper SPA)
│   ├── Calculations.fs        # EV trip calculation engine
│   ├── VehiclePresets.fs      # Predefined EV models
│   ├── TripAnalysis.fs        # Extended analysis / future features
├── wwwroot/
│   ├── custom.css             # Styling (dark UI + dashboard)
├── index.html                 # Entry point

Screenshots

Main UI

Main UI

Results Panel

Results

SOC graph

SOC graph


Live Demo

Note: The live demo may take a few seconds to start if the Render instance is inactive.

https://voltroute.onrender.com

Author

Richárd Szőke GNMH44 Software Engineering Student


About

Simulation-based EV trip planner with SOC modeling, charging strategy and timeline visualization

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors