• Hello ES! We could use some help to get us past the finish line on building the new knowledgebase for the forum.
    Can you donate? Please see our fundraising page. Thank you!

Bionx Throttle Mod Question

tofublock

🧲 New user
Joined
Feb 20, 2015
Messages
2
Hi,
I have access to a BionX kit with a G2 Console and a remote throttle switch, all fitted to a handbike. The owner of the bike is physically impaired and therefore unable to press the button while riding although this would really help him riding more easily and independently.
I'm trying to build a switch for him that mimics the behavior of the BionX throttle.
Sadly, BionX didn't even care to respond when I asked them for help with this project.

What I have found out so far:
There's a hall effect sensor and a magnet that generate the signal (looks like a kind of PWM) to the controller. The "low" part of the signal gets stretched out the more the throttle is pressed. My best guess is, that the controller measures the "low" time when the switch is not pressed and when it is fully pressed and derives a relative position of the switch from that (for example, signal goes low periodically for 2.5ms equals not pressed, signal goes low periodically for 4ms equals halfway pressed).
The + and - buttons add another low level shortly after the "throttle pattern" when pressed.
My plan is to use a microcontroller to switch the signal according to this pattern.

My questions:
I searched this and other forums but didn't find anything similar. Has anyone done something like this before?
Does anyone know more about those throttles and can help me understand the electrical characteristics of them?

Thanks,
Tobias
 
A switch instead of a button for a throttle sounds dangerous.

I am totally unfamiliar with the setup that you have, but it sounds like the familiar RC servo-tester setup used by folks who use RC controllers to drive their motors. If so, you could search about in ES for 'servo tester' or similar. Basically, you would provide a voltage to the unit (as from a pot (0-5V) or normal ebike throttle (1V-4V)) and the tester would chug out the PWM to the controller.

Frankly, you might instead consider getting a CA V3 and a PAS sensor. The V3 will do all the usual battery health, speed, odometer stuff, but will also replace the voltage-to-PWM of the servo tester. Importantly - it will give you hand-PAS as well with adjustable assist which goes directly to the throttle question - you largely won't need it - assist will vary according to operator force and handle rpm.

This v3-PAS-handbike has been done here before on ES with good success - your PWM thing is just a configuration setting for the V3 vs normal voltage output.

Contact the guys at ebikes.ca for more details on the Cycle Analyst V3 in this situation and download the Unofficial Guide here.
 
Another option would be use an older Crystalyte cruise control module with a servo tester (or the existing button). To use the present throttle - assuming the existing throttle arrangement uses a conventional hall setup with a 1-4V output directly from the hall, the cruise module would hook to the hall output, the hall power leads (Gnd, +5V), and would get a new ebrake input.


This would allow the operator to adjust the throttle up/down and hitting the brakes would kill the power immediately. If necessary, the up/down speed adjusts might be replaced with larger paddle switches to ease operation.

Lyen sells these for $19 and the unit can be easily adapted to drive a servo tester. You would need to either swap out the brake levers for ebrake levers or get a 'hidden wire brake sensor' that attaches inline with a brake cable.

Anyhow, for a few bucks, this would be an inexpensive experiment.... :D
 
Thanks for your help! I'll look into the things you suggested.
So far, I'm still a bit puzzled with the circuitry of the throttle. Two wires into it, two wires out, pairwise soldered to the PCB and apparently altering the supply voltage going into it - weird. ;)
I'll see if the RC setups are anything like this.

Oh and by the way, I'm entirely too liberal in interchanging the terms switch and button.
Of course it's a button I want, but strapped to the chest and operable with the chin.
Thanks again!
 
Well, it's a decade later, but I solved adding a custom throttle to a Bionx G2 display. The little red button on the G2 throttle was giving my thumb cramps. This thread popped up in my searches a couple times, so I'll put an update here for anyone else who finds it.

Components needed:
1) custom throttle, preferably potentiometer based instead of hall sensor based so you can wire it backwards
2) CycleAnalyst
3) 100 ohm resistor
4) a MOSFET, I used 2N7000

Steps:
1) Connect throttle, battery positive, and battery negative to the CycleAnalyst, program the CycleAnalyst to output a PWM throttle signal with a minimum pulse length of 0.2ms and maximum of 0.4ms. This basically outputs 4.6V during the pulse and 0V otherwise.
2) Connect throttle out from the CycleAnalyst to the gate pin of the MOSFET. This will turn the FET on whenever the CycleAnalyst pulse is 4.6V.
3) Cut the wire from the G2 display to the G2 throttle or unplug the G2 throttle and plug in a DC barrel jack pigtail instead
4) Connect the tip of the DC barrel jack to the resistor
5) Connect the resistor to the drain of the MOSFET
6) Connect the sleeve of the DC barrel jack to the source of the MOSFET. Now whenever the MOSFET is on (CycleAnalyst pulse is high) the Bionx 4.6V on that barrel jack gets pulled down to 4.5V. We can't pull it all the way down to ground because Bionx treats that as the brake being active and starts regen braking.

Circuit:
PXL_20260822_201250088.jpgScreenshot_20260822-190045.png

Unfortunately, the throttle action is reversed since Bionx uses a shorter pulse to indicate higher throttle. You can see partial throttle running my wheel here and full throttle stopping it:
PXL_20260822_201238474.jpgPXL_20260822_201228573.jpg

Not really an issue for a potentiometer, though. With this slider, for example, the max position stops the wheel while the min position runs it:
PXL_20260822_235247580.jpg

It does mean you can't use the CycleAnalyst to attach a PAS, though, unfortunately. There are some off the shelf reverser modules for servo signals, but they usually expect the pulse length to be longer and reverse the signal based on the center of that. So I don't think they'd work. Some have a pot for adjusting what they consider the midpoint pulse length to reverse the signal around, but I'm not sure the pot would have enough turns to reach the super short pulse lengths Bionx uses.

The Bionx code is hardcoded to quite small values:
#define THROTTLE_PULSE_MAX_VALUE 636 //us
#define THROTTLE_PULSE_MIN_VALUE 195 //us
So even if you recalibrate the throttle ranges in the G2 display after, I didn't think you can get it to accept standard servo control pulse lengths.
 
Back
Top