This page is part of the ONYX Performance Guide
This guide explains how to calibrate a FarDriver JAWS MODE setup on an ONYX RCR using a repeatable, real-world process.
JAWS MODE is not a max-power preset. It is a structured calibration system designed for repeatable, stable, real-world performance.
This article starts with the simplest and most important calibration steps first, then moves into more advanced validation later. The goal is to make the process easier to enter, easier to follow, and more useful when the tuning becomes more advanced.
Some adjustment strategies in this guide, including the WO_MaxRPM minus 200 RPM method for LimitSpeed, are empirical and not part of official FarDriver documentation. They are included because they consistently produce stable and predictable results on ONYX builds.
JAWS MODE Workflow
Performance Build -> Wiring -> AutoLearn -> Tuning -> AI Assistant -> Parameters -> Calibration
Scope of This Calibration
This process assumes:
- correct wiring
- valid AutoLearn result
- stable baseline configuration
This process does not:
- replace proper wiring or hardware validation
- guarantee maximum performance without proper tuning
- apply universally to all motors, batteries, or controller setups
Minimum Calibration Path
If you want the shortest safe path through this guide, do these first:
- validate AutoLearn
- verify throttle voltage and scaling
- set LimitSpeed correctly
- perform launch and low-speed testing
- perform one full throttle load test
- confirm thermal behavior stays manageable
Everything after that improves refinement, repeatability, and confidence.
Solo vs Assisted Calibration
Everything in this guide can be completed solo.
Assisted methods improve measurement accuracy, repeatability, and comparison quality, but they are optional.
Use this distinction throughout the article:
- Solo = tuning correctness
- Assisted Optional = measurement precision, video review, timing help, and comparison quality
A second person is never required to calibrate the bike correctly.
Shared Calibration Mindset
Structured logging makes calibration more useful.
Repeatable conditions make results more trustworthy.
Shared data can help ONYX owners compare patterns across builds, but comparing settings without system context is misleading.
When sharing results, measured behavior matters more than copied parameter values.
JAWS MODE Identity
A correct JAWS MODE calibration should produce:
- stable throttle behavior
- predictable launch and mid-range response
- controlled top-end behavior
- manageable temperatures
- repeatable results across multiple runs
This guide is designed to produce repeatable, stable, real-world performance, not peak one-run results.
FarDriver Parameter Ground Truth
These definitions matter because many tuning mistakes come from changing the wrong parameter first.
- MaxPhaseCurr primarily affects available torque, especially from launch through the lower and mid speed range
- MaxLineCurr primarily affects battery current draw and total power delivery under load
- Throttle Low / Throttle High define the usable throttle voltage window
- Throttle Acc Step / Dec Step define how aggressively input changes are applied
- WeakCurrCoeff and related field weakening parameters affect high speed extension, heat, and stability
- StartKI / StartKP / MidKI / MidKP / SpeedKI / SpeedKP influence control response and smoothness, not just “more power”
For ONYX calibration, always stabilize:
- throttle signal and scaling
- baseline current limits
- launch and mid-range behavior
- high-speed behavior
- regen and edge-case refinement
Throttle Voltage Reference
Typical hall throttle behavior is usually observed in these ranges:
- idle: approximately 0.8V to 1.0V
- full throttle: approximately 4.1V to 4.3V
Typical setup logic:
- Throttle Low should usually sit slightly above idle voltage
- Throttle High should usually sit slightly below true full-throttle voltage
- sudden jumps, unstable readings, or clipped range should be treated as signal or calibration issues before riding tests continue
Use these numbers as reference points only. Always confirm the actual signal on the bike you are tuning.
Throttle Miscalibration Cutout Behavior (Critical Early Failure Mode)
Throttle miscalibration is one of the most common causes of early failure during initial setup.
It often appears immediately after AutoLearn and before proper calibration is completed.
Why This Happens
If Throttle Low and Throttle High do not correctly match the actual throttle signal:
- part of the throttle range becomes invalid
- the signal can fall outside the controller’s valid input window
- the controller misinterprets input position
- internal limits or protections may be triggered
This creates unstable or inconsistent behavior under load.
Real-World Symptoms
Throttle miscalibration commonly appears as:
- bike cuts out at specific throttle positions
- power drops suddenly under load
- inconsistent or jerky acceleration
- works at low throttle but fails at higher input
- no clear or persistent fault codes
Common Misdiagnosis
This behavior is frequently mistaken for:
- battery or BMS limitations
- controller faults
- wiring issues
Key Difference vs Battery Limitation
- Throttle issue → happens at specific throttle positions
- Battery issue → happens under high load regardless of position
Root Cause
Incorrect configuration of:
- Throttle Low
- Throttle High
These values must match the real voltage range of the throttle.
They are not tuning parameters.
Correct Approach
- measure or observe actual throttle voltage
- set Throttle Low slightly above idle voltage
- set Throttle High slightly below max voltage
- verify smooth response across full range
Calibration Rule
If throttle behavior is inconsistent:
- fix throttle scaling first
- do not adjust current, PID, or weakening parameters
Priority
This is a Critical Early Failure Mode.
It must be resolved before:
- load testing
- current tuning
- performance evaluation
Link to Detailed Setup
→ See ONYX Jaws Mode Calibration → Throttle Setup and Validation
Battery Behavior and Current Limits (Critical Power Limitation)
Battery performance directly limits how much power the system can deliver.
The controller does not create power — it requests it from the battery through MaxLineCurr.
If current demand exceeds battery or BMS capability, the system will cut power regardless of controller settings.
Why This Happens
MaxLineCurr defines total current draw from the battery.
If this value is set higher than the battery can safely supply:
- voltage will sag under load
- BMS protection may trigger
- output will shut down or reset
This is normal protective behavior.
Failure Modes
BMS Overcurrent Protection
- battery shuts off output instantly
- system loses power under heavy throttle
- power returns after throttle is released or system resets
Voltage Sag Cutoff
- voltage drops below LowVoltProtect under load
- controller reduces or cuts power
- feels like sudden power loss at high demand
Thermal Limiting (Battery or Wiring)
- sustained high current increases heat
- resistance increases → more voltage drop
- leads to earlier cutoff or instability
Real-World Symptoms
Battery limitation commonly appears as:
- bike cuts out at high throttle
- runs normally at low and mid throttle
- power returns after releasing throttle
- no persistent controller fault
- behavior worsens at lower battery charge
This is frequently misdiagnosed as:
- controller failure
- throttle issues
- bad tuning
Critical Relationship
- MaxLineCurr → battery load (total power)
- MaxPhaseCurr → motor torque (heat)
Increasing MaxLineCurr:
- increases power draw
- increases battery stress
- increases likelihood of BMS cutoff
Diagnostic Method
- Apply gradual throttle under load
- Observe behavior:
- smooth → stable system
- sudden cutoff → battery or BMS limit
- Repeat at different charge levels:
- worse at low voltage → confirms battery limitation
Correct Adjustment Strategy
- set MaxLineCurr within battery continuous capability
- increase incrementally
- monitor:
- voltage sag
- system stability
- connector temperature
Do not exceed what the battery can sustain.
What Not To Do
Do not attempt to fix battery limitations by:
- increasing Phase Current
- modifying throttle settings
- changing unrelated tuning parameters
These do not increase available battery power.
Calibration Rule
If the system cuts out under load:
- verify battery capability first
- reduce MaxLineCurr if necessary
- confirm stable operation before increasing again
Priority
This is a Critical Power Limitation.
If present, it must be resolved before:
- increasing performance
- applying aggressive tuning
- extended high-load operation
Ignoring this can result in:
- repeated BMS shutdown
- connector damage
- battery stress or failure
Hub Motor Specific Cautions
ONYX RCR calibration should be treated as hub motor calibration, not mid-drive calibration.
Important implications:
- hub motor behavior under no-load is not the same as road-load behavior
- field weakening changes can feel acceptable off the ground but become unstable under load
- excessive no-load speed chasing can create misleading results
- angle, phase, and weakening behavior should be validated conservatively before increasing speed or current
If a parameter or recommendation appears to assume a different drivetrain type, validate it against actual ONYX RCR behavior before treating it as a calibration target.
Test Setup and Safety
Before performing AutoLearn, static testing, or LimitSpeed validation, the bike must be placed in a controlled and safe test condition.
These procedures involve spinning the motor at high speed without load and must be treated as active mechanical operations.
Required Setup
- rear wheel lifted completely off the ground
- bike stabilized on a secure stand
- clear space around the wheel and drivetrain
- no rider load
Chain / Drivetrain Considerations
For highest safety and cleanest results:
- removing the chain is recommended during AutoLearn and no-load testing
- this isolates the motor from drivetrain resistance
- prevents unintended torque transfer
- reduces risk of mechanical injury
If the chain is left installed:
- ensure full clearance
- do not stand near rotating components
- avoid loose clothing or contact points
Safety Notes
- never perform AutoLearn with the bike under load
- never apply throttle while the bike is unstable
- always verify rotation direction before full throttle
- always perform a brief low-throttle spin before high-RPM testing
- stop immediately if vibration, noise, or instability occurs
Data Monitoring During Calibration
During all calibration tests, monitor live data in the FarDriver app.
Minimum required metrics:
- Battery Voltage (V)
- Line Current (A)
- Phase Current (A)
- Motor RPM
- Motor Temperature
- Controller Temperature
- Throttle Input (%)
Where available, also watch:
- gear state
- brake state
- error status
- thermal rollback behavior
- battery voltage before the test and during peak load
Safe Operating Guidelines
- Motor temperature: keep below 120C
- Controller temperature: keep below 90C
- sustained Line Current should remain within battery capability
- Phase Current should not exceed motor thermal limits
Exceeding these values may result in:
- thermal rollback
- component damage
- reduced system lifespan
System Identity Snapshot
Before calibration, record the system you are actually tuning.
Log at minimum:
- controller model
- battery voltage
- battery full-charge voltage
- battery current capability
- motor model
- wheel or tire size
- cooling setup
- rider weight if useful for comparison
This matters because measured results and safe current levels are system-dependent.
ND72680 is not ND721000.
Pre-Calibration Fault Gate
Do not continue into calibration passes until the system is free from active hardware or signal issues.
Stop and resolve the problem first if any of the following are present:
- active controller fault or alarm state
- unstable no-load RPM
- inconsistent or noisy throttle signal
- incorrect rotation direction
- sudden current spikes at low throttle
- repeated buzzer or fault behavior
- hall sensor errors, voltage faults, or thermal faults
Calibration done on a faulty system produces misleading results.
Calibration Readiness Gate
Before Pass 1, confirm all of the following:
- AutoLearn completed and was verified
- PolePairs is correct
- throttle voltage is stable and mapped correctly
- battery capability is known, not guessed
- current limits are set conservatively
- no abnormal no-load behavior exists
This is different from the fault gate.
The fault gate asks whether something is actively wrong.
The readiness gate asks whether the bike is truly ready to produce useful calibration results.
AutoLearn Validation Check
AutoLearn defines the controller’s understanding of the motor and must be valid before any calibration or tuning work.
Before calibration, confirm AutoLearn completed correctly.
When AutoLearn Must Be Re-run
Re-run AutoLearn any time a core hardware or electrical change occurs.
Common triggers:
- new motor installed
- motor internal changes
- controller replacement
- firmware changes or parameter reset
- phase wire changes
- hall sensor wiring changes
When AutoLearn Must Be Revalidated
Validate but do not immediately re-run AutoLearn if behavior becomes inconsistent or incorrect.
Common triggers:
- unstable or rough motor behavior
- unexpected noise or vibration
- incorrect rotation behavior
- inconsistent performance after tuning
- switching battery configurations affecting system response
Guidelines:
- hardware change -> re-run AutoLearn
- behavior issue -> validate AutoLearn before adjusting parameters
- if validation fails -> re-run AutoLearn
- do not continue calibration with an invalid AutoLearn result
Common AutoLearn Failure Indicators
- reverse rotation
- stuttering or pulsing during learn
- learn process failing to stabilize
- excessive vibration or noise
- abnormal current activity during low-throttle spin
Any of these should be treated as wiring, hall, phase, or configuration problems first.
Validation Checks
Observe:
- smooth motor spin during learn
- no grinding or vibration
- correct rotation direction
- stable no-load RPM
If incorrect:
- verify phase wiring
- verify hall sensor wiring
- re-run AutoLearn
Test Environment Standardization
For reliable calibration, control the environment as much as possible.
Use the same test road when possible.
Keep comparisons inside a defined battery state band such as 60 to 80 percent.
Keep these conditions as consistent as possible:
- flat road or known grade
- same direction or two-direction average
- minimal wind
- repeatable start and end points
- similar ambient temperature
- similar thermal state of the bike
Do not compare cold runs to heat-soaked runs as if they are equivalent.
Start Method Standard
For timed or measured testing, define the start method before comparing runs.
Keep the following consistent:
- from stop or rolling start
- throttle snap or smooth roll-on
- same gear
- same rider posture
Inconsistent rider input can make a good setup look worse than it is, or make a worse setup appear faster.
Test Invalidation Rules
Discard a run if any of the following occurs:
- inconsistent throttle input
- wheelspin or obvious traction loss
- different gear than the comparison runs
- materially different battery state of charge
- materially different thermal state
- wind, slope, traffic, or interruption changes the run
- rider position is noticeably different
- fault behavior appears during the run
Bad runs should still be logged, but they should not be used as proof of improvement.
Calibration Loop
Every calibration change should follow the same sequence:
- perform a controlled test
- observe behavior and live data
- identify the likely parameter group
- make a small adjustment
- repeat the same test
- compare result against the previous run
This loop is the foundation of all calibration work.
Change Isolation Rule
Only adjust one parameter group at a time.
Do not modify:
- current limits
- throttle response
- PID values
in the same pass.
Do not change:
- current and throttle together
- PID and throttle together
- field weakening and LimitSpeed together
- line current and phase current together unless you are intentionally reverting to a known baseline
If multiple systems are changed together, the result is not diagnosable.
Adjustment Increment Guidelines
Small changes preserve cause and effect.
Use minimal step sizes:
- current limits -> small percentage changes
- throttle steps -> small step changes
- PID values -> very small increments only
- field weakening -> minimal changes per test
Large changes make the system harder to read.
Baseline Snapshot Rule
Before major changes:
- save the current parameter set
- record the current behavior
- note battery voltage, ambient conditions, and temperatures
This gives you a stable return point if a later change makes the system worse.
Regression Recovery Rule
If a change makes the bike worse:
- revert to the last known stable setup
- confirm the old behavior returns
- re-test the failed change in isolation
- reduce the size of the change
Do not keep layering new changes on top of a bad result.
Data vs Feel Conflict Rule
If data and rider impression disagree:
- verify the data first
- repeat the test
- compare against multiple runs
- trust repeatable measured behavior over a single subjective impression
Feel still matters, but one strong impression is not enough to override repeatable evidence.
Parameter Interaction Overview
These systems overlap. Do not treat individual parameters as isolated power sliders.
Throttle Behavior
Throttle feel is affected by:
- Throttle Low / Throttle High
- ThrottleResponse
- Throttle Acc Step / Dec Step
- StartKI / StartKP
- SpeedKI / SpeedKP
Launch and Low-Speed Torque
Launch behavior is affected by:
- MaxPhaseCurr
- Throttle Acc Step
- StartKI / StartKP
- SlowDown / SlowDownCoeff
Mid-Range Pull
Mid-range behavior is affected by:
- MidKI / MidKP
- MaxLineCurr / MaxPhaseCurr
- ECOAccCoeff
High-Speed Behavior
High-speed behavior is affected by:
- LimitSpeed
- WeakCurrCoeff
- WeakResponse
- RPM / Field Weakening Map
Regen and Deceleration Feel
Regen and off-throttle feel are affected by:
- MaxBackCurr
- StopBackCurr
- RPM Regen Table
- Throttle Dec Step
- EABSEnable
- Brake Voltage (if present)
Performance Tradeoffs
More output usually comes with a cost.
- more MaxPhaseCurr = more torque and more motor heat
- more MaxLineCurr = more power and more battery and controller stress
- more field weakening = more top speed potential and more instability and less efficiency
- faster throttle response = sharper reaction and less controllability
A change that improves one area while worsening another does not automatically mean the parameter is wrong. It means the system is interacting as expected.
Battery Reality Check
Do not diagnose every power problem as a tuning problem.
Typical patterns:
- strong launch but weak mid-range often indicates line current limit or battery sag
- high no-load RPM but weak real-world speed often indicates battery limitation
- large performance changes across battery state of charge often indicate battery dominance
- weak low-speed torque with acceptable battery behavior often points to phase current or start tuning
Calibration cannot tune around battery limitations.
Heat Source Identification
Thermal problems are easier to fix when you know where the heat is coming from.
- phase current mainly drives motor heat
- line current mainly stresses battery and controller
- field weakening adds controller heat and instability risk
Reduce the parameter that matches the heat source instead of reducing random values.
Thermal Saturation Behavior
A tune that only works cold is not a valid tune.
The first run is often not representative.
The second and third runs usually reveal the real thermal limit.
Heat changes:
- efficiency
- current behavior
- throttle feel
- rollback behavior
Always validate sustained behavior, not just the first clean pull.
Controller Feedback Awareness
Do not rely on app numbers alone.
Also watch for:
- audible changes
- vibration changes
- unexpected tonal shifts
These can indicate:
- phase issues
- angle problems
- field weakening instability
- emerging thermal stress
Calibration Testing
This section defines how to validate and refine a completed JAWS MODE tune using real-world riding data.
After applying the full configuration, controlled test riding is used to evaluate how the bike behaves under load and across different operating conditions.
Each test below is tied directly to specific controller parameters, allowing targeted adjustments based on observed behavior.
- validate performance under real load conditions
- identify instability, inefficiency, or imbalance
- apply controlled parameter adjustments based on measured results
Most Important Calibration Tests
If you do not want to work through every calibration test immediately, start with the tests below first.
Prioritize these in order:
- Determining True LimitSpeed
- Throttle Calibration Validation
- Launch / Low-Speed Response Test
- Full Throttle Load Test
- Field Weakening / High-Speed Stability Test
- Regenerative Braking Test
- Thermal Behavior Test
If the bike feels mostly correct after these tests, move on to:
- Part-Throttle Modulation Test
- Gear Behavior Test
- Battery Sag / Voltage Drop Test
- Extended Ride Consistency Test
Calibration Pass System
Calibration should be approached in structured passes. Each pass builds on the previous one, moving from safe baseline validation to full performance refinement.
Do not proceed to the next pass until the current pass is acceptably stable.
Pass 1 - Baseline
Goal:
- verify correct setup
- eliminate major configuration errors
- establish stable baseline behavior
Tests:
- no-load throttle sweep
- WO_MaxRPM / LimitSpeed validation
- low-speed launch test
- basic throttle validation
Focus Parameters:
- Throttle Low / High
- Throttle Acc Step
- StartKI / StartKP
- LimitSpeed
Success Criteria:
- smooth throttle from 0 to 100 percent
- no error codes
- stable RPM with no oscillation
- predictable low-speed control
Pass 2 - Load Testing
Goal:
- validate performance under rider load
- identify thermal, current, and stability limits
Tests:
- full throttle pulls
- mid-range acceleration
- hill climb test
- regen braking test
Focus Parameters:
- MaxLineCurr / MaxPhaseCurr
- MidKI / MidKP
- MaxBackCurr / StopBackCurr
- WeakCurrCoeff
Success Criteria:
- strong and consistent acceleration
- no unexpected cutbacks
- controlled regen behavior
- manageable temperatures
Pass 3 - Refinement
Goal:
- optimize ride feel and smoothness
- eliminate edge-case issues
- balance performance vs stability
Tests:
- part-throttle modulation
- gear transitions
- stop-and-go riding
- extended ride consistency
Focus Parameters:
- ThrottleResponse
- SpeedKI / SpeedKP
- gear ratios and percentages
- RPM / Field Weakening Map
Success Criteria:
- smooth, predictable throttle at all speeds
- no surging or dead zones
- consistent behavior over time
- stable high-speed operation
Pass 4 - Performance Validation
Goal:
- convert rider feel into repeatable measured validation
- confirm that the tune stays consistent under controlled test conditions
- validate the whole system without turning the process into speed chasing
This pass is used after Pass 1 through Pass 3 are stable.
Measured testing is used to validate the tune, not to replace the tune.
Tuning Order Lock
Do not move into advanced changes until the lower-level systems are stable.
Do not meaningfully adjust:
- field weakening
- advanced PID behavior
- aggressive regen behavior
until:
- throttle calibration is correct
- AutoLearn is valid
- current limits are realistic
- launch behavior is under control
- no-load and load behavior are both stable
Static Calibration
These tests are performed with the rear wheel off the ground and are used to validate baseline system behavior before road testing.
No-load tests are for validation, not for proving final ride quality.
No-Load Throttle Sweep Test
With the bike on a stand, slowly roll the throttle from 0 percent to 100 percent.
Observe:
- smooth RPM increase
- dead zones or jumps
- maximum achievable RPM
Adjust:
- Throttle Low / Throttle High
- ThrottleResponse
- Throttle Acc Step
Direction:
- dead zone at start -> increase Throttle Low
- sudden jump -> decrease Throttle Acc Step
- non-linear response -> adjust ThrottleResponse
No-Load Stability Test
Hold full throttle with the wheel off the ground.
Observe:
- RPM stability
- oscillation or fluctuation
- abnormal noise or vibration
Adjust:
- PhaseOffset
- AngleDetect
- WeakResponse
Direction:
- RPM oscillation -> reduce WeakResponse
- rough or high-frequency vibration -> verify PhaseOffset
- inconsistent readings -> confirm AngleDetect setting
No-Load Stop Conditions
Stop the test immediately if:
- RPM becomes unstable or erratic
- vibration increases rapidly
- controller fault or alarm appears
- high-speed no-load behavior becomes rough or jittery
Phase Current Response Test
Quickly blip the throttle while monitoring current in the app.
Observe:
- how quickly current ramps
- spikes vs smooth ramp
- delayed response
Adjust:
- MaxPhaseCurr
- Throttle Acc Step
- StartKI
Direction:
- slow response -> increase StartKI
- harsh spikes -> reduce Throttle Acc Step
- weak torque response -> increase MaxPhaseCurr
Signal and Sensor Validation
These checks ensure all inputs and signals are correctly interpreted by the controller.
Brake Signal Validation
Apply brake and monitor input behavior.
Observe:
- when regen activates
- consistency of brake signal
- delayed or early trigger
Adjust:
- Brake Voltage (if present)
- EABSEnable
Direction:
- regen activates too early -> increase Brake Voltage
- no regen on brake -> verify wiring and enable settings
Gear Input Validation
Switch between gears while monitoring controller input states.
Observe:
- correct gear detection
- delay or misread inputs
Adjust:
- Highspeed Pin
- LowSpeed Pin
- HighLowSpeed
Direction:
- incorrect gear detection -> verify pin mapping
- no response -> check wiring or invalid pin state
Throttle Signal Verification
Observe throttle voltage in the app while rotating throttle.
Observe:
- voltage range at rest and full throttle
- stability of signal
Adjust:
- Throttle Low / Throttle High
- LearnVolLow / LearnVolHigh if present
Direction:
- unstable signal -> inspect wiring or connector
- incorrect range -> recalibrate voltage limits
Typical reference points:
- low-end throttle voltage is usually just under or around 1V
- full-throttle voltage is usually a little over 4V
- stable and repeatable signal matters more than chasing an exact number
Determining True LimitSpeed
After applying the JAWS MODE configuration, this step establishes a stable and usable LimitSpeed based on the actual unloaded capability of the system.
WO_MaxRPM is the highest stable motor speed observed with the rear wheel off the ground, in High gear, at full throttle, with zero rider or road load.
Steps:
- place the bike securely on a stand so the rear wheel is completely unloaded
- select High gear
- apply full throttle and allow RPM to climb until it stabilizes
- hold steady throttle for 2 to 3 seconds once peak RPM is reached
- ignore brief spikes and record the highest stable RPM value shown
- set LimitSpeed to WO_MaxRPM minus 200 RPM
Example:
If WO_MaxRPM = 3000 RPM, then:
- LimitSpeed = 2800 RPM
This buffer helps prevent:
- abrupt limiter cutoffs
- oscillation near max speed
- unnecessary controller stress at high RPM
Only use stabilized RPM for this method. Do not use brief spikes.
Core Riding Tests
All road tests should be repeatable. When possible, repeat important tests at least 2 to 3 times before changing settings.
Launch / Low-Speed Response Test
Ride from a complete stop on flat ground and apply smooth throttle.
Observe:
- initial hesitation or delay
- jerkiness or aggressive hit
- smoothness of power delivery
Adjust:
- Throttle Acc Step
- StartKI / StartKP
Direction:
- hesitation -> increase Throttle Acc Step slightly
- too aggressive or jerky -> decrease Throttle Acc Step
- weak initial torque -> increase StartKI
- harsh engagement -> reduce StartKP
Mid-Range Acceleration Test
Roll from approximately 20 to 40 MPH and apply throttle in High gear.
Observe:
- smooth pull vs surging
- flat spots in acceleration
- excessive heat buildup
Adjust:
- MidKI / MidKP
- ECOAccCoeff
Direction:
- surging -> reduce MidKP
- sluggish response -> increase MidKI
- too aggressive -> increase ECOAccCoeff slightly
- too soft -> decrease ECOAccCoeff
Full Throttle Load Test
Perform a full throttle pull under rider load.
Observe:
- sustained acceleration
- controller or battery cutbacks
- instability at higher RPM
Adjust:
- MaxLineCurr
- MaxPhaseCurr
- BoostLineCurr / BoostPhaseCurr
Direction:
- early power drop -> increase MaxLineCurr within system limits
- weak torque under load -> increase MaxPhaseCurr
- overheating or instability -> reduce both currents slightly
Field Weakening / High-Speed Stability Test
Ride near the upper RPM range.
Observe:
- smoothness near top speed
- oscillation or surging
- heat buildup
Adjust:
- WeakCurrCoeff
- WeakResponse
- RPM / Field Weakening Map
Direction:
- instability at high RPM -> reduce WeakCurrCoeff
- poor top speed -> increase WeakCurrCoeff slightly
- abrupt transition into high speed -> smooth RPM table percentages
Field Weakening Reality Check
Field weakening should be treated as a late-stage refinement tool, not an early-stage shortcut for speed.
Use caution because excessive weakening can cause:
- instability near top speed
- more heat
- rough transitions
- fault or protection behavior
If increasing field weakening improves RPM but worsens measured acceleration, it is not a valid gain.
LimitSpeed Validation Test
Use the previously defined WO_MaxRPM method.
Observe:
- whether the bike hits limiter harshly
- whether RPM stabilizes cleanly near max
Adjust:
- LimitSpeed
Direction:
- hard cutoff -> reduce LimitSpeed further
- not reaching expected speed -> verify WO_MaxRPM and increase cautiously
Regenerative Braking Test
Ride and apply brakes across multiple speeds.
Observe:
- regen strength consistency
- rear wheel instability
- weak or delayed regen
Adjust:
- MaxBackCurr
- StopBackCurr
- RPM Regen Table
Direction:
- too aggressive -> reduce MaxBackCurr
- too weak -> increase MaxBackCurr
- jerky low-speed regen -> reduce StopBackCurr
- inconsistent feel -> smooth RPM regen percentages
Thermal Behavior Test
Ride under sustained load such as long pulls or hills.
Observe:
- motor temperature rise
- controller temperature rise
- thermal rollback behavior
Adjust:
- MaxLineCurr / MaxPhaseCurr
- MotorTempProtect / ControllerTempProtect
Direction:
- fast overheating -> reduce current limits
- no thermal headroom -> improve cooling or reduce load
- premature limiting -> verify temperature sensor configuration
Post-Run Observation Rule
After each important run, also observe:
- how quickly temperatures continue rising
- how the bike behaves immediately after load
- voltage recovery after throttle release
Heat lag and voltage recovery often reveal problems that do not show up during the pull itself.
Throttle Calibration Validation
Perform slow roll-on and fine throttle inputs.
Observe:
- dead zone at start
- non-linear response
- throttle-related errors
Adjust:
- Throttle Low / Throttle High
- ThrottleResponse
Direction:
- dead zone -> increase Throttle Low slightly
- early jump -> decrease Throttle Low
- limited top-end input -> increase Throttle High
- errors during auto learn -> verify correct throttle type and voltage range
Gear Behavior Test
Switch between Low, Mid, and High gears while riding.
Observe:
- expected power separation
- smooth transitions
- RPM alignment
Adjust:
- Gear Power Output (%)
- Gear Speed (%)
- Ratio In Gears (RPM values)
Direction:
- gears feel identical -> widen percentage differences
- low gear too fast -> reduce LowSpeed RPM
- mid gear weak -> increase MidSpeedLineRatio
Battery Sag / Voltage Drop Test
Perform a full throttle pull from mid-speed and monitor voltage in the app.
Observe:
- voltage sag under load
- sudden drops triggering protection
- inconsistent power delivery at lower charge
Adjust:
- MaxLineCurr
- LowVolProtect / LowVolRestore
- BattSignal / IntRes
Direction:
- excessive sag -> reduce MaxLineCurr
- early low-voltage cut -> lower LowVolProtect slightly
- inconsistent behavior -> verify BattSignal and internal resistance values
Record:
- battery voltage before the run
- lowest observed voltage during load
- voltage recovery after throttle release
Part-Throttle Modulation Test
Ride at steady low and mid speeds while holding partial throttle.
Observe:
- smoothness at constant speed
- surging or pulsing
- difficulty holding steady speed
Adjust:
- ThrottleResponse
- Throttle Acc Step / Dec Step
- SpeedKP / SpeedKI
Direction:
- surging at steady throttle -> reduce SpeedKP
- too sensitive input -> reduce Throttle Acc Step
- sluggish modulation -> increase ThrottleResponse
Deceleration / Coast Behavior Test
Release throttle at different speeds without braking.
Observe:
- how quickly the bike slows down
- abrupt vs smooth deceleration
- unwanted drag
Adjust:
- Throttle Dec Step
- Release Throttle
- RPM Regen Table
Direction:
- abrupt slowdown -> reduce Throttle Dec Step
- too much drag -> reduce low-RPM regen values
- coasting too freely -> increase regen slightly
Low-Speed Maneuvering Test
Ride slowly in tight areas such as parking lots, turns, or stop-and-go traffic.
Observe:
- controllability at very low speed
- jerky engagement
- difficulty balancing throttle
Adjust:
- StartKI / StartKP
- Throttle Acc Step
- SlowDown / SlowDownCoeff
Direction:
- jerky low-speed control -> reduce StartKP
- too jumpy -> reduce Throttle Acc Step
- poor control when rolling -> increase SlowDownCoeff slightly
Reverse / Backward Function Test
Engage reverse and apply throttle gently.
Observe:
- smoothness in reverse
- excessive speed or torque
- delay in engagement
Adjust:
- BackSpeed
- RE Function behavior
- ThrottleResponse
Direction:
- reverse too fast -> reduce BackSpeed
- jerky engagement -> soften ThrottleResponse
- delay -> verify RE configuration
Extended Ride Consistency Test
Ride for 10 to 20 minutes across mixed conditions.
Observe:
- consistency of power delivery over time
- thermal derating behavior
- changes in throttle feel
Adjust:
- Thermal limits
- Current limits
- RPM / Field Weakening Map
Direction:
- performance drop over time -> reduce current or improve cooling
- changing throttle feel -> check thermal rollback and compensation
- instability after heat soak -> reduce WeakCurrCoeff
Pass 4 Measured Validation
Pass 4 should only begin after Pass 1 through Pass 3 are stable.
This is the measured validation layer.
It converts rider feel into repeatable evidence.
It does not turn the guide into a benchmark page.
Split Metrics Model
Treat the measured tests differently.
- 0 to 30 MPH = launch, throttle, traction, and early torque signal
- 30 to 60 MPH = sustained power, line current, battery support, and upper-speed transition
- 0 to 60 MPH = overall system validation
This matters because 0 to 60 MPH is one of the most misunderstood metrics in ONYX tuning.
It is useful for validation, but it is not a primary calibration tool.
0 to 30 MPH Validation
This is the most useful measured acceleration check for calibration.
What it reveals:
- launch tuning quality
- throttle ramp behavior
- early torque delivery
- traction control quality
- low-speed rideability
Use it as the primary measured calibration signal.
A cleaner and more repeatable 0 to 30 MPH result is usually more valuable than a single dramatic 0 to 60 MPH number.
30 to 60 MPH Validation
This test removes launch variables and helps isolate the rest of the system.
What it reveals:
- battery support under load
- line current limitation
- mid-range to high-speed continuation
- field weakening transition behavior
- sustained power delivery
If the bike launches hard but feels flat later, this test is often more useful than 0 to 60 MPH.
0 to 60 MPH Validation
Keep this as a secondary validation metric.
It combines:
- launch behavior
- sustained power
- battery sag
- rider position effects
- thermal influence
- top-end continuation
Use 0 to 60 MPH to confirm overall system consistency.
Do not use it as the first or only tuning metric.
1/8 Mile Validation
Use the 1/8 mile as a sustained acceleration check.
What it reveals:
- launch quality
- torque delivery through the run
- mid-range pull
- battery sag under continuous load
- repeatability across multiple runs
If available, record trap speed as well.
Treat this as measured validation, not drag-race bragging.
High-Speed Stability Validation
This is not a top-speed challenge.
Use it to confirm that the bike remains stable, predictable, and thermally manageable near the upper operating range.
Observe:
- smoothness near top speed
- oscillation or surging
- small-throttle stability at high speed
- approach to speed plateau
- temperature rise rate
- repeatability across runs
Speed Plateau Behavior
How the bike approaches top speed matters more than the number itself.
Typical patterns:
- smooth taper -> healthy system
- oscillation -> weakening or PID issue
- abrupt wall -> LimitSpeed or current limitation
- fade after peak -> thermal or battery limitation
Higher speed does not automatically mean better calibration.
Dragy-Based Performance Validation
Dragy or a similar GPS-based tool is preferred for precision, but it is not required.
Use it for:
- 0 to 30 MPH
- 30 to 60 MPH
- 0 to 60 MPH
- 1/8 mile ET
- trap speed
- repeatability across runs
Rules:
- compare averages, not one best run
- repeat runs in a similar battery state band
- repeat runs in a similar thermal state
- keep gear and rider posture consistent
Partner-Assisted Calibration
This is optional.
A second person can improve measurement quality, but is not required for correct calibration.
Useful assisted tasks:
- stopwatch timing from fixed landmarks
- video capture for review
- observing launch behavior
- observing traction loss
- noting chassis response
- comparing runs visually
Safety rules:
- observer must stay clear of the run path
- rider should never watch a timer while riding
Stopwatch timing is less precise than GPS tools, but it can still be useful if the method is consistent.
Load and Grade Validation
These tests reveal system behavior under real torque demand.
Use them to evaluate:
- hill climb performance
- passenger or extra load performance
- uphill restart behavior
- loaded regen on descent
- battery sag under sustained load
- heating under continuous stress
This layer often exposes issues that flat-road testing hides.
Measured Test Rules
For all measured testing:
- use the same gear every run
- use the same start method every run
- use the same rider posture every run
- compare runs within a defined battery state band
- repeat the run at least 2 to 3 times
- compare averages, not hero runs
Two-Direction Test Rule
When safe and practical, perform the same test in both directions and average the results.
This helps reduce error from:
- wind
- slight grade change
- road bias
Throttle Consistency Rule
Do not stab the throttle in one run and roll on gently in another.
Define the input method first and keep it consistent.
Inconsistent throttle input creates inconsistent data.
Single Run Fallacy
One fast run means very little by itself.
A valid result should repeat.
Require at least 2 to 3 reasonably consistent runs before drawing conclusions.
Run Spacing Rule
Do not mix cold runs and hot runs in the same comparison group unless the point of the test is heat-soak behavior.
Either:
- allow consistent cooldown between runs
- or intentionally test heat-stacked behavior
Do not compare them as if they are the same.
Structured Run Naming
Name the runs clearly.
Examples:
- Baseline_A1
- Baseline_A2
- Test_LineCurrent_B1
- Test_LineCurrent_B2
- Test_WeakCoeff_C1
Keep failed or invalidated runs in the log. Just mark them clearly.
Comparing Results Between ONYX Builds
Comparison can be useful, but only when context is preserved.
Do not compare raw settings in isolation.
Always compare with context:
- controller model
- battery voltage
- battery current capability
- motor
- wheel or tire size
- rider weight
- state of charge
- ambient conditions
- measured results
- temperatures
- throttle feel or stability notes
Recommended comparison fields:
- Controller
- Battery voltage
- Battery current capability
- Motor
- Wheel size
- Rider weight
- Gear used
- MaxLineCurr
- MaxPhaseCurr
- WeakCurrCoeff
- LimitSpeed
- 0 to 30 time
- 0 to 60 time
- 1/8 mile ET
- trap speed
- peak voltage sag
- peak controller temp
- peak motor temp
- notes on throttle feel and stability
Shared results are useful.
Settings-only comparison is not.
Common False Improvements
Some changes feel better without actually improving the system.
Watch for these traps:
- feels faster but gives worse 0 to 60 MPH = throttle ramp illusion
- higher no-load RPM but worse road speed = field weakening misuse
- stronger launch but worse full-run result = phase-only gain without sustained power
- one great run with poor repeatability = thermal or battery effect
- sharper response but worse control = throttle aggressiveness mistaken for performance
Repeatable improvement matters more than dramatic first impression.
Troubleshooting and Error Mapping
Use this section to quickly diagnose issues and map them to likely parameter causes.
Throttle Error During AutoLearn
Cause:
- incorrect voltage range
- mismatch between throttle type
Fix:
- verify Throttle Low / High values
- confirm Domino vs Standard throttle settings
- re-run AutoLearn
Hard Cutoff at High Speed
Cause:
- LimitSpeed set too close to max RPM
Fix:
- reduce LimitSpeed further below WO_MaxRPM
Surging at Steady Speed
Cause:
- PID imbalance or throttle sensitivity
Fix:
- reduce SpeedKP
- adjust Throttle Acc Step
Excessive Heat
Cause:
- current limits too high
- inefficient field weakening
Fix:
- reduce MaxLineCurr / MaxPhaseCurr
- adjust WeakCurrCoeff
Weak Acceleration
Cause:
- low phase current or conservative tuning
Fix:
- increase MaxPhaseCurr
- increase StartKI / MidKI
Jerky Low-Speed Control
Cause:
- aggressive throttle or start parameters
Fix:
- reduce StartKP
- reduce Throttle Acc Step
Unstable High-Speed Behavior
Cause:
- overly aggressive field weakening
Fix:
- reduce WeakCurrCoeff
- smooth high-RPM map values
Noisy or Rough No-Load Behavior
Cause:
- phase angle mismatch
- invalid angle detect behavior
- aggressive weakening response
Fix:
- verify PhaseOffset
- verify AngleDetect
- reduce WeakResponse
Throttle Does Little Until Mid Rotation
Cause:
- low-end scaling issue
Fix:
- increase Throttle Low slightly
- verify throttle voltage range
Symptom to Parameter Adjustment Table
| Symptom | Likely Cause | Parameter | Adjustment Direction |
|---|---|---|---|
| Hesitation on launch | weak start tuning | StartKI | Increase |
| Jerky takeoff | aggressive start tuning | StartKP | Decrease |
| Throttle too sensitive | aggressive ramp | Throttle Acc Step | Decrease |
| Throttle feels dead | low input scaling | Throttle Low | Increase slightly |
| Weak acceleration | low torque output | MaxPhaseCurr | Increase |
| Early power drop | current limiting | MaxLineCurr | Increase within limits |
| Surging at steady speed | PID imbalance | SpeedKP | Decrease |
| Poor mid-range pull | weak mid tuning | MidKI | Increase |
| Overheating | excessive current | MaxLineCurr / MaxPhaseCurr | Decrease |
| Hard speed cutoff | limiter too high | LimitSpeed | Decrease |
| Low top speed | weak field weakening | WeakCurrCoeff | Increase slightly |
| High-speed instability | aggressive FW | WeakCurrCoeff | Decrease |
| Abrupt regen | too much regen current | MaxBackCurr | Decrease |
| Weak regen | low regen current | MaxBackCurr | Increase |
| Jerky low-speed regen | aggressive low RPM map | RPM Regen Table | Reduce low RPM percent |
| Bike slows too fast off throttle | high decel or regen | Throttle Dec Step | Decrease |
| Bike coasts too freely | weak regen | RPM Regen Table | Increase slightly |
| Gear modes feel identical | poor scaling | Gear Power percent | Increase spread |
| Reverse too fast | high reverse speed | BackSpeed | Decrease |
| Inconsistent throttle feel | thermal rollback | Current limits / thermal | Reduce load |
| Noisy no-load operation | angle or phase mismatch | PhaseOffset / AngleDetect | Verify and correct |
| Throttle inactive until mid input | low-end scaling issue | Throttle Low | Increase slightly |
Calibration Record Sheet
For each important test run, log:
- run name
- battery voltage before run
- battery voltage during peak load
- battery percentage or state of charge
- ambient conditions
- motor temperature
- controller temperature
- line current
- phase current
- RPM
- gear used
- start method
- symptom observed
- parameter changed
- result after re-test
Calibration becomes much more repeatable when runs are logged instead of remembered.
Common Calibration Mistakes
- increasing current before validating baseline
- skipping AutoLearn validation
- adjusting multiple parameter groups at once
- tuning based on feel without checking data
- setting LimitSpeed too close to true no-load max RPM
- using field weakening to cover up poor baseline tuning
- diagnosing battery sag as a controller problem
- diagnosing controller limiting as a battery problem
- making large changes instead of incremental ones
- comparing mixed-SOC runs
- comparing mixed-gear runs
- trusting one good run too much
Failure Escalation Ladder
If something goes wrong:
- stop the test
- revert to the last known stable setup
- verify wiring and signals
- validate AutoLearn
- reduce current limits
- re-test baseline
Do not tune deeper into a bad result.
Hardware Limit Reminder
Calibration cannot fix:
- weak batteries
- bad connectors
- wiring faults
- inaccurate sensors
- failing cooling systems
Do not tune around hardware problems.
Rider Input Variability
Measured performance is affected by more than controller settings.
Also account for:
- throttle consistency
- body position
- traction management
- rider timing during launch
Inconsistent rider input creates inconsistent data.
Cold vs Warm Baseline Awareness
The first run often feels strongest.
Later runs usually reveal the true sustained capability of the bike.
This is normal.
A setup should be judged by how consistently it behaves after the system is no longer cold.
When to Stop Tuning
Stop tuning when:
- gains become inconsistent
- heat or stress rises faster than performance improves
- the bike becomes less predictable
- performance varies more than it improves
- behavior is stable across battery state, temperature, and ride duration
A slightly slower but more stable tune is usually the better calibration.
Final Calibration State
A correctly calibrated system should:
- deliver smooth and predictable throttle from 0 to 100 percent
- maintain stable RPM behavior with no abnormal oscillation
- produce consistent acceleration without dead zones or random cutback
- approach top speed cleanly without harsh limiter contact
- remain thermally manageable under repeated real-world load
- feel consistent across battery state and ride duration
A properly calibrated JAWS MODE setup should feel:
- smooth off the line
- strong through mid-range
- stable at top speed
- predictable under braking
- thermally stable under sustained load
A correct calibration is defined by consistency across conditions, not peak performance in a single run.
Calibration Drift
A stable tune can change over time.
Reasons include:
- connector aging
- resistance change
- battery aging
- temperature and seasonal changes
- cooling changes
- hardware wear
Re-validate the tune periodically, especially after hardware changes or when behavior starts to drift.
