← Back to 3249Craft v0.0.1b - Beta

SpeedChecker

An open-source portable speedometer device designed for measuring real-time speed, analyzing acceleration, and timing laps during Mini 4WD testing and racing sessions.

SpeedoMeter
42.5
km/h
Peak: 58.2 | TT15: 1.23s

Key Features

Everything you need for precise speed measurement and performance analysis

📈

Real-Time Speed

Measure speeds from 0-99 km/h with 0.1 resolution. Supports 5 units: km/h, mph, m/s, RPM, and signals/s.

📊

Dyno Graph

10-second acceleration recording with dynamic Y-axis scaling (20-120 km/h). Tracks time-to-peak speed.

Lap Timer

Stopwatch with support for up to 5 lap times. High-frequency 100 FPS display for smooth timing.

🔌

Performance Analysis

Peak speed tracking, TT15/TT30 time-to-speed measurements, live acceleration (m/s²), and speed gauge bar.

💻

Dual Display

Supports both 128x64 and 128x32 OLED displays with adaptive UI, button sidebar hints, and menu headers.

Configurable

Adjustable wheel diameter, spoke count, EMA smoothing, gauge scaling, auto-reset idle timer, and debug mode.

How It Works

Simple yet sophisticated speed measurement using optical sensing

1

Optical Detection

The QRE1113 reflective sensor detects wheel spokes passing by, generating pulses on each detection.

2

Interrupt Capture

Pulses are captured via hardware interrupt with 120µs debounce filtering for noise immunity.

3

Speed Calculation

Dual algorithms: pulse count method for high speeds, interval method for low speeds. Filtered with EMA smoothing (α=0.3) and ±15 km/h delta limiter.

4

Display Output

Results update on the OLED display every 400ms with real-time speed, max tracking, and visual feedback.

Technical Specifications

Detailed performance metrics and capabilities

Performance

Speed Range
1 - 99 km/h
Resolution
0.1 km/h
Update Interval
400ms (2.5 Hz)
Debounce
120µs pulse filter
Stopwatch FPS
100 (10ms refresh)

Display Units

km/h
Kilometers per hour
mph
Miles per hour
m/s
Meters per second
RPM
Revolutions per minute
sig/s
Sensor signals per second

Software

Language
C++ (Arduino)
Libraries
Adafruit GFX, SSD1306
Architecture
Interrupt-driven ISR
Filtering
EMA + delta limiter
License
Open Source

Hardware Requirements

Simple components for an easy build

Component Description Qty
Arduino Pro Micro ATmega32U4, 5V/16MHz 1
OLED Display SSD1306, 128x64 or 128x32, I2C 1
QRE1113 Sensor Reflective optical sensor 1
Tactile Buttons 6mm push buttons 4
Resistors 10kΩ pull-up (optional, uses INPUT_PULLUP) 4

Pin Connections

D2 (SDA) OLED SDA
D3 (SCL) OLED SCL
D1 (INT3) QRE1113 OUT
D4 Button 1 (Unit/Start)
D5 Button 2 (Reset/Lap)
D6 Button 3 (Prev Menu)
D7 Button 4 (Next Menu)

Ready to Build?

Get the source code and start building your own SpeedChecker device.

Get Started on GitHub