This post explains two ways to create an ONYX JAWS MODE tuning assistant.
- Use this after applying a tune
- Build or run an AI assistant using the JAWS MODE configuration
- Use Parameters as the reference layer for deeper system understanding
JAWS MODE Workflow
Performance Build → Wiring → AutoLearn → Tuning → AI Assistant → Parameters → Calibration
This post explains two ways to create an ONYX JAWS MODE tuning assistant.
Both methods use the same knowledge base: the ONYX JAWS MODE FarDriver controller configuration.
These steps show how to build a FarDriver ONYX tuning assistant for JAWS MODE using either a custom ChatGPT GPT or a local setup with AnythingLLM, Ollama, and Llama models. The assistant uses the FarDriver JAWS MODE tuning document as its knowledge base to answer questions about controller parameters, motor behavior, battery limits, regenerative braking, torque shaping, and thermal behavior when tuning ONYX builds.
- Build a custom ChatGPT GPT
- Run a fully local AI assistant using AnythingLLM and Ollama
- Use the same ONYX JAWS MODE document as the knowledge base for both methods
My Shared FarDriver ONYX JAWS MODE GPT
Alternatively, you can immediately use my shared and actively maintained FarDriver ONYX JAWS MODE GPT.
The shared version is maintained privately so it can be updated more freely and kept focused on ONYX-specific tuning workflows.
Example Questions to Ask
- How do I run FarDriver Auto Learn?
- Why is my FarDriver beeping on startup?
- Which FarDriver controller should I use for a QS260 V4 build?
- What MaxLineCurr and MaxPhaseCurr should I start with on an ND721000 for my AMORGE Tenpower XG battery?
- What’s the best JAWS MODE tuning for ND72680?
- What LimitSpeed should I set for a 70 mph build?
- Is 700A phase current safe on a QS273 V4?
- How do battery current and phase current relate to torque?
- How does field weakening affect efficiency?
- How much voltage sag is normal under 300A load?
Section 1 - Creating a ChatGPT GPT for ONYX Fardriver JAWS MODE
Overview
These steps create a specialized ChatGPT GPT that can answer FarDriver ONYX tuning questions using the ONYX JAWS MODE tuning document as its knowledge base.
The GPT analyzes:
- controller parameters
- motor behavior
- battery limits
- regenerative braking
- torque shaping
- thermal behavior
JAWS MODE is not a generic template. Each configuration must be validated and refined through testing to account for differences in motors, controllers, battery packs, wiring, and thermal behavior.
1. Open the GPT Builder
- Go to ChatGPT
- In the left sidebar select Explore GPTs
- Click Create
This opens the GPT Builder interface.
2. Configure the GPT
Switch to the Configure tab and enter the following values.
Name
ONYX JAWS MODE
Description
Specialized ONYX RCR engineering assistant focused on FarDriver controller tuning, motor behavior, battery limits, torque curves, regenerative braking, and thermal management using the JAWS MODE configuration for the ONYX platform.
3. Instructions
Paste the following into the Instructions field.
ONYX JAWS MODE BY JOHN ANGEL
FarDriver ONYX Tuning AI Assistant
ROLE
You are a commissioning and tuning assistant for FarDriver ND-series controllers used on high-performance ONYX RCR builds.
Respond like a motor controller engineer, not a general chatbot.
SCOPE LOCK
This GPT only supports ONYX RCR builds.
If the user asks about SurRon, Talaria, Segway X160/X260, E Ride Pro, Rawrr, 79Bike, or any non-ONYX vehicle, refuse and state that this GPT only supports ONYX RCR tuning.
Do not generalize ONYX tuning data to other bikes even if they use similar motors, batteries, or controllers.
SUPPORTED HARDWARE
Controllers:
ND72680
ND84680
ND96680
ND721000
ND841000
ND961000
Motors:
QS205 V3Ti 4T
QS260 V4 4T
QS273 V3 4T
QS273 V4 4T
DEFAULT ASSUMPTIONS
If the user does not specify otherwise, assume:
Battery:
72V lithium
about 300A continuous capability
Motor:
QS205
PolePairs = 16
Wheel:
23 inch diameter
Controller:
ND72680 or ND721000
Use 72V as the default system voltage unless stated otherwise.
COMMON SYSTEMS
72V
84V
96V
CORE RULES
Never invent FarDriver parameters.
Use real parameter names such as:
MaxLineCurr
MaxPhaseCurr
LowVoltProtect
LimitSpeed
ThrottleLow
ThrottleHigh
FluxWeakening
If a parameter name is uncertain, ask the user before proceeding.
Never recommend values beyond controller, battery, or motor limits.
If critical configuration details are missing, ask before recommending settings.
Avoid unnecessary theory. Only include theory that directly affects tuning, safety, diagnosis, or setup.
CURRENT LIMIT LOGIC
Battery current:
MaxLineCurr
Controls battery draw, pack stress, BMS behavior, and total power.
Phase current:
MaxPhaseCurr
Controls torque, launch force, and motor heating.
Phase current is normally much higher than battery current.
CONTROLLER LIMIT REFERENCE
ND72680
MaxLineCurr about 350A
MaxPhaseCurr about 680A
ND84680
MaxLineCurr about 340A
MaxPhaseCurr about 680A
ND96680
MaxLineCurr about 330A
MaxPhaseCurr about 680A
ND721000
MaxLineCurr about 500A
MaxPhaseCurr about 1000A
ND841000
MaxLineCurr about 450A
MaxPhaseCurr about 1000A
ND961000
MaxLineCurr about 450A
MaxPhaseCurr about 1000A
POLE PAIRS
Most QS hub motors used on ONYX builds use:
PolePairs = 16
Incorrect pole pairs can cause:
incorrect speed readings
unstable self-learning
poor commutation
SPEED CONTEXT
FarDriver software may display electrical RPM.
For 16 pole pair motors:
Mechanical RPM = Displayed RPM × (4 / PolePairs)
TUNING PHILOSOPHY
Tune incrementally.
Increase limits gradually while monitoring:
controller temperature
motor temperature
phase connectors
battery voltage sag
BMS behavior
Aggressive tuning without monitoring can damage hardware.
THERMAL WARNING
Hub motors shed heat slowly.
Phase current above about 600A can rapidly heat sealed hub motors.
Always warn users when recommending high phase current.
SELF LEARNING
FarDriver Auto Learn may determine:
hall and phase mapping
motor direction
electrical timing
During learning the motor may:
spin forward
spin backward
vibrate
This is normal.
REQUIRED INFORMATION
Try to obtain:
controller model
battery voltage
battery current capability
motor model
motor Kv
wheel diameter
target speed
temperature monitoring
Critical minimum information:
controller model
battery voltage
motor model
If any of these are missing, ask before recommending settings.
TUNING ORDER
1. Set battery current limit
2. Set phase current
3. Configure throttle behavior
4. Configure field weakening
5. Set speed limits
6. Test thermals
RESPONSE FORMAT
System
Controller:
Battery:
Motor:
Wheel:
Recommended Parameters
MaxLineCurr:
MaxPhaseCurr:
FluxWeakening:
LimitSpeed:
Expected Behavior
Describe expected performance.
Risks
Explain thermal, electrical, traction, or battery risks.
CONSOLIDATION RULE
When reviewing, editing, analyzing, or improving tuning guidance, settings, or related content, provide all recommendations in one response.
Do not spread recommendations across multiple replies unless the user explicitly asks for step-by-step review.
If improvements are needed:
consolidate them into a single complete response
If no improvements are needed:
state that clearly and proceed
OBJECTIVE
Help users configure safe, stable, high-performance ONYX RCR systems using FarDriver controllers without hallucinating settings, exceeding hardware limits, or applying ONYX-specific guidance to non-ONYX vehicles.
4. Add Knowledge
Download:
Inside the Knowledge section:
- Click Upload Files
- Upload the file
This file becomes the GPT’s reference document for FarDriver tuning parameters.
5. Configure Capabilities
Disable all optional capabilities.
Web Search = Off
Canvas = Off
Image Generation = Off
Code Interpreter & Data Analysis = Off
This forces the GPT to rely on the uploaded document and internal reasoning rather than external sources.
6. Save the GPT
Click Create or Update.
Your custom GPT named ONYX JAWS MODE will now appear in your GPT list.
Example Query
After creation you can test the GPT with prompts like:
Type out the Ratio In Speed table
or
Explain the torque shaping behavior of Ratio In Speed
Section 2 - Running a Local AI Assistant with AnythingLLM
This method runs the same knowledge base entirely locally.
No cloud APIs are required.
Components used:
- Ollama
- Llama 3.1
- AnythingLLM
1. Install Ollama
Download:
macOS
- Download the installer
- Open the
.dmg - Drag Ollama to Applications
- Launch it once
Verify installation:
ollama list
Windows
- Download the
.exe - Run the installer
- Accept defaults
Verify installation:
ollama list
2. Download a Llama Model
Recommended:
ollama pull llama3.1:8b
Hardware support:
| Platform | Support |
|---|---|
| Mac | M1–M5 Apple Silicon with very usable performance |
| Windows / Linux | NVIDIA RTX GPU with very fast inference |
Optional larger model:
ollama pull llama3.1:70b
| Platform | Support |
|---|---|
| Mac | Apple Silicon M1–M5 on very high-RAM systems, typically 64GB+ |
| Windows / Linux | NVIDIA RTX GPU with high VRAM, typically 48GB+ |
3. Install AnythingLLM
Download:
Launch the application.
4. Configure AnythingLLM
Open:
Settings → LLM Provider
Select:
Ollama
Configure:
Endpoint
http://127.0.0.1:11434
Model
llama3.1:8b
5. Create a Workspace
Create a workspace named:
ONYX JAWS MODE
6. Upload the JAWS MODE Document
Upload:
Fardriver-ONYX-JAWS-MODE-v1.md
AnythingLLM will embed the document for vector search.
7. Query the Assistant
Example query:
Type out the Ratio In Speed
The assistant will retrieve the relevant FarDriver parameters from the document.
Result
You now have two ONYX AI tuning assistants:
- A ChatGPT GPT
- A fully local AI assistant
Both can analyze:
- FarDriver 680 and 1000 controller configuration
- QS hub motor behavior
- battery and controller limits
- JAWS MODE parameter sets
- torque curve shaping
- regenerative braking configuration
Example of GPT JAWS MODE Output
What Ratio In Speed Actually Does in FarDriver
Ratio In Speed is the current scaling curve vs motor RPM inside the FarDriver FOC control loop.
It directly shapes the motor torque envelope.
It is not throttle control and not field weakening.
It is a phase-current multiplier that changes as RPM increases.
What the Table Actually Controls
At each RPM breakpoint the controller multiplies the allowed torque current by the configured percentage.
Effective Phase Current = MaxPhaseCurr × RatioInSpeed(%)
Example using a typical JAWS configuration:
MaxPhaseCurr = 700 A
| RPM | Ratio | Effective Phase Current |
|---|---|---|
| 125 | 100% | 700 A |
| 500 | 100% | 700 A |
| 1000 | 93% | 651 A |
| 1500 | 86% | 602 A |
| 2000 | 82% | 574 A |
| 2250 | 80% | 560 A |
As RPM rises, the controller gradually reduces available torque current.
Why FarDriver Uses This Curve
Hub motors behave very differently across the RPM range.
Low RPM
Copper losses dominate.
Back EMF is low.
The controller can push extremely high phase current safely.
High RPM
Back EMF increases.
Voltage headroom decreases.
Field weakening begins.
Controller heating rises quickly.
Without reducing current at higher speed:
High RPM + High Phase Current
=
MOSFET stress
controller overheating
unstable field weakening
The Ratio In Speed curve protects the controller while maintaining strong acceleration.
What the Torque Curve Looks Like
JAWS-style tuning produces a torque envelope that looks roughly like this:
Torque
│
│ ██████████████████████
│ ██████████████████████
│ ███████████████████
│ ████████████████
│ █████████████
│ ███████████
│ █████████
│
└────────────────────────
0 mid high
Motor RPM
0–600 RPM
Full torque.
Maximum launch force.
600–1200 RPM
Small torque reduction.
Acceleration still very strong.
1200–2000 RPM
Torque tapers gradually.
This keeps the controller thermally stable.
2000+ RPM
Torque continues decreasing.
Speed increases primarily through voltage rather than current.
Why JAWS Uses This Shape
This curve intentionally prioritizes three behaviors.
Launch Torque
100% current is maintained until roughly 600 RPM.
This produces the aggressive launch feeling common in JAWS setups.
Instant wheel torque
Mid-Speed Acceleration
Torque only drops slightly to around 90%.
The bike still pulls strongly through the typical:
30–60 mph acceleration range
High-Speed Stability
Around 2000 RPM, torque falls to roughly 80%.
This helps prevent:
| Problem | Cause |
|---|---|
| MOSFET saturation | excessive current at high back EMF |
| Phase wire heating | sustained high current |
| Field weakening oscillation | unstable voltage margin |
Interaction With Other Parameters
MaxPhaseCurr
Defines the absolute torque ceiling.
Ratio In Speed
Defines where that torque exists across the RPM range.
Field Weakening
Field weakening activates after base speed.
When field weakening begins:
Voltage increases
Torque decreases
Speed increases
Ratio In Speed helps smooth the transition into field weakening.
What Happens If You Remove the Taper
If every entry is set to 100%:
| RPM | Ratio |
|---|---|
| 125 | 100 |
| 250 | 100 |
| 375 | 100 |
| 500 | 100 |
| … | … |
| 2250 | 100 |
Pros
| Benefit |
|---|
| Stronger mid-speed acceleration |
Cons
| Problem |
|---|
| Controller overheating |
| Field weakening instability |
| Battery sag spikes |
| Violent current transients |
Many FarDriver controller failures occur when the torque taper is removed entirely.
Why the RPM Steps Look Strange
Values like:
125
250
375
500
exist because the FarDriver controller internally assumes four pole pairs.
A typical QS hub motor uses sixteen pole pairs.
Controller RPM = Motor RPM × 4
Example:
Controller 500 RPM = 125 Motor RPM
This is why the table breakpoints map correctly to real wheel speed.
Key Insight
The Ratio In Speed table is effectively a motor torque curve editor.
It directly defines:
Torque vs RPM behavior
Many FarDriver tuners overlook this table, but it is one of the most powerful tools for shaping acceleration, thermal behavior, and controller stability.
A well-shaped curve can make a setup feel dramatically faster while remaining safe for the hardware.
