Releases: jaak0b/OpenSpeed
Releases · jaak0b/OpenSpeed
v1.0 - Initial Release
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
.xlsxspreadsheet, 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
- Install the .NET 8 Desktop Runtime if not already present
- Extract
OpenSpeed-v1.0.zipto any folder - Run
OpenSpeed.UI.exe - Flash the Arduino sketch from
OpenSpeed-Arduino-v1.0.zipto 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