Why your range does not match the spec sheet

Rated range is measured under ideal conditions. Your results depend on weight, weather, terrain and how you ride. The good news is that most range loss comes from a handful of fixable causes.

Start with tire pressure

This is the cheapest range upgrade there is. Underinflated tires increase rolling resistance, which means the motor works harder for the same distance. Check pressure weekly against the figure printed on the sidewall.

Ride smoothly

Hard acceleration from a standstill is where batteries drain fastest. Accelerating gradually and holding a steady speed makes a measurable difference. On hills, pedal assist on an e-bike, or reduce speed on a scooter, rather than forcing the motor to work at full load.

Look after the battery

Battery care determines both range and lifespan:

Ontario winter storage

Cold is hard on batteries. If your ride is stored over winter, keep the battery somewhere heated rather than in an unheated garage, and top up the charge periodically instead of leaving it to discharge. A battery that sits flat through a cold winter often never recovers its original capacity.

When range loss means something is wrong

A gradual decline over years is normal ageing. A sudden drop is not. If range falls sharply, have the battery and controller tested. Our service department carries out battery diagnostics and controller replacement on the brands we sell, so the problem gets identified rather than guessed at.

Leave a Reply

Your email address will not be published. Required fields are marked *

/* ========================================================================= FLOATING CONTACT BUTTON — WPCode PHP snippet ------------------------------------------------------------------------- HOW TO INSTALL: 1. WPCode -> + Add Snippet -> Add Your Custom Code (Blank) 2. Code Type: PHP Snippet 3. Paste ALL of this (do NOT add an opening Settings -> Chat box -> the "key" value). Looks like a long letters+numbers string. e.g. 'c659c6a8a342929c7fe6946b7891aa5475aeb301' FCB_EMAIL a plain email address. e.g. 'support@yoursite.com' FCB_PHONE the number people should CALL, international format with + and country code, no spaces or dashes. e.g. '+12065550123' FCB_SITE your business name shown at the top of the panel. Leave '' to use the WordPress site title automatically. ------------------------------------------------------------------------- */ defined('FCB_WHATSAPP') || define('FCB_WHATSAPP','+12065550123' ''); // e.g. '+12065550123' defined('FCB_LIVECHAT_KEY') || define('FCB_LIVECHAT_KEY', 'c659c6a8a342929c7fe6946b7891aa5475aeb301'); // e.g. 'c659c6a8a342929c7fe6946b7891aa5475aeb301' defined('FCB_EMAIL') || define('FCB_EMAIL','support@yoursite.com'); // e.g. 'support@yoursite.com' defined('FCB_PHONE') || define('FCB_PHONE','+12065550123'); // e.g. '+12065550123' defined('FCB_SITE') || define('FCB_SITE', ''); // e.g. 'Acme Store' (blank = site title) /* ========================================================================= */ /* ---- Live chat API loader (only if a key is set) ---- */ add_action( 'wp_head', function () { if ( is_admin() || '' === FCB_LIVECHAT_KEY ) { return; } ?> render nothing if ( ! ( $has_wa || $has_chat || $has_email || $has_phone ) ) { return; } $wa_href = 'https://wa.me/' . preg_replace( '/\D/', '', $wa ) . '?text=' . rawurlencode( 'Hello ' . $site ); $tel_href = 'tel:' . preg_replace( '/[^\d+]/', '', $phone ); ?>
( () => { const lazyloadRunObserver = () => { const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` ); const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => { entries.forEach( ( entry ) => { if ( entry.isIntersecting ) { let lazyloadBackground = entry.target; if( lazyloadBackground ) { lazyloadBackground.classList.add( 'e-lazyloaded' ); } lazyloadBackgroundObserver.unobserve( entry.target ); } }); }, { rootMargin: '200px 0px 200px 0px' } ); lazyloadBackgrounds.forEach( ( lazyloadBackground ) => { lazyloadBackgroundObserver.observe( lazyloadBackground ); } ); }; const events = [ 'DOMContentLoaded', 'elementor/lazyload/observe', ]; events.forEach( ( event ) => { document.addEventListener( event, lazyloadRunObserver ); } ); } )();