Calculate the ideal spring rate for your DVO Jade or Jade X shock.
Enter your weight fully kitted up.
Standard for DVO coils is 28-30%.
Ideal Spring Rate
0 lbs/in
Recommended Commercial Spring: 0 lbs
Understanding Your DVO Spring Rate
Setting up your DVO suspension correctly is critical for performance and safety. The most fundamental step in tuning a coil shock like the DVO Jade or Jade X is selecting the correct spring rate. Unlike air shocks, where you can adjust pressure with a pump, a coil shock requires a physical spring that matches your weight, bike geometry, and riding style.
Note on Units: This calculator uses imperial units (lbs and inches) because DVO and most suspension manufacturers label their springs in pounds per inch (e.g., 450 lbs/in). If your bike specs are in millimeters, divide by 25.4 to convert to inches.
How the Calculation Works
This calculator uses a physics-based approach to determine the spring force required to support your mass at a specific sag point. The formula considers three main variables:
Rider Weight: This must include your helmet, shoes, hydration pack, and protective gear. A "riding weight" is often 10-15 lbs heavier than "bathroom scale" weight.
Leverage Ratio: This is the ratio of Rear Wheel Travel to Shock Stroke. A higher leverage ratio exerts more force on the shock, requiring a stiffer spring.
Rear Bias: When in a neutral riding position (attack position), approximately 65-70% of the rider's weight is supported by the rear shock. This calculator accounts for this distribution to prevent undersprung results.
Choosing Between Spring Rates
Springs are typically manufactured in 50lb increments (e.g., 400, 450, 500 lbs/in). It is rare for a calculation to land exactly on a commercially available number.
Round Up: If you are an aggressive rider, hit large jumps, or prefer a "poppy" and supportive feel.
Round Down: If you prefer a plush, planted feel for technical traction and rarely bottom out your suspension.
Setting Sag on DVO Shocks
Once you have your spring installed, you must verify the sag. DVO generally recommends 28-30% sag for the Jade series shocks.
To measure sag:
Slide the bottom-out bumper up against the shock body.
Gently sit on the bike in your full riding gear.
Dismount carefully without bouncing.
Measure the distance the bumper moved.
Divide this distance by your total Shock Stroke.
If you achieve the correct sag with minimal preload (1-2 turns of the preload collar), your spring rate is correct.
function calculateSpringRate() {
// Get input values
var weight = document.getElementById('riderWeight').value;
var travel = document.getElementById('rearTravel').value;
var stroke = document.getElementById('shockStroke').value;
var sagPercent = document.getElementById('desiredSag').value;
// Validation
if (weight === "" || travel === "" || stroke === "" || sagPercent === "") {
alert("Please fill in all fields to calculate your spring rate.");
return;
}
var w = parseFloat(weight);
var t = parseFloat(travel);
var s = parseFloat(stroke);
var sag = parseFloat(sagPercent) / 100;
if (w <= 0 || t <= 0 || s <= 0 || sag <= 0) {
alert("Please enter valid positive numbers.");
return;
}
// Calculation Logic
// 1. Calculate Leverage Ratio
var leverageRatio = t / s;
// 2. Determine Weight Bias (Approx 65% on rear wheel for Enduro/DH context)
var rearWeightBias = 0.65;
var supportedWeight = w * rearWeightBias;
// 3. Calculate Required Wheel Rate Force
// This is a simplified physics model widely used in MTB tuning
// Rate = (SupportedWeight * LeverageRatio) / (Stroke * Sag)
// However, a more accurate field approximation often used is:
// SpringRate = (Weight * LeverageRatio) / (Stroke * Constant_related_to_sag)
// Using the TF Tuned / Fox standard approximation logic adjusted for sag input:
// Force on Spring = Weight * Bias * LeverageRatio
// Displacement = Stroke * Sag
// Rate = Force / Displacement
var springRate = (w * rearWeightBias * leverageRatio) / (s * sag);
// Display Results
var resultBox = document.getElementById('resultBox');
var resultText = document.getElementById('calculatedRate');
var commText = document.getElementById('commercialSpring');
// Round the exact rate
var exactRate = Math.round(springRate);
// Determine nearest 50lb increment
var lowerSpring = Math.floor(exactRate / 50) * 50;
var upperSpring = Math.ceil(exactRate / 50) * 50;
// Logic to recommend the closer one
var recommended = (exactRate – lowerSpring < upperSpring – exactRate) ? lowerSpring : upperSpring;
resultText.innerHTML = exactRate + " lbs/in";
commText.innerHTML = recommended + " lbs or " + (recommended + 50) + " lbs";
resultBox.style.display = "block";
}