HillCruiser
Established
- Joined
- Jan 19, 2022
- Messages
- 82
I'm using a Cycle Analyst for PAS, the controller PAS was jerky.
The CA PAS is nice and smooth.
It uses a special PAS UP/DOWN toggle and is documented as:

I left the Grin 2-button toggle in place (connected to the digitalAUX)
and reproduced the circuit using a 4700ohm resistor, a Schottky diode
and relays instead of the switches.
Being all passive components, I was able to parallel it into digitalAux
and found the two worked fine together, either the Grin button or the
Arduino was able to increase and decrease the PAS level.
Here's the wiring:

Nice part of the CA PAS is it allows 20 PAS levels.
The Nano33 has a built-in accelerometer which ouputs Pitch and Roll.
The biggest hill around here is 20 degrees, so I scaled the motor
output of 1000w over the 20 degrees and then divided it into
the 20 levels of PAS, 50w per PAS step.
The Arduino reads the pitch, calculates the number of watts
and moves the PAS level up or down to ouput that wattage.
I did a trial run today and it worked good but required a little tuning.
Encouraged, I began working to interface into the PAS on the rear
motor (the above discussion was on the front).
The rear controller PAS worked good, so I didn't route it through its
Cycle Analyst. Measuring continuity on the rear PAS/UP down button
I found it much easier to interface. Both Up and Dn buttons had
separate wires that the switch took to ground.
So it was just a matter of adding two more relays to the Arduino
and a bit more programming.
Manipulating the PAS rather than the throttle just feels safer
Instead of grabbing for a brake to cut off the power, just quit pedaling
The CA PAS is nice and smooth.
It uses a special PAS UP/DOWN toggle and is documented as:

I left the Grin 2-button toggle in place (connected to the digitalAUX)
and reproduced the circuit using a 4700ohm resistor, a Schottky diode
and relays instead of the switches.
Being all passive components, I was able to parallel it into digitalAux
and found the two worked fine together, either the Grin button or the
Arduino was able to increase and decrease the PAS level.
Here's the wiring:

Nice part of the CA PAS is it allows 20 PAS levels.
The Nano33 has a built-in accelerometer which ouputs Pitch and Roll.
The biggest hill around here is 20 degrees, so I scaled the motor
output of 1000w over the 20 degrees and then divided it into
the 20 levels of PAS, 50w per PAS step.
The Arduino reads the pitch, calculates the number of watts
and moves the PAS level up or down to ouput that wattage.
I did a trial run today and it worked good but required a little tuning.
Encouraged, I began working to interface into the PAS on the rear
motor (the above discussion was on the front).
The rear controller PAS worked good, so I didn't route it through its
Cycle Analyst. Measuring continuity on the rear PAS/UP down button
I found it much easier to interface. Both Up and Dn buttons had
separate wires that the switch took to ground.
So it was just a matter of adding two more relays to the Arduino
and a bit more programming.
Manipulating the PAS rather than the throttle just feels safer
Instead of grabbing for a brake to cut off the power, just quit pedaling
Last edited: