Robustness to different loads
- Split your data by load type, not by random samples. Hold out entire load types (dimmers, switch-mode power supplies, drills, vacuums, LED drivers) for testing. A random split will badly overestimate your accuracy.
- Use features that compare one cycle to the previous one. Arcs are random; normal loads repeat every cycle. Features like differences between consecutive half-cycles and normalized spectral energy carry over to new loads much better than raw amplitude does.
- Augment by adding currents together. Parallel load currents roughly sum, so you can combine recorded arc current with other load currents to simulate masking. Validate this on real combined recordings, since it’s only an approximation.
- Don’t trip on a single window. Require N flagged half-cycles within a time window, the way the standards are written. This cuts false trips a lot.
Deployment path
Compute hand-crafted features per half-cycle in fixed point, then run a small model: shallow gradient-boosted trees (export them to C with emlearn or m2cgen) or a tiny int8 MLP. Get that working before you try a 1D-CNN. On this chip, your feature extraction will cost more compute than the model itself.