I have made my own version of the Scale Speedometer, the "SpeedTracker by platelayer" to measure the train speed in different units and scales, using an Ardino, 2 IR-sensors and a touch-display shield for the Arduino Uno.

I have made two different version, one using an Arduino Uno with a 2.4" TFT Touch Screen Shield, another using an Arduino Nano and an OLED display, and 2 IR-sensors.

The project is still under construction, but a few images are available.

Version 1.0 of the software for the Uno with Touch Display is available on my github site, https://github.com/smholt/SpeedTracker_by_platelayer


The 2.4" TFT 240x320 Touch Shield placed on top of the Arduino Uno in this 3D-model created using Fusion 360.


The 2.4" TFT 240x320 Touch Shield and the Arduino in the 3D-printed box.


The breadboard for the Arduino Nano and 2.4" TFT 240x320 Touch Screen-version.


The schematic for the Arduino UNO and 2.4" TFT 240x320 Touch Screen-version.


Arduino Code:

Part of the code can be forund here, complete code on my github site.

/* SpeedTracker_Touch_by_platelayer.ino by Svein-Martin Holt, mars 2024   http://www.platelayer.com

 Model Railroad Speed detector, using 2 IR-sensors to measure the time and a Touch Screen Shield for the Arduino Uno.
 The scale and speed units are selected on the TouchScreen scrolling through the scales and speed units
 New scale or speed unit are selected by pressing the TouchScreen.
 The last selected values are stored in EEPROM so they will be the default starting values.

 More info can be found on my homepage: http://www.platelayer.com/arduino-scale-speedometer.aspx

 The software can be found here: https://github.com/smholt/SpeedTracker_by_platelayer

 The 3D-model of the digits, can be found on my cults3d-page: https://cults3d.com/en/users/smholt

// The software is based on an idea by Ruud Boar
// See his project homepage:
// https://rudysmodelrailway.wordpress.com/2018/03/29/a-e-6-model-train-speed-measurement-device-part-2-the-arduino-software/30
// Original version August 2019 by Ruud Boer
// Revised version September 2021

// Two optical sensors are used, spaced SENSOR_DISTANCE [um] apart
// [us] timer starts when one of the sensor inputs goes HIGH
// [us] timer stops when the other sensor goes HIGH
// m_per_s = distance / (stop_time - start_time)
// km_per_hr = 3.6 * m_per_s, mph = 2.23694 * m_per_s;

// Great resource for the LCD Touch screen
//  http://www.lcdwiki.com/2.4inch_Arduino_Display#Program_Download

#define prog_ver "v1.0, 2024.03.03"  // Program version and date, displayed at startup
The breadboard for the NANO-version and OLED-display


The schematic for the Arduino Nano and OLED-version.