JPI Engine Monitors¶
JP Instruments (JPI) makes a popular line of engine analyzers — EDM 700, EDM 800, EDM 830, EDM 900, EDM 930. AZSuite parses their proprietary binary data dump format and renders per-flight charts.
Supported models¶
| Model | Status |
|---|---|
| EDM 700 / 711 | ✅ |
| EDM 730 / 740 | ✅ |
| EDM 760 / 790 | ✅ |
| EDM 800 / 830 | ✅ |
| EDM 900 / 930 | ✅ (the 930 is the most-tested) |
| EDM 960 / 960C | ✅ |
| EDM 1000 (panel-mount certified) | ✅ |
If you have a JPI not listed, try uploading anyway — most use the same underlying file format, just with different sensor counts.
How to get the data off the unit¶
JPI units expose their flight data via a serial / USB connection. The official tool is EzTrends (Windows) — JPI's free download from jpinstruments.com.
Process:
- Connect EDM to laptop via the JPI USB adapter (or whatever your model uses)
- Open EzTrends
- Download All Flights (or pick specific flights)
- EzTrends saves a binary file — typically named
JPI_NNNNNN.dator*.JPI - Upload that file to AZSuite
Uploading to AZSuite¶
- Engine Monitor tile (web)
- Pick the aircraft
- Drop the JPI file onto the upload zone
- AZSuite parses each flight in the file (a single dump may contain dozens)
- Each parsed flight becomes a row in the
engine_monitor_datatable
You can also upload via the mobile app's mechanic-time-tracking flow if you're at the aircraft.
What gets parsed¶
The parser extracts:
- Per-cylinder CHT (cylinder head temperature)
- Per-cylinder EGT (exhaust gas temperature)
- Fuel flow (gallons per hour) — when the FF instrumentation is installed
- Oil temperature
- Oil pressure
- RPM
- Manifold pressure (turbo-supercharged engines)
- TIT (turbine inlet temperature) — turbo engines
- OAT (outside air temperature) — when sensor installed
- Voltage
- Fuel quantity — when fuel-level senders are wired in
- Carb temp / induction temp — when sensor installed
Sample rate is 1 / second on most flights, 6 / second when the EDM is in high-speed mode (typically active during runup and immediately after takeoff).
Per-flight detection¶
A single JPI dump file can hold many flights. The parser auto-segments by:
- Engine on / off transitions (RPM crosses ~600 from below)
- Long idle periods (engine running but stationary > 60 sec)
- The unit's own per-flight markers (if present)
Each segment becomes a separate row in adsb_flights (despite the name —
that table holds all track sources, not just ADS-B) with track_source =
'engine_monitor_gps'.
Linking to the pilot logbook¶
If you've logged a pilot logbook entry for the same flight, AZSuite tries to auto-match by date / aircraft / time. When it matches, the engine data becomes accessible from the logbook entry's detail page.
To manually link:
- Open the pilot logbook entry
- Engine data section
- Pick from the dropdown of unmatched engine flights for this aircraft
What the charts show¶
For each flight you'll see:
- Time series of every parsed metric, on a shared X axis
- Multi-cylinder traces stacked or overlaid (toggle in UI)
- Anomaly markers — places where the parser flagged something (lean misfire, stuck cylinder, fuel-flow drop, etc.)
- Peak / minimum tags — useful for runup and takeoff analysis
- Climb / cruise / descent segmentation — derived from altitude and airspeed if a track is also attached
Anomaly detection¶
The parser flags:
- Lean misfire — large EGT drop on one cylinder while others stay stable, often during leaning
- Stuck cylinder — CHT or EGT trace flat-lines while engine RPM is changing (typically a failed thermocouple, not a real engine problem)
- Fuel-flow anomaly — sudden drop or spike not explained by throttle position
- Oil pressure trend — gradual decline over multiple flights
- CHT exceedance — any cylinder exceeding the configured per-engine limit
Anomalies surface in the aircraft squawks list as "detected" entries — you can promote them to real squawks or dismiss them.
Per-engine thresholds¶
The thresholds for "exceedance" alerts are configurable per engine model
in the admin UI (admin_oil_analysis_thresholds.php is the related screen
— same idea applies to engine monitor thresholds).
Common configurations ship out of the box:
- Lycoming O-360: max CHT 460°F (Lycoming spec is 500°F but most operators set lower)
- Continental O-470: max CHT 460°F
- Rotax 912: max CHT 135°C / 275°F
Reparsing after a parser fix¶
Same pattern as ForeFlight tracks — the original JPI dump file is preserved
in object storage. If the parser improves, run reparse_track.php to
re-process without re-uploading.