Cycle Analyst V3

V3 Cycle Analyst

The V3 Cycle Analyst is the next step for the CA product line to not only monitor what is going on in an ebike, but also control it. In the V2 CA we included basic throttle over-ride capabilities for speed, current, and low voltage limiting that proved quite popular, but fundamentally it was mostly a passive display. With the V3 Cycle Analyst, all the ebike signals, from your brake cutoffs to your throttle to your pedal sensor, are first intercepted at the Cycle Analyst. The CA then processes all of these inputs to determine how to control your bike, which it then does via one standard throttle output signal to the controller.

Comparison of V3 and V3 Cycle Analyst Wiring Strategies

There are many advantages to this arrangement. In the traditional setup, any features that you wanted on the ebike, be it cruise control, torque sensing pedalec modes, temperature rollback etc. had to be supported by your particular motor controller. An OEM ebike company can design a custom controller that works with a specific set of input sensors, but DIY projects don’t have this luxury. With the V3 Cycle Analyst, you have access to all these advanced sensor and control schemes no matter what model motor controller powers your system.

Here are some of the more popular features you can include by using the V3 CA as your central ebike/EV console:

  • Thermal Rollback: A temperatures sensor input allows the V3 Cycle Analyst to scale back power as a motor heats up and prevent overheating damage.
  • PAS Sensor: The V3 Cycle Analyst can take the pedal pulse inputs of almost any ebike pedal rotation sensor to display your pedal cadence. It can use this to provide automatic power whenever you pedal (PAS mode) .
  • Torque Sensor: There is an analog input to sense a pedal torque sensor (such as the THUN bottom bracket), display your human power input, and give proportional no-throttle pedalec control.
  • Ebrakes: A digital input for ebrake sensors to plug in directly to the CA3, without needing to run another set of cables all the way down the bike to the controller.
  • Throttle Input Mapping: The CA3 can map your input throttle range to an output range suitable for the controller in order to eliminate dead-band zones at the beginning and end of the throttle motion.
  • Throttle Modes: Setup your throttle in Pass-Thru mode for conventional voltage control, or have your throttle directly regulate the battery current or motor power instead. 
  • Throttle Ramps : Reduce the sensitivity and off-the-line kick of high power systems by setting ramp limits on the CA’s output throttle signal. 
  • On the fly Limit Adjustments: Use a potentiometer or multi-position switch to instantly adjust any of your current/power/speed or pedal assist limits. 
  • Mode Presets: Configure up to three distinct power mode presets each with their own limit settings and PAS/Throttle behaviors, and then easily switch between them with a double button press.
  • Battery SOC and LVC: Accurate State Of Charge (SOC) estimator based on your cell chemistry and voltage. Configure up to two batteries each with their own details and Low Voltage Cutoffs.

Plus many advanced capabilities to discover, and of course all the functionality that you have in the V2 CA like volts, speed, amps, amp-hours, %regen, watt-hours/km etc.

User Manuals

An official user manual has not yet been prepared, but almost all of the information is exceedingly well documented in the unofficial users guide written by Endless-Sphere forum member Teklektik. This goes into great detail on all of the setup process to hook up a CA3 to almost any ebike system, with or without a controller that has a CA3 plug.

If you are looking to hook up a CA to the Bafang BBSXX mid-drive motors, it is a bit tricky due to the integrated motor controller and the overmolded plugs. However, our dealer in Gemany has prepared an almost plug and play CA conversion for the bafang mid-drive which is available from the website

Display Screens

The V3 Cycle Analyst has a total of 11 display screens to scroll through, and as a user you can mask screens that you don’t want to show up from the preferences section of the setup menu.

Display #1 – Main Screen

The primary display screen shows at a glance all of the key info you would want to see from the bike. There is a battery fuel gauge in the top left, plus a readout of your pack voltage, speed, and battery power draw. The button right corner toggles between showing your accumulated trip distance and accumulated battery amp-hours, and if a temperature sensor is enabled it will show the temperature too.

Main Display Screen on V3 CA

Meanwhile, on the bottom left there are two additional graphic blocks. A throttle slider icon shows visually where your input throttle is at, switching to a flashing mode if throttle auto-cruise is latched, and then to a brake lever if ebrakes are engaged. Adjacent to this is a human power indicator that works if you have a PAS sensor enabled, indicating either your human power or your pedal cadence.

Also note that if you exceed the speed limit, then the speed units will flash, and if you hit the battery low voltage cutoff then the voltage sign will flash. If you are below the minimum start speed, then the speed number itself will flash.

Display #2 – Electrical Only

2nd Electrical Only Display Screen of V3 Cycle AnalystThe 2nd screen only shows electrical stats; Volts, Watts, Amps, and Amp-Hours. It is useful when using the CA on non-vehicle systems where all the additional details on the first screen are not relevant. 

Display #3 – Human Power

Cycle Analyst V3 Human Power ScreenThe 3rd screen is interesting for people who have a torque sensor in their system. The top line shows key vehicle stats: your voltage, amps, and speed, while the 2nd line displays your human power input and pedal cadence. 


Display #4 – Energy Mileage

Display Screen 4, Energy MileageThe next display is the same popular readout from the V2 CA devices which shows the net watt-hours taken from the battery pack, as well as your energy ‘mileage’ in units of Wh/km or Wh/mi. This is the EV equivalent to gas mileage in L/100km, and the smaller the number the better energy economy and longer range you’ll get from a battery pack.

Display #5 – Human Stats

Display Screen #5, Human Power and CadenceScreen number 5 is a summary of the human power statistics for the trip, showing the total human watt-hours, along with the average watts and average pedal cadence. Note that the human watts are only averaged while the rider is pedaling, so if you coast or ride throttle only for a while this won’t reduce your average. 

Display #6 – Regenerative Braking

Display Screen #6, Regen Braking StatsThe relative benefits of regen are debated at length in the ebike community, and the point of this screen is to at least help provide analytic numbers to the discussion. On the left you will see the % by which your range has increased as a result of regen, and on the right it toggles between the total forwards and reverse amp-hours that were accumulated. (The Ah display on the 1st and 3rd screen is the net difference).

Display #7 – Max and Mins

Display #7, Max and Min currents and voltagesThe next stat shows the electrical max and mins on the system. Usually the max amps isn’t all that interesting since it will be the same as your controller current limit, but the Amin will show the max regen current, and the multiplication of Amax and Vmin will typically coincide with the maximum power draw as well.

Display #8 – Speed Stats

CA Display #8, Speedo StatisticsThis one is self explanatory. Max speed, average speed, and trip time. In some cases you may see a somewhat wild value for MaxS, this can be the result of a double bounce in the speedometer pickup switch and adjusting the relative magnet and sensor positions can solve it.

Display #9 – Odometer

Display Screen #9, Trip Distance and Lifetime OdometerHere you can see the same total trip distance as the first screen but with much greater precision, along with the lifetime odometer for the vehicle.


Display #10 – Battery Stats

Display Screen 10, Battery Resistance, Cycles, and Lifetime Amp-HoursThe battery statistics includes the lifetime cycles and amp-hours of the battery pack, along with a current estimate on the battery’s internal resistance in Ohms. The Cycles count increments every time you reset the CA by holding the right button, and both the Cycles and Total Amp-Hours are unique to each battery. So if you have both an ‘A’ and ‘B’ battery enabled, you can keep separate stats on each pack.
The battery resistance is computed on the fly by seeing how much voltage sag accompanies changes in current draw. This stat is useful, not only to quantify the performance of a pack but also to assess its aging and cold weather behavior. The internal resistance of most batteries will start to increase well before there is much noticeable decrease in the amp-hour capacity.

Display #11 – Diagnostics

The final display screen is most useful when initially setting up the CA for various feedback and control modes. On the top line you can see both the input throttle voltage from the user, as well as the output voltage that the CA is sending to the motor controller.

CA Screen #11, Diagnostics with Throttle Input and Output Voltages

The bottom line has a row of limit flags showing which throttle limiting feedback loops are currently engaged. So if you are exceeding the speed limit, the ‘s’ becomes a large ‘S’, and similar flags for the current limit (a/A), power limit (w/W), low voltage rollback (v/V), and thermal rollback (t/T). If for instance you have the bike setup for proportional pedalec assist, then the commanded power limit of the CA is being set by your pedal effort, and so the power limit flag ‘W’ will be set showing that the CA is in a power limit control loop.

CA3 Setup Menu

The setup menu is accessed by pressing and holding the left button for several seconds, or by holding the right button down while the CA is powered up. It is a 2-level deep menu list organized into 13 high level groups to let you adjust over 60 different settings. Remember the left and buttons toggle left and right (or up and down), while pressing and holding the right button selects something.
There are also a few visual cues to help with the navigation. Arrows on the left and right show when there are more items in the current menu level, while a straight bar indicates you are at the end of the list, and pressing the next button will take you up a level.
As well, for each of the 13 categories there is a small preview line showing some of the key settings and real-time input signals for that category.


Preview line shows current units (mi/km), current wheel size (in inches), #Poles, and the state of the speed sensor input (up arrow = 5V, down arrow = 0V)

  1. Units: Select between using units of kilometers or miles. Notice that changing this will not rescale odometer, speed limits etc.
  2. Circuf: Exact wheel circumference in mm.
  3. #Poles: This is the number of pulses on the Sp pad that is considered one full wheel revolution. For direct drive hub motors with a CA-DP model, it would be the number of magnet pole pairs in your hub (usually between 8 to 26). If you have a CA-DPS with external speed sensor, it would be the number of magnets on your wheel, usually 1, but for better low speed control it can be advantageous to use several magnets.
  4. TotDist: Lets you pre-load the vehicle odometer.

Preview line shows nominal voltage and chemistry of selected battery pack.

  1. A or B: Lets you choose the current battery preset provided that that you've already enabled 2 batteries, otherwise this screen does not show up. All values following will be linked accordingly to either battery 'A' or 'B', including the cycles and total Ah statistics.
  2. Chemistry- Select the cell chemistry of your pack:
    1. LiMn: Lithium Manganese, most common 18650 style cell rechargeable lithium chemistry, somewhat steady drop from 4.2V down to 3.6V, and then a more rapid fall off to 3.0V
    2. LiPo: Lithium Polymer, standard ebike grade used in many lightweight lower-end lithium ebike battery packs. This has an almost linear voltage drop from 4.2V to 3.0 V / cell.
    3. RCLiP: This is an option is for the high ‘C’ discharge rate Lithium Polymer batteries used in R/C vehicles and the likes. These chemistries have less voltage drop during discharge, going flat at about 3.5V rather than the 3.0V of most ebike LiPo. 
    4. LiFe: Lithium Iron Phosphate, the heaviest lithium chemistry, full charge is 3.6V / cell, but then sits almost completely flat at 3.3V / cell until the very end of discharge. 
    5. SLA: Sealed Lead Acid, the properties are more or less the same for other types of lead acid pack. Full charge at about 2.25V/cell and going totally flat around 1.9V. 
    6. NiMH: Nickel Metal Hydride, once a very common rechargeable battery, now largely displaced by lithium. NiCad packs can also use this option as the voltage discharge profiles are nearly identical.
  3. String#: Number of cells strung together in series to make the battery pack. For LiMn and LiPo, 36V is 10S, 48V is 13S.For LiFe, 36V is 12S, while 48V can be either 15S or 16S. For SLA, each 12V lead acid brick is made up of 6 cells, so multiply the number of 12V packs by 6 to get the total cell count.
  4. Capacity: This is the capacity of the battery pack in amp-hours, which is used to improve the accuracy of the battery fuel gauge display while you are drawing current. For lithium and nickel chemistries, the nominal advertised Ah is generally correct. With SLA, you should take the Peukert effect into account, and scale the rated Ah down by 30-35%. So for instance, a 12Ah SLA has a useful capacity closer to 8Ah.
  5. Vlt Cutoff: This is the low voltage rollback. When the CA detects the battery voltage falling below Vlt Cutoff, it will gradually scale back the power draw to keep the voltage from dropping any lower.
  6. LoVGain: This is the feedback gain setting for the low voltage rollback. A higher number will result in the power scaling back more abruptly when voltage falls below the cutoff.
  7. TotCyc: This is the total number of charge cycles on the battery pack, assuming that the CA was reset after each full recharge.
  8. TotAhrs: This is the total life cycle amp-hours that have been pulled from the battery to date.

Preview line shows measured voltage of throttle input, the equivalent % throttle that this voltage corresponds to, and the throttle mode (amps, speed, pass-thru etc.)

  1. Cntrl Mode: Allows you to select the function of the users input throttle
    1. Pass-Thru: User throttle is linearly remapped from the input throttle range to the output throttle range, and then passed on to the output.
    2. Current (A): User throttle controls the battery current, from 0A up to the value in Max Current. If using this mode, it makes sense to have your CA’s Max Current equal to or lower than the controller’s current limit, otherwise only part of the range will be mapped.
    3. Speed (kph): User throttle directly controls the speed of the bike, from 0 up to the value in Max Speed. This is not a recommended throttle mode for most scenarios as small twitches in the throttle can result in large pulses of power as the bike attempts to track this. 
    4. Power (W): User throttle controls the power to the motor controller, from 0 up to the value in Max Power. In this mode you should not have your Max Power set much higher than your battery voltage times the controller current limit.
    5. Off ( 0V ): This mode ignores the input throttle, and sets the output throttle signal low. The output can then only go high if you have one of the PAS modes enabled and are pedaling. You can achieve the same thing by simply unplugging the throttle, but this option can be useful if you want swap between different presets with and without throttle modes. 
    6. Off (WOT): User throttle is ignored as well, but the CA’s output will default to Max Throttle until one of the limits is exceeded. This is included for legacy support for people using a V3 CA on a controller designed for V2 CA-DP connector, which have a separate throttle feeding the controller and the CA is diode connected to only pull that signal down. If this mode is selected with the CA's output going directly to a CA3 compatible controller, then it will cause the bike to take off on power up. So be careful. 
  2. Min Input: This is the voltage threshold for the lower bounds of the input throttle. When the throttle signal is less than this, then it is assumed the throttle is off. It should be set at least 0.2V higher than the voltage present on the throttle when the throttle is disengaged. If it is set very close to your actual minimum voltage signal and you have one of the PAS modes enabled, then electrical noise can cause the CA to briefly assume that you are using the throttle which will disable the PAS output, resulting in a momentary drop in power. 
  3. Max Input: This sets the upper bound that is considered the “full throttle” voltage. It is possible to play with this value to adjust your throttle range and sensitivity, but normally it would be set about 0.2V lower than your actual full throttle voltage.
  4. Fault Volt: This sets a fault detection threshold. If the throttle signal input is higher than Fault Volt, the CA will assume there is a fault and not treat it as a full throttle. This situation can happen for instance if the throttle’s ground wire gets disconnected while the 5V and Signal lines are still attached. You would usually want this about 0.1V higher than your actual full throttle voltage. The default is 4.35V. 
  5. Auto Cruis: This feature enables you to have a cruise mode if you hold the throttle steady in the same position for a length of time. At that point, the throttle slider on the first screen will start to flash, you can release the throttle but the CA will still power it up. The cruise mode is released anytime you hit the ebrakes or twist the throttle again:
    1. Off: Auto Cruise Mode is Disabled
    2. 2 Sec: Auto Cruise will latch after holding throttle for 2 seconds
    3. 3 Sec: Auto Cruise will latch after 3 seconds. 
    4. 4 Sec: Auto Cruise will latch after 4 seconds
    5. 5 Sec: Auto Cruise will latch after 5 seconds
    6. 6 Sec: Auto Cruise will latch after 6 seconds
    7. 8 Sec: Auto Cruise will latch after 8 seconds
  6. Cruise Hld: This setting lets you adjust the voltage sensitivity for the auto cruise throttle latch. If you have a twitchy thumb throttle, then you may need to have a large voltage band. Too large of a band can cause the autocruise feature to latch inadvertently even when you didn’t want it.

Preview line shows the current output throttle range, whether it is in Volts or mS pulse width, and has a crude graphical indicator of the throttle ramp rate.

  1. Outpt Mode: Lets you select between a steady analog voltage output from the CA’s Throttle Output line, or a 1-2mS RC servo style pulse output.
  2. Min Out: This is the lower output throttle range. You can use the pass thru throttle mode to see at exactly what voltage your controller starts to respond to a throttle signal, and then set Min Output about 0.2V less than this. For RC speed controllers, it would normally be 0.9-1.0 mS.
  3. Max Out: This is the maximum voltage or pulse width that the CA will send to the controller. Many controllers have an overvoltage throttle fault, so you want to make sure the CA's throttle output does not exceed this. For most ebike controllers the throttle that results in full power is somwhere between 3.5 to 3.9V
  4. Brake Out: This is the voltage output of the CA when you squeeze the ebrakes. In some setups you can use a value lower than the Min Out setting to have your controller recognize that the brakes are squeezed and engage regen.
  5. Up Rate: This sets a firm maximum ramp-up rate for the throttle output signal, and can be used to smooth out harsh kick on powerful systems. A lower value in V/sec will result in a longer time for the throttle to ramp up and resulting in a more gentle application of power. Values of 0.5 to 2 V/sec are recommended. 
  6. Down Rate: This can be used to clamp how fast the throttle output will ramp downwards. For safety reasons you would generally leave this at a high value so that the system can shut off promptly, but there can be times where a slower disengagement of motor power is preferred. Values of 4 to 8 V/sec are recommended.
  7.  Fast Rate: This is an additional fast ramp-up rate for the throttle output that applies only if the CA has not detected any current flow from the battery. It allows the CA’s output quickly reach a level that starts having an effect on the controller before then dropping to the normal ‘up rate’ limit. This eliminates the lag time for a ramped throttle output to catch up with the bike when you apply the throttle and are already moving. Values of 4-8 V/sec are recommended.  
  8. Fast Thrsh: This sets the threshold current that must be seen by the CA for it to switch from the “Fast Rate” to the standard ramp-up rate. For direct drive hub motors, it should be quite low, like 0.5 to 1A. But for geared motors or mid-drive systems, it should be higher than the no-load current required to accelerate the motor from still. Usually a threshold of 2 to 4 Amps works well. 

Preview Line shows the speed limit of the selected preset.

  1. Max Speed: Upper speed limit. The CA will roll back its throttle output voltage if you start to exceed this.
  2. Strt Speed: This is a minimum starting speed that must be reached before the CA will allow an output. It is useful for RC drives or systems with sensorless controllers that do not work well from a dead start. The rider must pedal the bike up to Strt Speed before power will be applied.
  3. IntSGain: Integral feedback gain for speed PID control loop. Lower values give smoother control and less likelihood of hunting, but can increase the time it takes for the speed limit to stabilize.
  4. PSGain: Proportional feedback term for speed control loop. Displayed in terms of Volts / (mph or kph). So if it is set to 0.5V/kph, then for each km/hr you go above the speed limit, the throttle output will immediately drop by 0.5V.
  5. DSGain: Differential feedback term for speed control loop. This is used to dampen oscillations from speed limiting as it allows the CA to anticipate that you are accelerating towards the speed limit and scale back power before you reach it. Values in the 100-300 range seem to work well.

Preview Line shows the amps limit and watts limit of the selected preset.

  1. Max Current: Set the CA’s current limit. This value may be further scaled down by the throttle, and/or the Aux Voltage, and/or the temperature limit.
  2. A Gain: Feedback gain for the current control loop. Generally it should be increased until you start to feel the current limit being rough or oscillating, and then scaled back about 30%.
  3. Max Power: This sets a power limit in watts. It has very similar effect as a current limit, except that it is independent of the battery voltage.
  4. W Gain: Same story as A Gain above, only now applied to the power limiting feedback loop. This is also used by any control modes that are based on a power limit, such as AutoPAS mode or Torque Assist. Gain values between 10 to 20 seem to work well with most ebikes operating in a pedal assist mode.

Preview line shows # of PAS poles, the state of both the PAS and DIR digital inputs (up arrow is 5V, down arrow is 0V), and the current PAS assist mode.

  1. PAS Poles: This is the number of pulses which corresponds to one full rotation of the pedal sensor. It is 8 for a THUN sensor, 12 for a TDCM sensor, while the Chinese magnet ring PAS disks can vary from 5 all the way to 16 in some cases.
  2. Dir Plrty: This controls whether 5V on the “Dir” pin is considered forward or reverse pedaling. If the Dir pin is not connected, then it should be set to 5V = Fwd. For a quadrature encoded device, you will tell from trial and error if this needs to be set to FWD or REV for your encoder setup.
  3. Sensor Type: (Was: Quadratr, not in Prelim6 Firmware) This selects whether you have a single wire PAS sensor or a quadrature PAS sensor with 2 signal wires. The THUN, TDCM, and our 12 Pole PAS sensors are all qudrature devices and should use the 2-wire option, which will have the most responsive behavior and will prevent glitches if the pedals are rocked back and forth without actually turning. If using a 3rd party PAS sensor with just one wire to the RPM pin of the CA, then select the 1-wire choice.
  4. Strt Thrsh: This sets the threshold RPM that you must be pedaling for the CA to assume you are turning the cranks and start powering the motor in one of the PAS modes. If it is set to a low RPM, then the motor will kick in sooner as you start to pedal from a standstill, but it can also take longer to shut off if you start and then stop pedaling. The more poles in the PAS magnet sensor the lower it can safely be.  For a 12 pole device (like the TDCM and our magnet ring PAS sensors) about 10 RPM is a good start point, while an 8 pole sensor like the THUN should be more like 15 rpm.
  5. Stop Thrsh: This is the threshold RPM that is used to indicate you have stopped pedaling after you have made one full revolution of the cranks. A higher value will mean that in a PAS mode the motor power will cut off more abruptly once your pedals stop, while a low value can result in a noticeable lag for the power to shut off. Sensible values are usually between 1-2x the Strt Thrsh RPM. 
  6. PAS Mode – Select which pedal assist (PAS) mode is used:
    1. PAS Off: With this setting, pedal rotation or pedal torque does not drive the throttle output of the CA. You can still see and log your cadence RPM and human watts, but you must use a throttle to regulate the motor power.
    2. Auto PAS: In the Auto PAS mode, the motor will power up automatically whenever you are pedaling, at a power level set by PAS Watts. You can use the throttle as well, at which point the CA’s output will be based on your throttle level.
    3. Throt PAS: With this mode, you still need to use the throttle in order to power the bike, but the throttle will only function when you are pedaling. So you need to both pedal and throttle to have an output.
    4. Trq PAS: With this setting, the CA will drive the motor with a power that is proportional to the amount of human pedal input, for torque proportional assistance. You can use the throttle as well, at which point the output power will be controlled by the throttle level and not by your pedal effort.
  7. PAS Watts: This option only shows up in the menu of “Auto PAS” mode is selected. With it you set the target bike power that is achieved whenever you are pedaling without the throttle. It can be nice to set your PAS Watts to a nice background assist level, and then use the throttle whenever full power is needed. 
  8. MxThrotSpd: This is the maximum speed at which you can use the throttle without pedaling in one of the PAS modes. It is there to support certain European pedalec legislation which requires you to pedal the bike for motor power, but provides an exemption below a certain speed (like 6kph) in which case use of a throttle only is permitted.

Preview line shows the measured voltage from the torque sensor signal. If the torque sensor is enabled, then it also shows the corresponding calculated N-m of torque on the cranks.

  1. Sensr Type:
    1. Disbled: Torque sensor signal is ignored and will be read as 0 N-m
    2. Thun BB: This will preload the settings for the Thun torque sensing bottom bracket (really just -200Nm/V).
    3. Custom: Lets you input a custom torque sensor with an offset and scaling factor from V to Nm 
  2. Trq Scale: This only shows up if you have "Custom" torque sensor selected, and it sets the scaling factor for converting voltage from the torque sensor into Newton meters. For devices that sense torque on only one side of the crank, it should be doubled in order to simulate the net left and right pedal torques. The value can be set either positive or negative. For TDCM Sensors, it is approximately the same as the number of teeth on the front chainring. So a 44T chainring would be about 44 Nm/V.
  3. Trq Offset: This only displays if you have a torque sensor enabled, and it sets the current voltage reading on the torque sensor to the 0 torque value. The number on the left shows the torque offset stored in memory, while the number on the right is real-time voltage reading from the sensor. Holding the button will shift the real-time reading into the new offset value. Note that magnetostrictive torque sensors (like THUN and FAG) don’t return to the same zero point very well after high torque excursions.
  4. Asst Factr: This sets the amount of proportional assistance that is provided to your pedal input. It is a multiplier of the human watts, so a setting of 2.00 means the electrical motor watts will be double your human power. 
  5. Asst Start: This enables you to set a threshold human power before the proportional torque assist will kick in. If it is set to 100 watts, then any time you are pedaling lightly you won’t get assist, and only when your human effort exceeds 100W will the proportional motor torque kick in. This value can be set negative, which will have the natural effect of providing motor power even if you are turning the cranks with almost no effort. 
  6. Asst Avg: This value lets you control over how much of the pedal rotation to average the torque signal, as measured by the number of PAS pulses. Because the pedal torque pulsates heavily with each turn of the cranks, it is essential to average the signal to prevent corresponding pulses of motor torque too. For a sensor like the THUN which only measures the left side pedal torque, this should be a multiple full rotations, so either 8, 16, or 24. A higher value leads to smoother power output but also a slower response to changes in pedal effort. For the 12-pole TDCM sensor which senses both left and right torque, it can be set in multiples of half pedal rotations, so 6, 12, 18 etc.

Preview line shows the measured voltage from the temperature sensor pad as well as the corresponding temperature in degrees if a temperature scaling is enabled.

  1. Sensor – Select which type (if any) of temperature sensor is connected to the NTC pin
    1. Disabled: Voltage on the NTC pin is ignored
    2. 10K Thrmstr: Voltage on the NTC pin is scaled into degrees Celsius assuming a 10K NTC thermistor with a beta constant of ~3900.
    3. Linear Type: Voltage on the NTC pin is scaled linearly into a temperature reading based on a custom scale and offset.
  2. 0 Deg: (bug in Prlm6 FW shows “Units” text instead) Only present if Linear Type is selected. This represents the sensor voltage that is treated zero degrees.
  3. T Scale: Also only present if Linear Type is selected. This sets the scaling factor for converting the sensor voltage into degrees, in units of Deg/V.
  4. Thrsh Temp: This is the temperature at which thermal rollback of the CA’s current limit begins to kick in.
  5. Max Temp: This is the temperature at which the thermal rollback will have brought the CA’s current limit right down to 0 amps. The current limit is scaled linearly down from Max Amps to zero amps as the temperature increases from Thrsh Temp to Max Temp. 

Preview line shows measured voltage of auxiliary potentiometer input, the equivalent % full scale limit that this voltage corresponds to, and the limit value that is being scaled (amps, speed, watts etc.)

  1. Function: This determines the function of the auxiliary potentiometer input:
    1. Off: Voltage on the POT pin is ignored
    2. Limits: Voltage on the POT pin is used to scale one of the CA’s limit parameters
    3. Presets: Voltage on the POT pin is used to switch between the different mode presets, if mode presets are enabled. 
  2. Scale Lim: This option only shows up of “Limits” are selected as the function for the Aux Pot input. 
    1. Amps Lim: Voltage on the POT pin linearly scales the current limit, from 0 to Max Amps.
    2. Speed Lim: Voltage on the POT pin linearly scales the speed limit, from 0 to Max Speed.
    3. Power Lim: Voltage on the POT pin linearly scales the power limit, from 0 to Max Watts.
    4. PAS Level: Voltage on the POT pin linearly scales the proportional PAS assist, either your PAS Watts in AutoPAS mode, or your Assist Factor in TrqPAS Mode. 
  3. Min Aux In: This sets the lower range of the auxiliary potentiometer input. Any voltages less than this will be treated as zero.
  4. Max Aux In: This sets the upper range of the auxiliary potentiometer input, voltages higher than this will be treated as 100%.

Preview line shows the programmed value for RShunt in mOhms.

  1. Range: The CA can be configured in a Low range mode appropriate for ebikes, as well as a High range mode intended for electric cars, motorcycles, and other large EVs. 
    1. Lo (W): This mode is intended for systems with shunt sense resistors that are in the 1-9mOhm range. Current resolution is to 0.01A and power is shown in watts. 
    2. Hi (kW): The high range mode is intended for high current systems that have shunts which are in the 0.1-0.9 mOhm range. All power units are shown in kW instead of W, and the current resolution is 0.1A. As well, all of the current and power feedback calculations are also affected by the chosen range mode, so an AGain of 50 in low range mode would be equivalent to 500 in the high range.
  2. RShunt: The CA is only as accurate as the calibration value for the current sense shunt resistor. Most controllers with direct plug-in CA connectors have resistances in the 1.5-6 mOhm range, while the Stand Alone CA shunts are all exactly 1.00 mOhm. For high current shunts used in larger EV's, they will typically not rate the shunt resistance but instead show the current draw that causes a 50mV drop. So a 200A 50mV shunt has a resistance of 50mV/200A = 0.25mOhm. 
  3. Zero-Amps: Pressing the button here will take the present amperage readings as the “zero amps” reference. After holding the button, you will see two voltages on the screen which are the outputs of the two current amplifiers. They should both be around 2.5V.
  4. VScale: This is used to calibrate the voltage display. The factory calibration is about 31V/V. If you use an external voltage divider, you would set this to match the voltage scaling ratio.

Preview line shows number of mode presets (1, 2, or 3), and number of batteries (1 or 2) which are enabled. In use, you can change between the presets by pressing both buttons, right first to change the battery, and left first to change the mode.

  1. Preset Cnt:
    1. Only 1: Effectively disables mode presets.
    2. 1&2 En: Allows you to easily toggle between two distinct sets of CA limit, PAS, and throttle settings.
    3. 1,2&3: Allows you to setup and toggle between 3 distinct CA limit, PAS, and throttle settings.
  2. Preset #1 Name: Lets you select a name for the 1st CA preset. There are currently 14 possible names to choose from (Blank, Low, Medium, High, Economy, OffRoad, Unlmted, Legal, Pdl Ast, Trq Ast, Power, Current, and Speed). Assigning a name does NOT preload any particular set of limit values, so you will still need to manually input the various current, speed, power limits, throttle and PAS mappings that you want for each preset.
  3. Preset #2 Name: Lets you select a name for the 2nd CA preset. This option only shows up if you have at least two mode presets enabled.
  4. Preset #3 Name: Lets you select a name for the 3rd CA oreset. This option only shows up if you have all 3 mode presets enabled.
  5. Crnt Prset: Select which of the 3 possible presets is currently active. This screen only shows up if you have at least 2 mode presets enabled.
  6. Power On: Here you can select the behavior of the CA when it is turned off and on:
    1. Last Preset: The CA will boot up in the same preset it was in when it was powered down.
    2. Preset #1: The CA will always default to the first preset whenever it boots up. 
  7. Batteries?: Here you select whether battery presets are enabled as well. 
    1. Batt A only: Only one battery pack setup
    2. Batts A&B: Allows you to easily toggle between two different battery packs.

There is no preview line info in the final “Setup Preferences” setup group.

  1. Main Disp: Here you can choose if the primary display screen shows amps or watts on the lower left corner.
  2. Averaging: This controls the time period for display averaging of the voltage and power readings. A short value like 0.15 Sec will result in a screen shows nearly instant readings but can fluctuate too fast to process, while a long value like 1.2 seconds will be very steady but will lag in reacting to changes in power draw. .
  3. Data Rate: Allows you to select between a 1Hz or 5Hz data output rate for data logging. The 5Hz rate can show more interesting vehicle dynamics, but the file size on long trips can become quite large.
  4. Vshutdown: This is the threshold voltage at which the display shuts down and the CA powers off to save data. It should not be set lower than 10V or else data may not save correctly. If it is set to a higher value, then the message “Low V” will appear on the screen whenever voltages are lowDo not confuse this with the Vlt Cutoff for low voltage pack protection.
  5. Stop Scrns: This allows you to customize which of the 11 display screens shows up on the CA when the vehicle is stopped. Each screen is listed in sequence, with a ‘1’ indicating that it shows up, while a ‘0’ means that it will be skipped.
  6. Movn Scrns: This allows for an even smaller subset of screens to show up when you scroll through the CA’s display when the vehicle is in motion.

Software Setup Utility

Screen Capture of Cycle Analyst Setup Utility Program

All of the Cycle Analyst setup parameters can also be configured from your computer using the Setup Utility program. The latest release (V1.31) also has the firmware update utility and latest firmware available from the file menu so no need to download this separately, and is available for Windows, Linux, and MacOS

CA Setup Utility V1.31 for Windows
CA Setup Utility V1.31 for MacOS
CA Setup Utility V1.31 for Linux


Older versions are here for the record. Note that they all have a minor bug in that the display of PAS -> Dir Prlrty is reversed, so if it says 5V = Fwd in the setup software, it will write 5V = Rev in the CA's setup menu and visa versa.  

CA Setup Utility V1.3 for Windows
CA Setup Utility V1.3 for MacOS
CA Setup Utility V1.3 for Linux
CA Setup Utility V1.20 for Windows
CA Setup Utility V1.10 for Windows
CA Setup Utility V1.05 for Windows
CA Setup Utility V1.05 for Linux
CA Setup Utility for Mac OS

Additional information on using this setup utility can be found here on the CA3 Endless-Sphere Thread

Firmware and Programming

The CA firmware is updated via the communications port. The V1.3 and later CA Setup Utility has the firmware upload function built in, but if you want to use a stand alone program for this then you can download and uncompress the following and launch the file "CAFirmareUpdateTool.exe"

Download CA V3 Update Tool, V1.2

As well, you will need the programming cable to be recognized as a COM port on your computer. Windows XP and Windows 7 will both find the correct driver automatically if you enable it to search windows update, otherwise you can download and install the VCP (virtual com port) drivers from FTDI:

In order for the bootloader to work the Cycle Analyst must be externally powered up, it won't get power just from the programming cable alone. So either bring a laptop nearby to your ebike, or have a battery or other source at hand to turn on the CA.

To update the firmware, select the .hex file you want to load, select the serial COM port on your machine that is connected to the CA, and then hit the button "Update Firmware".

cycle analyst firmware uploader tool

At that point, the program will detect the CA automatically and start programming, or it will say "Please cycle power to the device" and it is waiting for the Cycle Analyst to be turned on. You have 30 seconds in which to turn on the device, and once that happens the Cycle Analyst will be detected and you will see a message showing the firmware upload progress, followed by a verify process, and finally an "Upload Complete!".

Note that certain systems have had trouble detecting the CA connection with the V1.1 and V1.2 firmware update tools which were simplified to a single button operation. In those cases, you can try using the original firmware tool from 2012 which required first pressing "detect device" and then afterwords "Flash Device!"

Download Old 2012 CA Update Tool,  (only if the V1.2 utility fails to detect device even after power cycling the CA)

The current firmware release is the stable V3.01 code.. This will work fine for any devices currently programmed with Beta16 or later firmware. If you have a way old unit with Beta15, then you will first need to use the “CalOverwrite” firmware option.

CA V3.01 Official Firmware Package May 2016 Current Release, use this. 

CA V3.0 Prelim13 Firmware Package Nov 2015, (Has Proportional Regen) - Note it is a .zip file, so uncompress it first.
CA V3.0 Prelim12 Firmware Package Nov 2015  
CA V3.0 Prelim10 Firmware Package July 2015 
CA V3.0 Prelim9 Hex File Feb 2015 
CA V3.0 Prelim6 Hex File May 2013

Bootload Patch V0.1 for CA3 devices that will occasionally fail to boot. (See this post)
CA3 P6 Firware with no eeprom for re-installing after running the bootload patch.

Cables and Connector Pinouts

The V3 CA has a bundle of additional wires coming out of it in addition to the normal 6-pin CA-DP plug. These are input plugs for different sensors and accessories, mostly terminated with female JST-SM connectors, and their pinout and description is in the diagram below:


V3 Cycle Analyst Connector Pinouts

Circuitboard Pad Descriptions

If anyone wants to do their own custom wiring harness directly into the Cycle Analyst, then the following diagram shows the solder pad location for each of the sensor inputs along with a description of each pad.

cycle analyst pad layout
Explanation of Top Row Accessory Pads

Throttle In (Thi): This is the input signal for the user throttle. It can accept signals in the range of 0-5V. When no throttle is attached, the signal will be pulled down to 0V.

Temperature Probe (NTC): This is the input for a temperature signal. The pad has a precision pull-up resistor to 5V, so it can be used with a simple 10K NTC thermistor between the pad and ground. Alternately, an actively driven signal from 0-5V (such as from an LM35 type IC) can be fed to this pad and scaled linearly into a temperature reading.

Auxiliary Input (Pot): The purpose of this input is to allow on-the-fly adjustments of one of the CA's limit values (ie the current limit, speed limit, or power limit), or for switching between different mode presets. That can be accomplished either via a potentiometer, or for discrete settings with a multi-position switch and resistor dividers. A 0-5V signal range is allowed, and it defaults to 5V if left disconnected.

Digital Ebrake (EBK): This input has an onboard pull-up to 5V to be used with an ebrake cutoff switch. When the signal is shorted to ground, the CA thinks that your brake levers are depressed and forces the CA's throttle output to 0V.

10V: This is an output pad specifically for supplying power to the THUN torque sensing bottom bracket. It can potentially be used as a low current power source by other PAS sensors too, however care must be taken as this supply is not fused or protected, and a short to ground will damage the CA. Current draw from this line should be limited to 15mA max and only with 48V or lower batteries.

Pedal Sensor Input (RPM): This is a digital input for a pedal cadence sensor. It has an onboard pull-up resistor, so it can work with an active hall effect device or a simple magnet and reed switch pickup.

Pedal Direction Input (Dir): This is used to distinguish between forwards and reverse pedal rotation for PAS sensors that provide this signal. It can support both a pure direction signal (eg 5V = fwd, 0V = reverse), or a quadrature type encoder such as on the THUN and TDCM sensors.

Torque Sensor (Trq): This is a 0-5V input for a torque signal. The human pedal torque can be measured either via a torque sensing bottom bracket (THUN, FAG, TDCM), or via a DIY tension meter on the bike chain itself. The torque signal here is multiplied by the calculated pedal RPM signal to derive the human power on the CA, and to provide proportional torque assist.

External Voltage Sense (Vex): The purpose of this pad is to allow for sensing high voltage batteries without the danger of bringing a high voltage line up to the Cycle Analyst. The external battery must be scaled down to a 0-5V range, and this will allow up to a 500V voltage display range on the CA (as determined by the V/V VSense value in calibration).

Serial Receive (Rx): This is a 0-5V TTL input signal for serial data communication into the CA used for reflashing the firmware.

Serial Transmit (Tx): This is the 0-5V TTL serial data transmission line. It outputs a steady stream of info (9600 baud, 8 bit) for datalogging purposes, and is also used by the bootloader to verify flash updates.

Explanation Standard CA-DP Pads

Negative Shunt Sense Lead (S-): Connects to battery side of shunt, must be within 0.5V of Gnd

Positive Shunt Sense Lead (S+): Connects to controller side of shunt, must be within 0.5V of Gnd

Throttle Over-ride Output (Thd): This is the same as the Throttle output (ThO) after passing through a diode. It is used for legacy V2 style CA connections where the CA is only used to pull down a separate throttle signal.

Throttle Output (ThO): This is the direct throttle signal from the CA, which can be connected directly to a controller throttle input line. The CA can drive this throttle output as a 0-5V analog range, or as 0-5mS pulses at 55Hz.

Speedo Pulse Input (Sp): Can be wired up with a reed switch and magnet speedometer sensor, or connected directly to one of the hall signals in a direct drive motor.

Battery Power (V+): This is the V+ supply of the battery pack, used both to power the CA and also to sense the battery voltage. The maximum supply voltage with no accessories is 150V, but this must be derated if there are other devices (Torque Sensor, Input Throttle etc) also drawing power from the CA.


Features Requests and Bug Reports

Please feel free to use the following form to submit any bug reports and/or feature requests, as the CA3 is an ongoing development project. 


Here is the current list of known bugs in the V3 Prelim6 code, as well as the features we are working on for the next release

Where to Order