In easy terms, a controller is the brain of the drivetrain.
It gets the inputs (from the torque sensor, motor, battery) and computes what the output is (current drawn on the battery and sent to the motor).
Our controllers are made by ASi, a Canadian company that manufactures their controller in China. The controller is called a sine wave controller (which is quieter than a square wave controller). It has 3 different layers:
Hardware (the electrical components)
Firmware (the software on the controller)
Parameters (to adapt the firmware to different uses)
At Cowboy level, we play with the parameters to achieve our ride feeling.
Before sending current to the motor and drawing current from the battery, the controller does a few checks to make sure everything is OK. Each bit error stems from a test that has failed. If that’s the case, the controller does not give any current. While the controller is running, it is checking some parameters to make sure they are consistent, if not, then a bit warning is raised. This does not affect the assistance, unless the inconsistency is such that it affects ride feeling.
So bit errors and warnings are not defined by Cowboy but rather by ASi (the controller as a way to protect the controller and the user, to make sure when something is wrong, the controller does not work.
Note that there are two types of BIT errors:
Faults (a red warning sign in our back-end)
Warnings (a green warning sign in our back-end)
Faults (red) are usually more serious than warnings, and (nearly) all lead to assistance failures.
Warnings can sometimes be pretty minor and get discarded during the diagnosis of an assistance failure (e.g. BIT 3 warning, BIT 8 warning are not very relevant for us).
There is a red LED on the controller which customers sometimes notice.
The led is turned on but doesn't blink when the controller is activated and is in nominal/all ok state. It start blinking when a fault/warning occurs. The blinking pattern, i.e. the number of blinking between each blinking pause, gives info about the error(s). It will repeat such pattern indefinitely, consecutively blinking each error blinking identifier.
This means that it's basically redundant with the information in the back-end, so we can mostly discard this in our investigation process.
On Cowboy 4, we don't use the speed sensor anymore to determine how the assistance works, since we have a cadence sensor in the BB now:
C2/3: assistance works with speed sensor + torque sensor
C4: assistance works with cadence sensor + torque sensor. Speed sensor used to display the speed in the app.
Faulty speed sensors can still happen on C4, yet the symptoms will be different than on C2/3:
Possible symptom 1: speed staying at 0 while riding + no trip distance in the Trips History. Assistance should not be impacted (again, we don't use the speed sensor for the ride feeling anymore)
Possible symptom 2: weird behavior when decelerating then accelerating, or no assistance at all (on first produced bikes). This is linked to a wire touching the motor housing, damaging the insulation then damaging hall sensors and/or the speed sensor.
The solution for both models is to replace the rear wheel.
The torque sensor on the Cowboy 4 is back in the bottom bracket, like on Cowboy 1(+).
If too tight (can happen during a repair): brake tension very difficult to adjust (since it prevents the BB from rotating).
If too loose (or getting loose over time): squeaking noise coming from the bottom bracket. To address this: no need to remove the rear wheel or the powerpack, a CMS partner can remove the front sprocket, remove the 2 screws on the drive side, put Loctite on them and tighten to the correct torque.
The current torque on these screws should be 8Nm. This should be high enough so that CMS partners have an adequate torque wrench to tighten to the correct torque. We should also double check that the BB can be rotated before reinstalling everything.
We are aware of one potential issue: a short assistance cut in case of very high load on the torque sensor (eg. when starting from standstill, on a hill), linked to the torque sensor "resetting".
This is present on all bikes, some are more sensitive than others. We are checking for this at the EOL to filter out the very sensitive bikes. As long as the assistance cut is very short, nothing to do about it.
Strong cases can be seen in a trip recording that Cowboy can analyse in our back-end: Going from high torque to idle value very quickly, when starting, linked to the torque sensor resetting.
In case of a light case: nothing to do, just explain where it comes from.
In case of a strong case (assistance cut for a few seconds): replace the controller (& move the wires in the process).
Models Impacted: all, in particular Cowboy 2 + Cowboy 3
Symptom: No assistance + BIT 7 error in the back-end, that won't go away by unplugging/drying the motor cable.
Not to be confused with:
Engine Main Cable - Assistance Failure Due to Unplugged/Humidity in Cable: BIT 5; BIT 7: to be used if the problem goes away by drying and reconnecting the motor cable.
This tag should only be used if a controller replacement is needed due to a BIT 7 error
Root cause: Faulty controller, maybe linked to humidity in the cable that we can't get rid off by drying the connections.
Countermeasure: Replace the controller.
If the issue persists, it's likely because the BIT 7 comes from humidity in the cable after all, probably on the rear wheel side. In that case, replace the rear wheel of the customer (use the tag "Engine Main Cable - Damaged Engine Main Cable (ex: BIT 5"))
Models Impacted: all, in particular Cowboy 4
Symptom: On C4, assistance stops when riding 15+ km/h, 1-5 min after the beginning of the trip. Assistance comes back after locking/unlocking the bike, but fails again after a few hundred meters.
Root cause/meaning: the controller detects an over current and locks itself for protection. Our current theory is that certain controllers are more sensitive to this behaviour than others, due to differences in the manufacturing process. We are taking steps to avoid that controllers at risk of presenting this behaviour don't reach customers.
Countermeasure: Replace the controller
Preferred interaction: CMS or IBD
Models Impacted: Cowboy 2 + Cowboy 3
Symptom: No assistance, no bit errors.
How to diagnose?
Wheel does not spin (or spins very slowly) during the motor discovery section of a full diagnostic.
One of the hardest issues to diagnose! Make sure the issue does not come from another component, e.g. battery, torque sensor/torque cable, converter board on C1+.
Not to be confused with:
Torque Cable - Broken / Disconnected / Humid Torque Cable (ex: BIT 11)
Torque Sensor - Faulty Torque Sensor (Too much Assistance or No Assistance)
Other controller-related tags
Root cause: faulty controller, probably.
Countermeasure: If confirmed by a full diagnostic where the wheel doesn't spin during the motor discovery: replace controller.
Models Impacted: all
Symptom: No assistance + "Modbus down" on trips with assistance failure in our back-end or in the backoffice app
Root cause/meaning: Modbus is the communication protocol (i.e. the 'language') used by the bike's components (PCB, controller, battery, converter board on 1+) to communicate with each other. "Modbus down" means that there is a loss of communication somewhere... which makes this issue particularly difficult to diagnose, since we don't know exactly which component pulled the modbus down.
(Note: we tag this as a "PCB" tag, but usually the PCB's role is only to "flag" that the modbus is down. This does not necessarily mean that the PCB is the source of the issue).
Countermeasure: As explained above, this issue can be caused by many components and it isn't easy to find out which one.
On Cowboy 2/3:
Step 0: treat other problems first (e.g. are there any BIT errors? signs of poor battery docking?). We have seen that battery micro-disconnection issues are a likely cause for modbus down, so it's worth testing with eg. zip ties to check if the issue is gone and/or check for burn marks around the connectors.
Step 1: test with another battery - Install a spacer if we tend to detect that the problem could come from the docking.
Step 2 (if problem persists): try with another PCB
Step 3 (if problem persists): try with another controller.
Step 4 (if problem persists): probably a wiring issue, bike to be exchanged.
On Cowboy 1+:
We know from experience that the communication between the controller and the converter board is particularly fragile. Problem is usually linked to a converter board and/or controller failure, and/or a bad wiring between the two.
Still worth it to try a bike reset.