id: db94ecb2fe3242088652bd4d3c642884
parent_id: 
item_type: 1
item_id: 75762cc5757e4b7382af9f1a9b7673ee
item_updated_time: 1782798588763
title_diff: "[{\"diffs\":[[1,\"Karting Telemetry Hardware — Sensors, Data & Integration\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":56}]"
body_diff: "[{\"diffs\":[[1,\"# Karting Telemetry Hardware — Sensors, Data & Integration\\\n\\\n> **Parent note:** [Sim Racing Telemetry Analysis Platform — Project Plan](joplin://6c0dcb2a567348fd9796f50c790082e4)\\\n> **Related:** [Commercial Deployment Architecture](joplin://052dec863e0948868304e44628986973), [LLM Coaching Reports](joplin://ddb8739b673c4ab7a996b951c3a47524)\\\n> **Created:** 2026-06-25\\\n> **Updated:** 2026-06-30\\\n\\\n---\\\n\\\n## Key Constraint: Kart Engines Are Carbureted\\\n\\\nMost kart engines (especially rental Honda GX200/GX390) are carbureted, not fuel-injected. This means:\\\n- **NO OBD-II port**\\\n- **NO throttle position sensor (TPS)** — the carburetor is mechanically linked to the pedal\\\n- **NO electronic fuel injection data**\\\n- **NO ECU data stream**\\\n\\\nEverything beyond GPS and RPM requires external sensors.\\\n\\\n---\\\n\\\n## What \\\"Forces\\\" Means: IMU Basics\\\n\\\n- **Accelerometer** measures G-forces (lateral, longitudinal, vertical)\\\n- **Gyroscope** measures rotational rate (yaw, pitch, roll)\\\n- **IMU (Inertial Measurement Unit)** = both combined in one chip\\\n- Modern \\\"smart\\\" IMUs (e.g., BNO085) do **sensor fusion** internally — subtract gravity, filter noise, output clean linear acceleration and yaw. No Kalman filter code needed.\\\n\\\n### Vibration Is the Enemy\\\n\\\nKarts vibrate violently (no suspension, solid axle, direct engine mount). This destroys cheap sensors and corrupts accelerometer data. Mitigation:\\\n- **Sensor mounting:** Mount IMU on high-density foam or 3M VHB tape, NOT hard-mounted to chassis\\\n- **Smart IMU:** BNO085 does internal filtering/sensor fusion\\\n- **Hall-effect sensors** (not potentiometers) for steering — no moving contact parts to wear out from vibration\\\n\\\n---\\\n\\\n## Data Availability by Hardware Tier\\\n\\\n| Data Point | GPS Puck Only | + RPM Pickup | + Steering Sensor | + Full Sensor Kit |\\\n|---|---|---|---|---|\\\n| Speed | ✅ GPS (10-20 Hz) | ✅ | ✅ | ✅ |\\\n| Position / racing line | ✅ GPS | ✅ | ✅ | ✅ |\\\n| Lap time | ✅ | ✅ | ✅ | ✅ |\\\n| Lateral G | ✅ derived from GPS | ✅ | ✅ | ✅ |\\\n| Longitudinal G | ✅ derived from GPS | ✅ | ✅ | ✅ |\\\n| Engine RPM | ❌ | ✅ inductive pickup | ✅ | ✅ |\\\n| Steering angle | ❌ | ❌ | ✅ Hall-effect sensor | ✅ |\\\n| Wheel speed (true) | ❌ | ❌ | ❌ | ✅ optical/magnetic sensor |\\\n| Wheel slip | ❌ | ❌ | ✅ GPS vs wheel speed delta | ✅ |\\\n| Throttle position | ❌ | ❌ | ❌ | ✅ slide pot on pedal |\\\n| Brake pressure | ❌ | ❌ | ❌ | ✅ hydraulic transducer |\\\n| Tire temperature | ❌ | ❌ | ❌ | ✅ IR sensor |\\\n\\\n**Key insight: GPS alone gets you ~70% of coaching value.** Lateral G derived from GPS is accurate enough for grip envelope, braking zones, and corner speed analysis.\\\n\\\n---\\\n\\\n## Professional Hardware Options\\\n\\\n### RaceLogic VBOX Sport (~€400 + ~€100 steering sensor)\\\n\\\nThe gold standard for motorsport data logging. Small, waterproof pod.\\\n- 20 Hz GPS, 3-axis accelerometer, 3-axis gyroscope\\\n- **2 analog inputs** — can connect steering angle sensor (rotary pot or Hall-effect)\\\n- Circuit Tools software, GoPro data overlay\\\n- Raw data export: **yes** (CSV)\\\n\\\n### Aim MyChron 5S (~€450)\\\n\\\nMost common dash in karting. Has GPS and internal IMU.\\\n- 10 Hz GPS, accelerometer, gyroscope, RPM (inductive clamp)\\\n- EGT, CHT, lap times\\\n- **2 configurable analog inputs** — steering pot + wheel speed sensor\\\n- **Note:** Base MyChron 5 (non-S) has NO analog inputs for steering — needs MyChron Expansion box (~€200 extra). The 5S variant has built-in inputs.\\\n- Data export: CSV via Race Studio 3\\\n\\\n### Aim MXS 1.2 + EVO4S (~€1,500)\\\n\\\nFull data acquisition system. CAN bus, full sensor stack.\\\n- Everything MyChron has + more channels\\\n- Supports throttle position, brake pressure, tire temp, wheel speed\\\n\\\n### ⚠️ Aim Solo 2 — AVOID for this use case\\\n\\\nGreat GPS/IMU pod but **NO analog inputs** — cannot add steering sensor.\\\n\\\n### Aim SmartyCam 3 (~€1,200)\\\n\\\nVideo + data overlay. **No raw data export** for external analysis — video overlay only. Not suitable as a data source for our pipeline.\\\n\\\n### RaceChrono Pro (phone app, €30/yr)\\\n\\\nEntry-level. Phone GPS only (+ OBD-II if vehicle supports it).\\\n- Good for basic lap timing, not for force analysis\\\n\\\n---\\\n\\\n## Football GPS Vests — NOT Suitable for Karting\\\n\\\nSTATSports, PlayerTek, Polar — these use the same sensor technology (10 Hz GPS + IMU) but are **unsuitable** for karting:\\\n\\\n| Problem | Why It Fails |\\\n|---|---|\\\n| **Body lean** | Driver leans 15-20° in corners. Sensor on body is tilted, reads G-force wrong, gyroscope thinks vehicle is rolling. Kart chassis stays flat — sensor must be chassis-mounted. |\\\n| **Walled garden** | No raw data export. Can't download CSV of GPS coordinates, G-forces, yaw rates. Software only outputs football metrics (distance, sprints, player load). |\\\n| **Algorithm mismatch** | Firmware designed for human movement (foot strikes, sprint patterns). Sustained cornering forces filtered as \\\"noise.\\\" Might think you're \\\"sprinting\\\" when accelerating out of a hairpin. |\\\n\\\n**Exception:** Biometric driver vests (heart rate, body strain) are a separate, future use case — they measure the *driver*, not the *vehicle*.\\\n\\\n---\\\n\\\n## DIY PoC Build (~$100-150, 1 weekend)\\\n\\\nFor a proof of concept, a custom ESP32-based logger gives full sensor coverage at a fraction of the cost.\\\n\\\n### Shopping List\\\n\\\n| Component | Module | Price | Purpose |\\\n|---|---|---|---|\\\n| **Brain** | ESP32-S3 Dev Kit | ~$10 | Microcontroller with Wi-Fi/BT, SD card logging |\\\n| **GPS** | u-blox NEO-M8N | ~$15 | 10 Hz position + speed (configure via u-center) |\\\n| **IMU** | BNO085 (Bosch) | ~$15 | Smart 9-axis sensor — outputs clean linear acceleration (subtracts gravity internally) |\\\n| **ADC** | ADS1115 16-bit | ~$8 | External ADC for clean analog sensor readings (built-in ADCs are too noisy) |\\\n| **Steering** | AS5601 Hall-effect | ~$5 | Non-contact magnetic rotary sensor — magnet on steering shaft, sensor nearby |\\\n| **Throttle** | 10kΩ linear slide pot | ~$10 | Mounted next to pedal — measures pedal travel (position, not pressure) |\\\n| **Brake** | 0-500 PSI transducer | ~$25 | Screws into T-fitting on master cylinder brake line |\\\n| **Misc** | SD card module, 32GB MicroSD, jumper wires, 5V USB power bank | ~$15 | Power + storage |\\\n| **Total** | | **~$100-150** | |\\\n\\\n### Assembly Notes\\\n\\\n1. **Electronics box:** ESP32 + GPS + IMU + ADC in a small plastic project box, mounted under nose cone or behind seat (GPS antenna needs sky view)\\\n2. **Vibration isolation:** Mount BNO085 on high-density foam or VHB tape — NOT hard-mounted\\\n3. **Sensor wiring:** 3-wire cables (power, ground, signal) from ADC box to steering sensor, throttle pot, brake transducer. Route away from exhaust.\\\n4. **Steering mount:** Glue neodymium magnet to bottom of steering shaft, mount AS5601 board pointing up at it. As shaft turns, reads angle perfectly with zero wear.\\\n\\\n### Software\\\n\\\nArduino IDE on ESP32. Main loop at 10 Hz (matching GPS):\\\n1. Read GPS coordinates + speed\\\n2. Read BNO085 for X/Y G-forces + yaw rate\\\n3. Read ADS1115 for steering angle, throttle %, brake PSI voltages\\\n4. Convert voltages to angles/percentages\\\n5. Write CSV row to SD card\\\n\\\n### Output Format\\\n\\\n```csv\\\nTime,Lat,Lon,Speed,Gforce_X,Gforce_Y,Yaw_Rate,Steering_Angle,Throttle_%,Brake_PSI\\\n12:01:01,34.123,-118.456,45.2,0.9,-1.2,45.0,90,100,0\\\n12:01:01.1,34.123,-118.456,46.1,0.8,-1.3,48.0,85,100,0\\\n```\\\n\\\n### Integration Into Our Pipeline\\\n\\\nThe DIY CSV maps directly to `TelemetryFrame` fields. Same converter approach as Aim CSV:\\\n\\\n```\\\nDIY CSV (SD card)\\\n    │\\\n    ▼\\\ncsv_reader.rs (new module)\\\n    │  Maps columns → TelemetryFrame fields\\\n    │  Timestamps → chronological Vec<TelemetryFrame>\\\n    ▼\\\nExisting analysis pipeline (unchanged)\\\n    │\\\n    ├── analyze_car_grip()\\\n    ├── corner analysis (needs track model)\\\n    ├── characteristics DB comparison\\\n    └── LLM coaching report\\\n```\\\n\\\n**The analysis engine, LLM coaching, web frontend — all work unchanged regardless of hardware source.** Only new code is the CSV reader (maps columns → TelemetryFrame).\\\n\\\n---\\\n\\\n## Wheel Slip in Karting\\\n\\\nTrue slip angle (tire deflection) requires optical correvit sensors (€5000+) — nobody puts these on karts. Practical alternatives:\\\n\\\n| Method | What You Get | Hardware |\\\n|---|---|---|\\\n| GPS speed vs. wheel speed | Wheel spin (accel), wheel lock (braking) | GPS + wheel speed sensor |\\\n| Lateral G vs. steering angle | **Best practical slip proxy** — when steering increases but lateral G plateaus, front tires sliding (understeer) | GPS + steering sensor |\\\n| Rear axle vs. front wheel speed | Differential slip (less useful in karts: solid rear axle) | Two wheel speed sensors |\\\n\\\nThe **steering angle vs. lateral G comparison** is exactly what `car_grip` analysis already computes. With a steering sensor on a kart, the existing `steering_response` scatter chart immediately shows understeer onset — **no new analysis code needed.**\\\n\\\n---\\\n\\\n## Coaching Coverage by Sensor Tier\\\n\\\n| Coaching Insight | Needs | Available With |\\\n|---|---|---|\\\n| Braking zones (too early/late) | GPS speed, position | GPS puck alone ✅ |\\\n| Racing line deviation | GPS position + track model | GPS puck alone ✅ |\\\n| Corner speed comparison | GPS speed, lap times | GPS puck alone ✅ |\\\n| Acceleration profile | GPS speed, RPM | GPS + RPM pickup ✅ |\\\n| Grip envelope (cornering limits) | Lateral G (from GPS) + speed | GPS puck alone ✅ |\\\n| Steering response / understeer | Steering angle + lateral G | + steering sensor (~€50) |\\\n| Throttle/brake input analysis | Throttle position + brake pressure | + sensors (~€200) |\\\n| Wheel spin detection | GPS speed vs. wheel speed | + wheel speed sensor (~€100) |\\\n\\\n---\\\n\\\n## Hardware Investment per Instrumented Kart\\\n\\\n| Tier | Hardware | Per-Kart Cost | Coaching Coverage |\\\n|---|---|---|---|\\\n| **DIY PoC** | ESP32 + GPS + BNO085 IMU + steering + throttle + brake | ~€100-150 | Full sensor stack — all coaching features |\\\n| **Basic** | 10 Hz GPS logger + RPM pickup | ~€200-300 | Lap analysis, braking zones, grip envelope, racing line |\\\n| **Recommended** | VBOX Sport or MyChron 5S + steering sensor | ~€500-600 | Everything above + steering response, understeer detection |\\\n| **Full** | Aim MXS + EVO4S + all sensors | ~€1,500-2,000 | Complete data, professional grade |\\\n\\\n### ROI for Venues\\\n\\\n- Equip **2-3 test karts** (not entire fleet): €300-1,800 one-time (depending on tier)\\\n- Charge €5-10 extra per coaching session\\\n- At 20 coaching sessions/week: €100-200/week\\\n- **Payback: 3-18 weeks** (DIY PoC pays back fastest)\\\n\\\n---\\\n\\\n## What Styria Karting Likely Already Has\\\n\\\n- **Almost certainly:** MYLAPS/AMB transponder timing (lap times only)\\\n- **Possibly:** Aim MyChron on their sport karts (390cc category)\\\n- **Unlikely:** Full data acquisition on rental karts\\\n\\\n**Conversation starter:** *\\\"Do you already have Aim MyChron or any data loggers on your sport karts? If so, we can read that data directly — no new hardware needed.\\\"*\\\n\\\nIf yes → skip hardware entirely, go straight to: Aim CSV → analysis → coaching report.\\\n\\\nIf no → propose the DIY PoC build for 2-3 karts (~€300-450 total).\\\n\\\n---\\\n\\\n## Other Real-World Hardware (Beyond Karting)\\\n\\\n| Hardware | Data | Price | Use Case |\\\n|---|---|---|---|\\\n| **OBD-II Bluetooth reader** | RPM, speed, throttle, temps, DTCs | ~€30-50 | Cars with OBD-II (most post-1996) |\\\n| **10 Hz GPS puck (RaceBox, VBOX)** | Speed, position, G-force | ~€100-200 | Universal — works on any vehicle |\\\n| **CAN bus logger** | Full vehicle data bus | ~€200-500 | Modern cars, motorcycles |\\\n| **Phone GPS (1-10 Hz)** | Speed, position (lower accuracy) | Free | Entry-level, good enough for lap timing |\\\n\\\nFor real cars with OBD-II, we get **RPM, throttle position, brake (via OBD-II PID), speed** — much richer than karting. Combined with GPS puck for position, this enables full coaching analysis on track days.\\\n\\\n---\\\n\\\n## Sim Testing with Karts (PCARS / AC Kart Mods)\\\n\\\nFor demo videos and sales material, sim karting is the fastest path:\\\n\\\n| Sim | Karts Available | Feed | Data Quality |\\\n|---|---|---|---|\\\n| **Project CARS 1/2** | Built-in karts (no mod needed) | PCARS UDP :5606 (already implemented) | Good — speed, RPM, inputs, position |\\\n| **Assetto Corsa + kart mod** | Community kart mods | Telemetry Tool :10101 or KSUDP :9996 | Best — richest fields, per-wheel data |\\\n\\\n**For customer demos:** PCARS karts are the easiest showcase — no mods, built-in content, our PCARS parser already works. Record a session, complete it, show the coaching report. The venue sees exactly what their drivers would get.\\\n\\\n**For technical validation:** AC kart mods give the richest telemetry data (60 Hz, per-wheel slip, steering, G-forces). Better for validating the analysis pipeline.\\\n\\\n---\\\n\\\n*Created: 2026-06-25. Updated: 2026-06-30 — added IMU basics, VBOX Sport, Aim Solo 2 warning, football vest rejection rationale, full DIY PoC build with ESP32/BNO085/AS5601/ADS1115, sim kart testing options.*\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":12666}]"
metadata_diff: {"new":{"id":"75762cc5757e4b7382af9f1a9b7673ee","parent_id":"0e8e00b432a840628faa4df5bc2068bc","latitude":"0.00000000","longitude":"0.00000000","altitude":"0.0000","author":"","source_url":"","is_todo":0,"todo_due":0,"todo_completed":0,"source":"joplin-desktop","source_application":"net.cozic.joplin-desktop","application_data":"","order":1782383252815,"markup_language":1,"is_shared":0,"share_id":"","conflict_original_id":"","master_key_id":"","user_data":"","deleted_time":0},"deleted":[]}
encryption_cipher_text: 
encryption_applied: 0
updated_time: 2026-06-30T05:57:45.270Z
created_time: 2026-06-30T05:57:45.270Z
type_: 13