🚧 Coming Soon — This project is in pre-release. Download links will activate on the first official release.
Maximum Trainer icon
Coming Soon

Maximum Trainer

Free, open-source indoor cycling training — ERG mode, real-time power, BLE sensors & structured intervals.

GPL-3.0 C++17 · Qt Bluetooth LE Cross-Platform

The Story

🚴

The Origin

Maximum Trainer was a pioneering free indoor cycling platform developed primarily by Maxime Blais (Max). It offered advanced features typically found only in paid applications like TrainerRoad or Zwift — ERG resistance control, real-time power balance, studio mode, and native Moxy muscle-oxygen sensor support — all at no cost to the rider.

📅

The Closure — 7 September 2019

On September 7, 2019, the project officially ceased operations and support. According to SmartBikeTrainers.com, the developer cited a lack of external developer help and insufficient donations to cover server hosting costs as the primary reasons for shutdown.

The Rebirth — Maximum Trainer Redux

This repository is the rebirth of Maximum Trainer. The codebase has been modernised to C++17 and Qt 6, the build system updated for all three platforms, and the project re-launched as a fully open-source interval trainer for indoor cycling and indoor rowing. The legacy lives on — and it is open to contributions from every developer.

Technical Features

🏗️

Architecture

Built in C++17 (≈ 95 %) using the Qt Framework with qmake .pro build files and Qt Linguist .qm files for multi-language support.

Bluetooth Smart (BLE)

One of the early adopters of open trainer standards. Supports FTMS (0x1826) for automatic ERG resistance, plus Heart Rate (0x180D), Cycling Power (0x1818) and Speed & Cadence (0x1816).

ERG Mode

Automatic resistance control keeps your power on target throughout structured intervals. The workout player overlays your live power on top of the coloured target-band graph in real time.

L/R Power Balance

Real-time feedback on pedalling efficiency from dual-sided power meters — displayed live during the workout and recorded to the .FIT activity file.

Moxy Muscle Oxygen

Native BLE support for Moxy Near-Infrared Spectroscopy monitors (service UUID 0xAAB0) with live SmO₂ and tHb display, full .FIT file integration and built-in simulator — fully implemented.

🏟️

Studio Mode

Support for multiple riders / users concurrently on a single installation — ideal for spinning studios and group training sessions.

📋

Workout Formats

Import standard interval files (.erg, .mrc, .zwo) or sync planned workouts directly from your Intervals.icu training calendar. Export completed activities as .FIT files.

📡

Offline Mode

Fully functional without an active internet connection. All core training features — ERG control, sensor recording, and workout playback — work completely offline.

☁️

Activity Upload

Post-workout upload to Strava, TrainingPeaks, and SelfLoops directly from the app.

Technical Specifications

ItemDetail
LanguageC++17 (≈ 95 %)
FrameworkQt 5.15.2 (Windows · Linux)  ·  Qt 6.7.3 (macOS)
Build filePowerVelo.pro (qmake)
Trainer protocolBluetooth LE FTMS (0x1826)
Sensor profilesHeart Rate (0x180D) · CSC (0x1816) · Power (0x1818)
Workout formats.erg · .mrc · .fit (native XML)
LicenseGPL-3.0

Download & Build

Pre-built binaries are produced by GitHub Actions on every tagged release. Choose your platform below, or browse all releases on GitHub.

🪟

Windows

Windows 10/11 — 64-bit (MSVC build)

  • Qt 5.15.2 (win64_msvc2019_64)
  • QWT 6.2.0
  • VLC-Qt 1.1.0 (pre-built MSVC)
  • SFML 2.6.1
Build from source
$env:QMAKEFEATURES = "C:\qwt\features"
qmake PowerVelo.pro `
  "VLCQT_INSTALL=C:/vlcqt" `
  "SFML_INSTALL=C:/sfml/SFML-2.6.1"
nmake
🐧

Linux

Ubuntu 22.04+ / Debian-based distros

  • Qt 5.15.x (from apt)
  • libqwt-qt5-dev
  • VLC-Qt 1.1.1 (from source)
  • libsfml-dev
Build from source
sudo apt-get install -y \
  qtbase5-dev qtwebengine5-dev \
  qtconnectivity5-dev \
  libqwt-qt5-dev libsfml-dev \
  libvlc-dev cmake build-essential

qmake PowerVelo.pro
make -j$(nproc)
🍎

macOS

macOS 12+ (Apple Silicon & Intel)

  • Qt 6.7.3 (via Qt Installer)
  • QWT 6.2.0 (from source)
  • SFML (brew install sfml)
Build from source
brew install sfml
qmake PowerVelo.pro \
  "SFML_INSTALL=$(brew --prefix sfml)" \
  "QWT_INSTALL=/usr/local/qwt-6.2.0"
make -j$(sysctl -n hw.logicalcpu)
🌐

Browser (Beta)

WebAssembly + WebBluetooth — no install needed

  • Chrome or Edge 70+ (desktop)
  • Bluetooth LE hardware required
Launch in Browser

WebBluetooth is supported on Chrome & Edge only.
Not available in Firefox or Safari.

License

GPL-3.0

Maximum Trainer Redux is free software licensed under the GNU General Public License v3.0.

You are free to use, study, modify, and distribute this software under the terms of the GPL-3.0. Any derivative work must also be distributed under the same license.

The full license text is available in the LICENSE file of the repository, and at gnu.org/licenses/gpl-3.0.