Dynamic Controls Shark Bus Protocol Hacked! Arduino SharkBus Controller

The Backstory

A few months ago I was presented with an opportunity to buy a set of severely damaged mobility scooters. One of the tri-wheel type, and one of the zero turn type. The one we’re focusing on today is the zero-turn type. Upon initial examination it was clear that the previous owner had made some modifications to the system, and did not quite know what they were doing, but that is besides the point. After cleaning it up and replacing the batteries with two functioning ones, I was able to power up the mobility scooter and get it to drive around using the Dynamic Controls joystick.

Now I had a half destroyed mobility scooter, with two mismatching front wheels and the seat weathered so badly that it was pointless to try to restore this thing. I decided to do what any hacker would do; give damaged electronics new life in the form of something else! So this is where I came up with the brilliant idea of creating an autonomous self-navigating robot just for the heck of it. This blog post describes the first part of the process of building such a robot; getting it to move. Obviously I was at a point where I had existing hardware and didn’t want to spend much money on it.

The first thing I did was pop apart the original joystick controller. This alone didn’t tell me much. I figured worst case I could use an Arduino to manually control the forward/reverse/left/right inputs from the joystick in order to interface with the power controller. I was wrong. The joystick was an inductive joystick, and the microcontroller read the raw values directly, so tricking it was going to be more complicated than just trying to interface with the power controller directly.

We now arrive at the entire point of this post; controlling the power controller directly, with no tether to the original joystick. I started by seeing if anyone else had done this, at first glance, I found little information, some people had attempted this but given up. This was perfect, because I enjoy a challenge. Eventually I found a post over at wheelchairdriver.com from a user asking how he could control his wheelchair with an Arduino. The thread had 25 pages, which means some information was surely hidden in the thread. I read the entire thing, which was very unorganized and messy. This is where we are at now; a post intended to take all of the information gathered and organize it in one spot for future hackers to use.

Read more “Dynamic Controls Shark Bus Protocol Hacked! Arduino SharkBus Controller”