6.3 KiB
6.3 KiB
ESP32-S3 CAN FD Logger - Hardware Test Checklist
Pre-Test Checklist
1. Hardware Connections
- ESP32-S3-WROOM-1-N16R8 properly seated
- MCP2518FD CAN FD Controller connected via HSPI
- MISO (GPIO13)
- MOSI (GPIO11)
- SCLK (GPIO12)
- CS (GPIO10)
- INT (GPIO3)
- STBY connected to GND
- SD Card connected via SDIO 4-bit mode
- CLK (GPIO39)
- CMD (GPIO38)
- D0 (GPIO40)
- D1 (GPIO41)
- D2 (GPIO42)
- D3 (GPIO21)
- DS3231 RTC connected via I2C
- SDA (GPIO8)
- SCL (GPIO9)
- CAN Bus termination (120Ω) at both ends
- Power supply stable (5V, sufficient current)
2. Arduino IDE Settings
Board: ESP32S3 Dev Module
USB CDC On Boot: Enabled
CPU Frequency: 240MHz
Flash Mode: QIO 80MHz
Flash Size: 16MB (128Mb)
Partition Scheme: 16M Flash (3MB APP/9.9MB FAT)
PSRAM: OPI PSRAM
Upload Speed: 921600
3. Required Libraries
- ACAN2517FD (Pierre Molinaro) - v1.1.0+
- RTClib (Adafruit)
- ArduinoJson - v6.x
- WebSocketsServer (Links2004)
Test Procedures
Test 1: Basic Power-On Test
- Connect USB-C cable
- Open Serial Monitor (115200 baud)
- Verify boot messages:
================================ ESP32-S3 CAN FD Logger Version 2.0 - PSRAM Optimized ================================ PSRAM found: 8 MB [PSRAM] Allocated XXXXX bytes for XXXX frames SD Card mounted successfully! CAN FD initialized successfully! System ready!
Pass Criteria: All initialization messages appear without errors
Test 2: WiFi AP Mode Test
- After boot, check WiFi networks on phone/PC
- Connect to
ESP32-CANLogger(open, no password) - Open browser:
http://192.168.4.1 - Verify dashboard loads
Pass Criteria:
- AP visible in WiFi list
- Connection successful
- Web page loads
Test 3: CAN FD Loopback Test
- Navigate to
/testpage - Set Frame Count: 1000
- Set Interval: 1000μs
- Click "Start Loopback Test"
- Wait for completion
Pass Criteria:
- Frames Sent = Frames Received
- Frames Lost = 0
- Loss Rate = 0%
- Result = PASS
Test 4: CAN FD Stress Test
- Navigate to
/testpage - Set Frame Count: 5000
- Set Data Length: 64 bytes
- Set CAN FD Mode: CAN FD
- Click "Start Stress Test"
Pass Criteria:
- Frame Rate > 1000 fps
- Loss Rate < 0.1%
- Result = PASS
Test 5: SD Card Logging Test
- Navigate to dashboard (
/) - Click "Start Logging"
- Generate CAN traffic (use CAN FD TX or external source)
- Wait 10+ seconds
- Click "Stop Logging"
- Navigate to
/files - Download the .pcap file
- Open in Wireshark
Pass Criteria:
- Log file created
- File size > 0
- Wireshark can parse file
- Frames have correct timestamps
Test 6: Real-time Graph Test
- Navigate to
/graph - If no signals defined:
- Go to
/settings - Add manual signal: ID=0x100, StartBit=0, Length=16
- Go to
- Generate CAN traffic with ID 0x100
- Verify graph updates
Pass Criteria:
- Signal appears in list
- Graph shows data
- Updates in real-time (< 500ms latency)
Test 7: DS3231 RTC Test
- Navigate to
/settings - Click "Sync Time from Device"
- Verify current time updates
- Power cycle device
- Check time is preserved
Pass Criteria:
- Time sync successful
- Time preserved after power cycle
Test 8: CAN FD External Communication Test
Prerequisites: External CAN FD device or analyzer
- Connect CAN H/L to external device
- Set CAN mode to Normal (not Loopback)
- Set baudrate to match external device
- Send frames from external device
- Verify frames appear in log
- Send frames from ESP32
- Verify frames received on external device
Pass Criteria:
- Bidirectional communication works
- No frame corruption
- Timing within expected range
Test 9: Memory Stress Test
- Navigate to
/api/memory - Record initial memory values
- Run stress test (10,000 frames)
- Check memory again
- Run for extended period (5+ minutes)
Pass Criteria:
- No memory leaks (free memory stable)
- PSRAM usage reasonable
- System doesn't crash
Test 10: WiFi Stability Test
- Connect to AP
- Open 3 browser tabs with different pages
- Run loopback test
- Keep websockets connected
- Monitor for 5+ minutes
Pass Criteria:
- No disconnections
- All pages responsive
- WebSocket still connected
Performance Benchmarks
Expected Performance (ESP32-S3 @ 240MHz)
| Metric | Target | Notes |
|---|---|---|
| CAN FD RX Rate | > 5000 fps | With logging |
| CAN FD TX Rate | > 3000 fps | No logging |
| SD Write Speed | > 1 MB/s | SDIO 4-bit |
| WebSocket Latency | < 200 ms | 10 signals |
| PSRAM Buffer | 6000+ frames | Overflow protection |
| Heap Available | > 100 KB | During operation |
Troubleshooting
CAN FD Not Initializing
- Check SPI connections
- Verify crystal oscillator (40MHz)
- Check CS and INT pins
- Verify MCP2518FD power supply
SD Card Mount Failed
- Check SDIO connections
- Try different SD card
- Verify card is FAT32 formatted
- Check card speed class (Class 10 recommended)
WiFi Not Connecting
- Check antenna (if external)
- Verify no 2.4GHz interference
- Check power supply (WiFi requires peak current)
Frame Loss Detected
- Check CAN bus termination
- Verify baudrate match
- Check for bus errors
- Monitor CPU load via
/api/memory
Memory Leaks
- Check for proper task stack sizes
- Verify PSRAM allocation
- Monitor heap over time
Test Log Template
Date: ________________
Tester: ________________
Hardware Version: ________________
Firmware Version: ________________
Test 1: Power-On [ ] PASS [ ] FAIL Notes: ________________
Test 2: WiFi AP [ ] PASS [ ] FAIL Notes: ________________
Test 3: Loopback [ ] PASS [ ] FAIL Notes: ________________
Test 4: Stress [ ] PASS [ ] FAIL Notes: ________________
Test 5: SD Logging [ ] PASS [ ] FAIL Notes: ________________
Test 6: Graph [ ] PASS [ ] FAIL Notes: ________________
Test 7: RTC [ ] PASS [ ] FAIL Notes: ________________
Test 8: External CAN [ ] PASS [ ] FAIL Notes: ________________
Test 9: Memory [ ] PASS [ ] FAIL Notes: ________________
Test 10: WiFi Stable [ ] PASS [ ] FAIL Notes: ________________
Overall Result: [ ] PASS [ ] FAIL
Signature: ________________