![]() |
The BMW R1200GS motorcycle |
Kobus has been creative enough to overcome all the obstacles to riding so that he can really enjoy his passion. He has modified the left handle bar so that a prosthesis (which he makes himself) can attach to it, and moved the clutch to the right handle bar.
![]() | ![]() |
Modified left handle bar | Modified right handle bar |
So the next problem he needed to address was the riders controls, such as the indicators and horn. Here are some stock photos of the right and left handle bar controls for the R1200GS from BMW (the bike Kobus rides).
![]() | ![]() |
Left hand controls | Right hand controls |
As you can see the left indictor, horn, brights/dim, ABS and Trip function buttons are all situated on the left handle bar, making them difficult for Kobus to access while riding (and slightly dangerous too!) - and that is where I come into the picture.
The first thing that I needed to do was analyse what the constraints of the motor bike were so that that I could decide on a plan of attack.
Kobus did his research when he went about choosing which motor bike to buy. The electrical system R1200GS runs on a CAN bus and there is a controller that performs all the functions. This means that it is relatively easy to achieve the required actions by stimulating the inputs of the controller, or in other words, we can trick the controller into thinking that one of the rider controls has been pushed.
The next step was to decide on how Kobus interfaced with the system - in the end we decided to do it like this,
Sequence | Action |
Right indicator: single click | Right indicator |
Right indicator: double click | Left indicator |
Right indicator: push and hold | Horn (until released) |
Indicator cancel: single click | Brights/dim toggle |
In retrospect we made a mistake by not keeping the indicator cancel as its normal function and then using a double click for the brights/dim toggle. The indicator cancel has an auto cancellation, but it only occurs after a certain distance which can sometimes cause confusion when driving in urban areas. Other than that small oversight the controls turned out to work quite well with this method.
From there on it was all implementation, construction, and debugging.
I managed to find the wiring diagrams r1200gs.info. The switch configuration is relatively simple as each switch simply pulls one of the controller inputs down to ground to activate its function. The final solution was a simple microcontroller to time the inputs from the right hand controls and to switch the controller outputs based on the depression sequence of the controls. I had some trouble with the microcontroller acting a bit erratically when the motor bike was on, but that was solved by making the code more robust to erroneous inputs.
Kobus had this to say about the final system,
"Hi Duncan,
Just a word of thanks for the construction and programming of the control unit for my bike. It makes a world of difference being able to control my electrical systems by one hand. The upgrade made all the difference and the feel of the controls is excellent.
Again, thanks for some fantastic service.
- Kobus"
![]() |
Kobus taking a ride |
I hope that this brief description of a simple project will give you some more insight into what I do (and can do), and how I go about approaching it. I really want the things that I create to serve their user, not the other way around.
Creating simple interfaces and building a better life for my users is the most important aspect of my designs. I hope that I'll be able to do that for you some time soon.
Thanks to Kobus for the photos of his bike, H Marc Lewis for providing the great website r1200gs.info and Hex Microsystems (check out their GS-911 diagnostic tool for BMW motorcycles)