FCTuner – A Modern Apexi PowerFC Tuning Software
For years, tools like FCEdit and CoPilot have been some of the most important utilities available for the Apexi PowerFC platform. While both applications brought a huge amount of functionality to the community, they are also products of their time — older Windows dependencies, dated UI systems, limited extensibility, partial compatibility issues, and fragmented workflows between offline editing, live tuning, logging, and autotuning.
Over the last several months, I’ve been developing a new application called PowerFC Tuner with the goal of modernizing and consolidating many of those features into a single modern Windows-based tuning platform.
FCTuner is a modern Windows tuning and datalogging application for Apexi PowerFC ECUs, focused on making map editing, live monitoring, AFR-based correction, and calibration analysis easier to work with. Its current direction is especially centered on safe autotuning, high-quality sample collection, VE analysis, and understanding how fuel, ignition, load, AFR, knock, and VVTi interact.
This is still considered beta software with active development and testing, however most functionality is operational. The software still requires testing, validation, refinement, and ECU compatibility verification for each new feature that’s added.
- Read and write PowerFC .dat map files.
- Live monitor PowerFC sensor data over serial/COM.
- Edit Base Map, Injector Correction, Ignition, VVTi, and Target AFR maps.
- Display live Speed, RPM, Knock, AFR, load, TPS, temps, injector pulsewidth, and auxiliary inputs.
- Configurable AUX analog input monitoring with converted values and units.
- AFR-based fuel autotuning with Safe, Conservative, and Aggressive modes.
- High-resolution AFR sample collection beyond the standard 20×20 map grid.
- Weighted neighbor-cell sampling to reduce hard cell-boundary errors.
- Filtering, stability checks, dwell timing, and outlier rejection for cleaner fuel corrections.
- Session saving/loading for maps, autotune settings, VE settings, samples, and state.
- Logged Data views for samples, AFR, knock, AFR error, and proposed base map changes.
- VE Analysis tab for estimated airflow efficiency and sample confidence.
- VVTi analysis framework showing readiness, sample count, VE/AFR/knock impact, and revalidation needs.
- Map tracer support for live active-cell visibility while tuning.
- Lock/unlock map cells to prevent manual or autotune changes.
- Built-in Help/About menu with release/support links and PowerTune Assistant access.
LATEST RELEASE: PowerFCTuner
Current Version: V3.08
https://patricklipp.com
https://mytechliving.com
https://theculturedcar.com
Major Development Updates
FCTuner’s development can be grouped into three major release lines. Each line represents a shift in what the app is primarily meant to do: first becoming a usable PowerFC editor, then becoming an AFR logging/autotuning tool, and now becoming a broader calibration-analysis platform.
– `V1.xx` established the core PowerFC tuning application.
– `V2.xx` introduced AFR-based logging, sample collection, and fuel autotuning.
– `V3.xx` begins the VE and VVTi analysis phase, where FCTuner starts modeling how fuel, airflow efficiency, ignition, and cam timing interact.
**V1.xx – Core PowerFC Tuning Platform**
– Open, view, edit, and save PowerFC `.dat` map files.
– Read maps directly from the PowerFC over serial/COM.
– Write edited maps back to the PowerFC.
– Added main PFC Maps and Tuning workflows.
– Added working-map editing separate from the original loaded/read map.
– Added Base Map, Injector Correction, Ignition, VVTi, Target AFR, and related map views where available.
– Added raw table viewing for lower-level PowerFC data inspection.
– Added live monitor support for RPM, load, TPS, speed, temperatures, injector data, ignition, knock, voltage, and related channels.
– Added map tracer support to show the active RPM/load cell during live monitoring.
– Added auxiliary input configuration and analog AFR input support.
– Added WITE analog input handling for AN1-AN4.
– Added session/work folder structure for backups, working files, logs, maps, and settings.
– Added settings decoding and editing for many PowerFC setup pages.
– Added safety-focused UI improvements around COM port handling, settings writes, and map editing.
**V2.xx – AFR Logging And Fuel Autotuning**
– Introduced AFR-based logging tied to PowerFC RPM/load cells.
– Added Target AFR map support for fuel correction calculations.
– Added Logged Data views for sample count, logged AFR, knock, AFR difference, and proposed Base Map changes.
– Added fuel autotuning modes: Safe, Conservative, and Aggressive.
– Added stability gates for sample capture, including throttle, RPM, load, coolant temp, speed, and dwell checks.
– Added filtered AFR sample handling with outlier rejection.
– Added minimum sample requirements before corrections are considered usable.
– Added weighted AFR sampling across neighboring cells to reduce hard cell-boundary behavior.
– Added high-resolution AFR sample grid for more detailed sample capture than the standard 20×20 map grid.
– Added logic to clear samples from cells after map changes are written so old AFR data does not contaminate new corrections.
– Added map-cell lock/unlock support to prevent manual or autotune edits to protected cells.
– Added session persistence for autotune settings, TPS settings, target AFR maps, logged samples, and related state.
– Added startup prompt to reload the last session.
– Added live-write behavior focused on updating only the active/modified map instead of rewriting unrelated maps.
– Added UI performance improvements for logging, high-resolution sample views, and hidden analysis tabs.
**V3.xx – VE, VVTi, And Calibration Analysis**
– Introduces Estimated VE / Airflow Efficiency analysis.
– Adds Fuel-Derived VE calculation using injector pulsewidth, injector size, fuel density, AFR, displacement, and air density assumptions.
– Adds PowerFC Load-Derived VE Index for comparing airflow/load trends.
– Adds VE sample counts, confidence values, AFR averages, knock, ignition, VVTi, TPS, RPM, and load statistics by cell.
– Adds VE configuration for displacement, injector size/count, injector deadtime, fuel density, stoich AFR, barometric pressure, default air density, and IAT-based density.
– Adds calibrated VE reference support for scaling PowerFC load-derived values into approximate VE percentage.
– Adds VE notes and warnings clarifying that the feature is an estimated airflow-efficiency tool, not dyno-verified physical VE.
– Adds VVTi Analysis as a suggestion-only calibration layer.
– Adds calibration relationship modeling between VVTi, VE, Base Map fueling, and ignition timing.
– Adds readiness tracking for fuel, ignition, VE, and VVTi analysis.
– Adds stale/revalidation flags when VVTi changes may require VE, fuel, or ignition to be retested.
– Adds VVTi views for suggested direction, readiness, VE gain/average VE, AFR impact, knock impact, confidence, sample count, current VVTi, and revalidation needs.
– Establishes the tuning model: fuel first, ignition second, VE analyzed continuously, VVTi optimized only after fuel and ignition are stable.
– Lays groundwork for future VVTi test mode, guided calibration workflows, and deeper airflow/pressure-based analysis.
https://patricklipp.com
https://mytechliving.com
https://theculturedcar.com
**FCTuner Development Details**
FCTuner is being developed as a modern Windows tuning, logging, and calibration-analysis tool for Apexi PowerFC ECUs. The project has evolved through three major development lines: core PowerFC map editing, AFR-based logging/autotuning, and now VE/VVTi calibration analysis.
**V1.xx - Core PowerFC Interface And Map Editing**
The V1 line established the foundation of the application: connecting to the PowerFC, decoding map data, editing calibration tables, and preserving repeatable tuning sessions.
Major technical additions:
- PowerFC `.dat` parsing and serialization.
- Direct PowerFC map reads over serial/COM.
- PowerFC map writes back to the ECU.
- Separation between original/read maps and editable working maps.
- Base Map viewing and editing.
- Injector Correction map viewing and editing.
- Primary Ignition map viewing and editing.
- Secondary ignition support where available.
- VVTi map viewing and editing where supported by the ECU/profile.
- Target AFR map support as a user-defined tuning aid.
- Raw table viewer for inspecting decoded table payloads.
- Session folder structure for:
- backups
- working maps
- sessions
- logs
- settings
- Live monitor decoding for core PowerFC runtime values:
- RPM
- load
- throttle position
- vehicle speed
- coolant temperature
- intake temperature
- injector pulsewidth
- ignition timing
- knock
- battery/checksum data
- Map tracer support using live RPM/load to highlight the active 20x20 cell.
- Auxiliary analog input configuration.
- WITE AN1-AN4 analog input support.
- Configurable AUX input names, units, scaling, and converted values.
- ECU/settings table decoding for multiple configuration pages.
- Function Select handling and related PowerFC feature toggles.
- Safer COM port handoff between monitoring and popup setting windows.
- App-level unit preferences for temperature and speed display.
- Cell editing controls, including increment/decrement behavior.
- Per-cell lock/unlock support to prevent accidental manual or autotune changes.
The V1 line was primarily about making FCTuner a usable PowerFC editor and monitor rather than only a file viewer.
**V2.xx - AFR Logging, Sample Handling, And Fuel Autotuning**
The V2 line introduced AFR-based tuning logic. This moved FCTuner from manual map editing into assisted fuel correction using live AFR data, target AFR data, and PowerFC operating state.
Core technical concepts:
- AFR samples are tied to the active RPM/load region.
- Target AFR is used as the correction reference.
- Fuel correction is calculated from:
```text
FuelCorrectionRatio = LoggedAFR / TargetAFR
```
- If logged AFR is leaner than target, fuel is increased.
- If logged AFR is richer than target, fuel is decreased.
- Base Map changes account for Injector Correction so the two fueling layers are not treated as isolated.
Main V2 features:
- Logged AFR table.
- Logged Knock table.
- Sample Count table.
- AFR Difference view.
- Proposed Base Map Changes view.
- Copy calculated changes to the working Base Map.
- Safe, Conservative, and Aggressive autotune modes.
- Configurable minimum sample requirements.
- Configurable minimum water temperature, throttle, and speed gates.
- TPS calibration for throttle-based sample validation.
- Session persistence for:
- target AFR map
- autotune settings
- TPS calibration
- logged AFR data
- sample counts
- high-resolution sample data
- VE settings and analysis state
- Startup prompt to reload the last session.
- Automatic sample cleanup for cells after map changes are written.
- O2 feedback handling safeguards during autotune sessions.
- Live-write flow intended to update only the relevant map being tuned.
Sample quality improvements:
- Minimum cell dwell before accepting samples.
- Minimum accepted-sample interval.
- TPS rate-of-change rejection.
- RPM rate-of-change rejection.
- Load rate-of-change rejection.
- Coolant temperature gate.
- Throttle threshold gate.
- Knock threshold rejection.
- AFR validity range checks.
- Outlier rejection against median AFR error.
- Maximum stored sample count per cell.
- Filtered average / median-style behavior for safer correction decisions.
High-resolution AFR sampling:
Instead of relying only on the normal 20x20 PowerFC map grid, V2 introduced an internal high-resolution AFR sample grid.
Purpose:
- Reduce hard boundary effects when the active load/RPM point falls between cells.
- Preserve more detail about where samples were collected.
- Improve proposed fuel corrections by weighting nearby cells.
Technical behavior:
- The internal AFR grid is larger than the visible 20x20 tuning map.
- Samples are collected into higher-resolution RPM/load bins.
- Samples are projected back into neighboring 20x20 cells using weighted contribution.
- Very low neighbor weights are ignored.
- The normal Logged Data page still shows the 20x20 tuning-facing result.
- A separate High Resolution AFR Samples viewer exposes the detailed sample grid.
V2 was primarily the AFR logging and fuel autotuning generation.
**V3.xx - VE, VVTi, And Calibration Relationship Modeling**
The V3 line begins the broader calibration-analysis phase. The goal is for FCTuner to understand that fuel, airflow efficiency, ignition timing, and VVTi are connected systems rather than isolated maps.
The core calibration model is:
```text
VVTi changes airflow behavior
↓
VE / airflow efficiency changes
↓
Fuel requirement changes
↓
Base Map may need correction
↓
Cylinder pressure and combustion behavior change
↓
Ignition timing may need revalidation
```
V3 introduces the idea that:
- VE is the measurement layer.
- VVTi is an airflow-control layer.
- Base Map is the fuel correction layer.
- Ignition is the combustion safety and efficiency layer.
**Estimated VE / Airflow Efficiency**
The VE Analysis tab is intentionally labeled as estimated airflow efficiency, not true dyno-verified volumetric efficiency.
Fuel-Derived VE uses:
- RPM
- load
- injector pulsewidth
- injector deadtime
- injector size
- injector count
- fuel density
- measured AFR
- displacement
- air density
- IAT when available
- barometric pressure when configured
Basic four-stroke theoretical airflow model:
```text
theoreticalVolumeFlow_Lps =
(rpm / 2) * displacementLiters / 60
theoreticalAirMass_gps =
theoreticalVolumeFlow_Lps * airDensity_g_per_L
VE_percent =
actualAirMass_gps / theoreticalAirMass_gps * 100
```
Fuel-derived actual air mass estimate:
```text
effectivePwMs = pulseWidthMs - injectorDeadtimeMs
cycleTimeMs = 120000 / rpm
dutyCycle = effectivePwMs / cycleTimeMs
injectorGpsEach =
injectorCcMin * fuelDensityGPerCc / 60
fuelMassGps =
injectorGpsEach * injectorCount * dutyCycle
estimatedAirMassGps =
fuelMassGps * measuredAfr
```
Then:
```text
fuelDerivedVePercent =
estimatedAirMassGps / theoreticalAirMassGps * 100
```
VE configuration includes:
- displacement liters
- injector size cc/min
- injector count
- injector deadtime ms
- fuel density g/cc
- stoich AFR
- barometric pressure kPa
- default air density g/L
- use IAT for density
- use calibrated VE reference
- reference VE %
- reference load
- reference correction
- reference displacement
Fuel density examples included in the UI:
- gasoline: about `0.745 g/cc`
- methanol: about `0.792 g/cc`
- ethanol: about `0.789 g/cc`
- E85: about `0.780 g/cc`
- diesel: about `0.832 g/cc`
**PowerFC Load-Derived VE Index**
V3 also adds a PowerFC load-derived airflow-efficiency index.
Based on the known L-Jetro style relationship:
```text
LOAD = CORRECTION * (16384 * AirflowLookup / RPM)
```
The simplified trend index is:
```text
loadDerivedVeIndex =
LOAD / CORRECTION / displacementLiters
```
If airflow correction is unavailable:
```text
correction = 1.0
```
This lowers confidence but still allows trend comparison.
The optional estimated airflow lookup helper is:
```text
airflowLookup =
LOAD * RPM / (16384 * CORRECTION)
```
**Calibrated PowerFC VE**
The calibrated VE view scales the PowerFC load-derived index against a known or assumed reference point.
Concept:
```text
currentIndex =
currentLoad / currentCorrection / currentDisplacement
referenceIndex =
referenceLoad / referenceCorrection / referenceDisplacement
scale =
referenceVEPercent / referenceIndex
calibratedVE =
currentIndex * scale
```
This does not make it true measured VE, but it can make the PowerFC load-derived data more human-readable.
**VE Sample And Cell Statistics**
Each VE sample tracks data such as:
- timestamp
- RPM
- load
- row index
- column index
- injector pulsewidth
- injector deadtime
- effective pulsewidth
- measured AFR
- lambda
- IAT
- coolant temperature
- TPS
- knock
- ignition timing
- VVTi value
- airflow correction
- fuel-derived VE
- load-derived VE index
- calibrated VE
- confidence
- rejection reason
Each VE cell aggregates:
- sample count
- average fuel-derived VE
- min/max fuel-derived VE
- average load-derived VE index
- average calibrated VE
- average AFR
- average AFR error
- max knock
- average ignition
- average VVTi
- average TPS
- average RPM
- average load
- confidence
- variance data
The VE grid can display:
- Fuel-Derived VE %
- Load-Derived VE Index
- Sample Count
The groundwork exists for future views such as:
- calibrated VE %
- confidence
- AFR error
- knock overlay
- VVTi overlay
- ignition overlay
- VE difference
**VVTi Analysis**
V3 introduces VVTi Analysis as a suggestion-only system.
The first implementation does not automatically write VVTi changes. Instead, it analyzes how VVTi relates to:
- VE
- AFR error
- knock
- ignition timing
- sample count
- confidence
- fuel readiness
- ignition readiness
- revalidation state
VVTi Analysis views include:
- Suggested Direction
- Readiness
- VE Gain / Avg VE
- AFR Impact
- Knock Impact
- Confidence
- Needs Revalidation
- Sample Count
- Current VVTi
Suggested direction can be:
```text
Insufficient Data
Hold
Advance
Retard
```
The initial logic is intentionally conservative. Low knock does not automatically mean timing or VVTi should be advanced. A VVTi suggestion requires useful VE data, stable fueling, acceptable ignition/knock behavior, and enough sample confidence.
**Calibration Readiness**
V3 adds per-cell calibration readiness concepts.
Fuel readiness depends on:
- target AFR exists
- logged AFR is valid
- AFR error is within threshold
- sample count is sufficient
- operating conditions are stable
- cell is not stale due to VVTi change
Ignition readiness depends on:
- fuel readiness
- knock below threshold
- AFR stability
- sufficient samples
- no active stale flag due to VVTi change
VE readiness depends on:
- VE samples exist
- confidence is acceptable
- VE data is not stale from a VVTi change
VVTi readiness depends on:
- fuel readiness
- ignition readiness
- VE readiness
- known current VVTi value
- repeatable sample data
**Revalidation Flags**
When VVTi changes, FCTuner marks related calibration data as needing review.
Per-cell flags include:
- FuelValidated
- IgnitionValidated
- VeValidated
- VvtiValidated
- FuelStaleDueToVvtiChange
- IgnitionStaleDueToVvtiChange
- VeStaleDueToVvtiChange
- NeedsRetest
The dependency chain is:
```text
VVTi changed
→ VE must be recalculated/relogged
→ AFR behavior may change
→ Base Map may require correction
→ Knock behavior may change
→ Ignition may require revalidation
```
This is important because a VVTi change that improves airflow may make AFR leaner. FCTuner should not treat that as a bad VVTi change automatically. Instead, it should flag the Base Map for fuel revalidation.
Likewise, if VVTi improves VE but knock increases, FCTuner should not immediately reject the VVTi result unless knock is severe. It should flag ignition for revalidation.
**Intended Calibration Workflow**
The current tuning model is:
```text
1. Tune Fueling
2. Validate Fueling
3. Tune Ignition
4. Validate Ignition
5. Analyze VE
6. Test VVTi Changes
7. Recalculate VE
8. Revalidate Fueling
9. Revalidate Ignition
10. Repeat as needed
```
This is the important shift in V3: FCTuner is no longer just changing individual maps. It is beginning to track the relationships between maps and operating behavior.
**Performance And UI Improvements**
As the app grew more complex, recent builds added UI performance improvements:
- Deferred refresh of hidden Logged Data, VE, and VVTi tabs.
- Refresh-on-tab-activation behavior for stale analysis views.
- Read-only high-resolution AFR sample view.
- In-place updates for the high-resolution AFR table.
- Reduced full-grid rebuilds during live logging.
- Virtualization enabled on heavier analysis grids.
- Sorting disabled on large analysis grids to reduce UI overhead.
- Throttled calibration-state updates during active sampling.
These changes help keep live monitoring and autotuning responsive while still allowing detailed analysis views.
**Current Technical Direction**
The current V3 development direction is to make FCTuner a calibration assistant that understands relationships:
```text
AFR error informs Base Map correction.
Base Map correction changes fuel delivery.
VE analysis estimates airflow-efficiency behavior.
VVTi changes airflow behavior.
Airflow changes can alter AFR and knock.
Ignition must be revalidated after airflow changes.
```
Future expansion paths include:
- VVTi test mode.
- Baseline vs test comparison.
- Suggested VVTi delta maps.
- Guided VVTi tuning workflow.
- MAP/pressure-assisted VE analysis.
- Better D-Jetro/L-Jetro model separation.
- Ignition efficiency overlays.
- Knock trend analysis.
- VE smoothing and anomaly detection.
- Axis optimization suggestions.
- Exportable calibration reports.
https://patricklipp.com
https://mytechliving.com
https://theculturedcar.com
Latest Post: Amateur Armrests Our newest member: Mr2SilverWing Recent Posts Unread Posts Tags
Forum Icons: Forum contains no unread posts Forum contains unread posts
Topic Icons: Not Replied Replied Active Hot Sticky Unapproved Solved Private Closed
