Erreichte Ziele
✅ ESP-NOW Kommunikation
Zuverlässige drahtlose Verbindung
- Discovery & Pairing funktional
- Checksums für Integrität
- Timeout/Retry implementiert
✅ SD-Logging
Datenerfassung für ML-Training
- Binary Format mit Header
- Session-Management
- BNO + ADC Daten
- Python Parser validiert
✅ Display UI
Benutzeroberfläche auf TFT
- Pairing-Screen
- Status-Anzeige
- Ergebnis-Darstellung
- Touch + Joystick + 2 Buttons
✅ Digit Recognition
Ziffern 0-9 können erkannt werden
- CNN-Modell trainiert
- TFLite auf ESP32 integriert
- Accuracy: >90%
- Inferenz: <50ms
Umgesetzte Funktionen
| Funktion | Status | Beschreibung |
|---|---|---|
| HAT-Detection | ✓ Fertig | EEPROM-basierte Erkennung welches HAT angesteckt ist |
| State Machine Framework | ✓ Fertig | Polymorphe State Machines pro HAT-Typ |
| BNO085 Integration | ✓ Fertig | 9-Achsen IMU über SPI, 25 Hz Sampling |
| ESP-NOW Protocol | ✓ Fertig | EspSafeProtocol mit Discovery, Pairing, Data Transfer |
| ML Training Pipeline | ✓ Fertig | Python Scripts: Parse, Preprocess, Augment, Train, Export |
| TFLite Integration | ✓ Fertig | CNN-Modell auf ESP32 mit ~56KB Tensor Arena |
| Display Rendering | ✓ Fertig | ILI9341 TFT mit UI-Elementen |
| Touch + Joystick + 2 Buttons | ✓ Fertig | FT6206 Touch + TCA9534A I/O Expander |
| MAX1415 Integration | ◐ In Arbeit | Dual-Channel 16-bit ADC für Wheatstone-Brücke |
| ADS1261 Integration | ◐ Stubs | 24-bit ADC nur als Treiber vorhanden, nicht aktiv |
| Stationary Workflow | ◐ Stubs | State Machine implementiert, aber keine aktive Messung |
ML-Modell Performance
Training Metrics
| Metrik | Wert |
|---|---|
| Training Accuracy | ~95% |
| Validation Accuracy | ~92% |
| Test Accuracy | ~90% |
| Model Size (TFLite) | ~240 KB |
| Tensor Arena | ~56 KB |
| Inference Time | <50 ms |
Datensatz
- 11 Klassen (Ziffern 0-9 + Garbage)
- Mehrere Probanden
- Augmentation: Noise, Scaling, Time-Warp
- Train/Val/Test: 70%/15%/15%
📏 Durchgeführtes Debugging
- SPI Timing: Logic Analyzer Captures für BNO085 und MAX1415
- I2C Bus Scan: Alle erwarteten Devices gefunden (EEPROM 0x50, Touch 0x38, Expander 0x3F)