Skip to content

Releases: jaak0b/OpenSpeed

v1.0 - Initial Release

01 Jun 13:11

Choose a tag to compare

OpenSpeed - Release Notes


v1.0 - Initial Release

First public release of OpenSpeed, a free and open-source speed and length measurement system for model trains using two IR sensors and a Roco/Fleischmann Z21 DCC command station.

Downloads

File Contents
OpenSpeed-v1.0.zip Windows desktop application (requires .NET 8 Desktop Runtime)
OpenSpeed-Arduino-v1.0.zip ESP32 firmware sketch (Arduino IDE 2)

Requirements

  • OS: Windows 10 / 11 (64-bit)
  • Runtime: .NET 8 Desktop Runtime — not bundled, free download from Microsoft
  • Hardware: Roco or Fleischmann Z21 command station (all variants incl. z21 start)
  • Sensor module: ESP32 DevKit + 2× TCRT5000 IR sensor modules (see documentation for wiring)

Features

  • Speed measurement — automatically sweeps every DCC speed step (14 / 28 / 128 step modes), measuring a forward and backward pass for each step
  • Length measurement — measures the physical length of any train in centimetres by timing how long the exit sensor is blocked
  • Live speed plot — results appear on a real-time chart as each step is measured; forward passes in blue, backward in orange
  • Excel export — one-click export of all measured speed steps to a formatted .xlsx spreadsheet, pre-named with decoder address and timestamp
  • Dark & light theme — switchable at runtime, persisted across restarts
  • English & German UI — full localisation of the interface, switchable at runtime without restart
  • Auto-direction detection — the firmware detects train direction automatically; no manual configuration needed

Installation

  1. Install the .NET 8 Desktop Runtime if not already present
  2. Extract OpenSpeed-v1.0.zip to any folder
  3. Run OpenSpeed.UI.exe
  4. Flash the Arduino sketch from OpenSpeed-Arduino-v1.0.zip to your ESP32 (see documentation for step-by-step instructions)

Known Limitations

  • Only Roco / Fleischmann Z21 command stations are supported — no other DCC systems
  • Decoder CV3 and CV4 must be set to 0 (no acceleration/deceleration ramp) for accurate results
  • The sensor distance constant (SENSOR_DISTANCE_M) in the firmware must be measured and set manually before flashing