Files
canFD_esp32_glm-oh-my-open-/HARDWARE_TEST.md
2026-02-20 17:50:40 +00:00

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

  1. Connect USB-C cable
  2. Open Serial Monitor (115200 baud)
  3. 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

  1. After boot, check WiFi networks on phone/PC
  2. Connect to ESP32-CANLogger (open, no password)
  3. Open browser: http://192.168.4.1
  4. Verify dashboard loads

Pass Criteria:

  • AP visible in WiFi list
  • Connection successful
  • Web page loads

Test 3: CAN FD Loopback Test

  1. Navigate to /test page
  2. Set Frame Count: 1000
  3. Set Interval: 1000μs
  4. Click "Start Loopback Test"
  5. Wait for completion

Pass Criteria:

  • Frames Sent = Frames Received
  • Frames Lost = 0
  • Loss Rate = 0%
  • Result = PASS

Test 4: CAN FD Stress Test

  1. Navigate to /test page
  2. Set Frame Count: 5000
  3. Set Data Length: 64 bytes
  4. Set CAN FD Mode: CAN FD
  5. Click "Start Stress Test"

Pass Criteria:

  • Frame Rate > 1000 fps
  • Loss Rate < 0.1%
  • Result = PASS

Test 5: SD Card Logging Test

  1. Navigate to dashboard (/)
  2. Click "Start Logging"
  3. Generate CAN traffic (use CAN FD TX or external source)
  4. Wait 10+ seconds
  5. Click "Stop Logging"
  6. Navigate to /files
  7. Download the .pcap file
  8. 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

  1. Navigate to /graph
  2. If no signals defined:
    • Go to /settings
    • Add manual signal: ID=0x100, StartBit=0, Length=16
  3. Generate CAN traffic with ID 0x100
  4. Verify graph updates

Pass Criteria:

  • Signal appears in list
  • Graph shows data
  • Updates in real-time (< 500ms latency)

Test 7: DS3231 RTC Test

  1. Navigate to /settings
  2. Click "Sync Time from Device"
  3. Verify current time updates
  4. Power cycle device
  5. 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

  1. Connect CAN H/L to external device
  2. Set CAN mode to Normal (not Loopback)
  3. Set baudrate to match external device
  4. Send frames from external device
  5. Verify frames appear in log
  6. Send frames from ESP32
  7. Verify frames received on external device

Pass Criteria:

  • Bidirectional communication works
  • No frame corruption
  • Timing within expected range

Test 9: Memory Stress Test

  1. Navigate to /api/memory
  2. Record initial memory values
  3. Run stress test (10,000 frames)
  4. Check memory again
  5. 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

  1. Connect to AP
  2. Open 3 browser tabs with different pages
  3. Run loopback test
  4. Keep websockets connected
  5. 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: ________________